XML Socket Multiuser Server - eClever
Skip Navigation Links
  11.02.2008 byla vydána nová verze - eClever 2.8.0.
  28.03.2008 byla vydána nová verze - Flash API AS2 2.8.2.
  04.08.2007 byl vydán nový pluginXLS 1.2.0.

 
Skip Navigation LinksXTRA > • Ecs XTRA pro práci s XLS soubory
Ecs XTRA pluginXLS pro XML Socket Multiuser Server - eClever  

Ke stažení

pluginXLS (400 kB)

Popis
Knihovna pluginXLS slouží k práci se soubory Microsoft Excel v produktu XML Socket Multiuser Server - eClever. Při práci s xls soubory vůbec nemusíte mít na počítači, na kterém běží XML Socket Multiuser Server - eClever, nainstalován Microsoft Excel, Microsoft Jet Provider ani další programy. XTRA pluginXLS pracuje zcela autonomně a umožní Vám v produktech, jako je např. Flash, Flex, Director, Authorware atd., pracovat se vzdálenými XLS soubory.

Historie

04.08.2007 Verze 1.2.0 Byla upravena práce s parametrem file v souboru pluginXLS.ecs.config.
07.06.2007 Verze 1.1.0 Soubor pluginXLS.config byl přejmenován na pluginXLS.ecs.config
03.04.2007   Verze 1.0.0   Vytvoření XTRA

Demoverze
K dispozici je plně funkční demonstrační verze, která však pracuje pouze 2 minuty. Poté je nutné restartovat XML Socket Multiuser Server - eClever.

Instalace
1. Soubory pluginXLS.ecs a pluginXLS.ecs.config musíte nakopírovat do složky XTRAS, která musí být v rootu XML Socket Multiuser Serveru - eClever.
2. V souboru eClever.config musíte v sekci XTRAS povolit používání pluginXLS, např.

<xtras>
<xtra name="testXLS" file="pluginXLS.ecs"/>
</xtras>

3. V souboru eClever.config musíte v sekci domain povolit používání pluginXLS.ecs, např.

<domain name="demo1" password="pass1" xtras="testXLS" maxUsers="0" ...

4. Musíte vyplnit konfigurační soubor. Konfigurační soubor pluginXLS.ecs.config má tvar

<xtra>
<licence name="dmm" code="xls"/>
<data file="d:\abc.xls">
<read domains="domA#domB" rooms="roomA#roomB" nickNames="nameA#nameB"/> <write domains="domC#domD" rooms="roomC#roomD" nickNames="nameC#nameD"/> </data>
</xtra>

Sekce licence
Pokud není zadáno správné jméno a kód, můžete s XTRA pracovat pouze 2 minuty. Po této době přestane XTRA pracovat.

Sekce data
File je xls soubor, včetně cesty k tomuto souboru. Pokud není zadána úplná cesta k xls souboru, např. c:\abc.xls, vezme se jako root adresář xtras.
Příklad:
Pro zadání: file="abc.xls" musí být soubor abc.xls umístěn v adresáři xtras.
Pro zadání: file="test\abc.xls" musí být soubor abc.xls umístěn v adresáři xtras\test.

V sekcích "read" a "write" zadáváte, kdo má práva xls soubor využívat. Práva můžete zadávat buď na úrovni domain, room nebo nickName. Práva můžete přidělovat zvlášť pro čtení a zvlášť pro zápis. Sekce "read" nebo "write" může vždy obsahovat pouze jeden atribut z domains, rooms nebo nickName. Jednotlivé domain, room nebo nickName musíte zadávat oddělené znakem # a může jich být libovolný počet.

Pozn. Pokud budou v pluginXLS.ecs.config v "read" nebo "write" zadány všechny atributy, budou se vyhodnocovat v pořadí domains, rooms nebo nickName. Tzn. uplatní se pouze atribut domains. Pokud budou zadány atributy rooms a nickName, uplatní se pouze atribut rooms.

Příklad 1.
Chcete-li povolit používání XTRA pouze uživatelům, kteří jsou přihlášeni do domain domA a domB, a budou pouze číst, pak sekce "read" bude zadána ve tvaru

<read domains="domA#domB">

Příklad 2.
Chcete-li povolit používání XTRA pouze uživatelům, kteří jsou přihlášeni do room roomC a roomD, a budou pouze zapisovat, pak sekce "write" bude zadána ve tvaru

<write rooms="roomC#roomD">

Příklad 3.
Chcete-li povolit používání XTRA pouze uživatelům, kteří jsou přihlášeni pod jmény nameA a nameB, a budou číst i zapisovat, budou sekce "read" a "write" zadány ve tvaru

<read nickNames="nameA#nameB"/>
<write nickNames="nameA#nameB"/>

Pozn. Pokud chcete používat více souborů xls v XML Socket Multiuser Serveru - eClever, stačí vytvořit kopie pluginXLS.ecs a pluginXLS.ecs.config. Pojmenujte je např. pluginXLS_2.ecs a pluginXLS_2.ecs.config (prvni část názvu musí být identická). V pluginXLS_2.ecs.config si definujte jiný xls soubor a můžete začít pracovat. Samozřejmě musíte nové Xtra povolit v eClever.config a v sekcích socket-server/xtras a domain.

Jak XTRA pluginXLS pracuje?
a) Klient musí na XML Socket Multiuser Server - eClever odeslat XML dotaz ve tvaru: 

<protocol>
     <xtra sid="10">
           <data name="testXLS" function="functionA">
               <request> ..... </request>
           </data>
     </xtra>
</protocol>

kde "name" je název XTRA, který je zadán v eClever.config v sekci socket-server/xtras. V atributu function musíte zadat jméno funkce, kterou chcete volat. V sekci request , zadáte požadované parametry, které se budou lišit u jednotlivých funkcí, kde budou také vysvětleny.

b) XML Socket Multiuser Server - eClever odpoví klientovi zprávou ve tvaru

<protocol>
     <response action="xtra" errorCode="0" sid="10"/>
          <data name="testXLS" function="functionA">
               <result state="ok"> ..... <result>
           </data>
</protocol>

V sekci result jsou vrácené požadované hodnoty.

V případě, že během práce s XTRA došlo k chybě, je odpověď serveru klientovi ve tvaru

<protocol>
     <response action="xtra" errorCode="0" sid="10"/>
          <data name="testXLS" function="functionA">
                <result state="error"> <error>Error in xml</error></result>
         </data>
</protocol>

Pozn. errorCode="0" znamená, že XML Socket Multiuser Server - eClever pracoval s XTRA pluginXLS.ecs bez chyby, ale status="error" znamená, že došlo k vnitřní chybě v XTRA pluginXLS.ecs.

Čtení dat z xls souboru - getCellValueRef

XML dotaz odeslaný klientem na server

<protocol>
     <xtra sid="10">
          <data name="testXLS" function="getCellValueRef">
               <request>
                     <xls sheet="1" cell="A1"/>
                     <xls sheet="1" cell="B8"/>
               </request>
          </data>
     </xtra>
</protocol>

Sheet je číslo sheetu v xls souboru, se kterým chcete pracovat.
Cell je buňka, ze které chcete číst hodnoty.

XML odpověď serveru klientovi

<protocol>
     <response action="xtra" errorCode="0" sid="10"/>
     <data name="testXLS" function="getCellValueRef">
           <result state="ok">
                <xls sheet="1" cell="A1"><![CDATA[value1]]></xls>
                <xls sheet="1" cell="B8"><![CDATA[value2]]></xls>
           <result>
     </data>
</protocol>

 
  © Studio dmm 1992-2008, všechna práva vyhrazena, další informace: software@dmm.cz