Možnost propojení cloudového úložiště Google Disk s aplikací TeXonWeb Bc. Václav Telenský, Ing. Jan Přichystal, Ph.D., Ústav informatiky, Provozně ekonomická fakulta, Mendelova univerzita v Brně, vaclav.telensky@seznam.cz, jan.prichystal@mendelu.cz Abstrakt Práce se věnuje popisu možnosti propojení cloudového úložiště Google Disk s aplikací TeXonWeb. Propojení umožňuje ukládat vytvářené zdrojové soubory do externího úložiště, čímž je uživateli zajištěno využití všech výhod, které aplikace Google Disk nabízí. Propojení obou aplikací je realizováno pomocí API, které umožňuje jejich komunikaci. Klientská aplikace integrovaná do TeXonWeb je vytvořena pomocí technologií Javascript, HTML a CSS. Klíčová slova API, Javascript, TeXonWeb, Google Disk, Cloudová úložiště, Autentizace Abstract This paper describes the possibility of interconnection between the cloud storage Google Disk and web application TeXonWeb. The interconnection allows storing of created source files into an external storage so the utilizing of all the advantages offered by the Google Drive is ensured. The interconnection of both applications is realized by API, which allows their communication. The client application integrated into TeXonWeb is developed by using Javascript, HTML and CSS technologies. Key Words API, Javascript, TeXonWeb, Google Disk, Cloud storages, Authentication Úvod TeXonWeb je uživatelské rozhraní umožňující práci s DTP systémem TeX a jeho nadstavbou LaTeX. Aplikace je využívána při výuce předmětu Zpracování textů na počítači na Provozně ekonomické fakultě Mendelovy univerzity v Brně. Aplikace není dostupná pouze pro studenty, ale může ji využívat i široká veřejnost.
Pro některé uživatele může být těžkým úkolem již samotná instalace desktopového řešení DTP systému. Proto je aplikace TeXonWeb možností jak rychle a efektivně vytvořit kvalitní dokument. Pro vytváření dokumentů pomocí zmíněných DTP systémů je nutné poskytnout jako vstup zdrojový soubor obsahující text dokumentu označkovaný pomocí speciálních značek. Výstupem je potom PDF dokument. Značky a jejich použití jsou definovány uvnitř DTP systému. Pro vytváření zdrojových souborů je nutné, aby uživatel disponoval určitou znalostí používání speciálních značek. Avšak tuto potřebu aplikace TeXonWeb odbourává. V aplikaci je možné použít intuitivní uživatelské rozhraní, které značky přímo vkládá do vytvářeného dokumentu. S vytvářením rozsáhlejšího dokumentu přichází potřeba ukládání zdrojového souboru na určitém místě. TeXonWeb tuto možnost poskytuje spolu s uživatelským rozhraním pro správu vytvořených souborů. S příchodem cloudových úložišť se otevírají nové možnosti, umožňující ukládat soubory na jiném místě než je samotný server, na kterém aplikace běží. To přináší novou příležitost pro vylepšení stávajícího způsobu uchovávání zdrojových souborů. Cíl a metodika Cílem práce je vysvětlit možnost propojení aplikace TeXonWeb s externím úložištěm Google Disk. Řešení umožňující propojení TeXonWeb s Google Disk je v aplikaci již integrováno. Komunikace s Google Disk je realizována pomocí API. API neboli Application Programming Interface je sada procedur, funkcí a tříd, které má programátor k dispozici pro vývoj aplikací. Google Drive API je velice obsáhle zdokumentováno a nabízí velké množství metod, které lze v aplikacích využít. Výběr programovacích jazyků je na rozdíl od jiných rozhraní velmi široký a výjimkou nejsou ani jazyky pro vývoj mobilních aplikací. (GOOGLE DEVELOPERS, 2012) K propojení TeXonWeb a Google Disk je použito API psané v jazyce Javascript. Stejným jazykem je napsáno celé uživatelské rozhraní aplikace. Navíc je také využita knihovna JQuery, která je na jazyce Javascript postavena. Před zahájením komunikace s Google Disk API dochází k procesu určité autentizace. Tento proces je zajištěn pomocí protokolu OAuth verze 2.0. Předtím, než vůbec může dojít k zahájení autentizačního procesu, musí být aplikace zaregistrována v Google APIs Console. Tato aplikace je určená pro správu projektů, které využívají přístupu k požadovaným API. Během autentizačního procesu aplikace žádá o získání přístupového klíče. V okamžiku, kdy je získán přístupový klíč, je po uživateli vyžadováno přihlášení ke službě Google Disk, aby se
zajistilo povolení pro práci s daty. Každý přístupový klíč je časově omezen. To způsobuje, že je nutné, aby aplikace přistupovala k API v delších časových rozmezích, pokud se tak nestane, je nutné získat nový přístupový klíč. Pomocí API je možné provádět všechny operace, které uživatel může normálně v aplikaci Google Disk vykonávat. Příkladem takové operace pak může být vytvoření nového souboru, aktualizace, přesunutí, kopírování nebo získání seznamu souborů, které se nacházejí v určité složce. V tabulce níže je možné vidět přehled použitých metod pro komunikaci. Tabulka 1 metody přístupu k souborům pomocí Google Drive API (GOOGLE DEVELOPERS, 2012) Metoda Popis Get získává metadata souboru pomocí jeho ID Insert vytváří nový soubor Patch aktualizuje metadata souboru Update aktualizuje metadata souboru nebo jeho obsahu Copy vytvoří kopii specifikovaného souboru Delete natrvalo vymaže soubor podle jeho ID List vytvoří seznam souborů ve složce Touch nastaví čas poslední změny na aktuální Trash přesune soubor do koše Untrash obnoví soubor z koše Vlastní aplikace umožňující komunikaci s externím úložištěm je integrována v nově navrženém správci souborů, který je realizován pomocí dialogového okna knihovny JQuery. Správce souborů umožňuje přepínat libovolně mezi interním úložištěm TeXonWeb a externím úložištěm Google Disk. Po přepnutí na Google Disk se žádné soubory nestahují na server TeXonWeb, ale je s nimi vždy manipulováno v rámci vybraného úložiště. Výsledky Aktuálně je možné na externím uložišti provádět téměř všechny úkony, které jsou povoleny v rámci interního úložiště. Výjimku však tvoří změna kódování souboru, kterou není možné prostřednictvím API provádět. Také není možné přímo kopírovat soubory mezi jednotlivými uložišti prostřednictvím správce souborů.
V dialogovém okně došlo k několika vylepšením. Tlačítkům pro práci se soubory byly přidány nové ikony znázorňující prováděný úkon. Zároveň byly přesunuty do vrchní části dialogového okna. Tlačítka pro nahrávání souborů na server a vytváření nové složky byla odstraněna a nahrazena novými ikonami. Což dle mého názoru zlepšuje intuitivní použití aplikace. Přidána byla také nová funkcionalita, zobrazující aktuálně vybraný soubor ze seznamu všech souborů. Změny se také dočkal systém vybírání a otevírání souborů. Po kliknutí na název souboru je soubor rovnou otevřen. Pokud chce uživatel pouze vybrat položku ze seznamu souborů, je nutné, aby kliknul jinam než na jméno souboru. Dalším vylepšením je přidání funkcionality, která umožňuje vyvolávat kontextovou nabídku, obsahující veškeré dostupné úkony pro práci se soubory. Kontextovou nabídku je možné vyvolat pravým kliknutím na položku seznamu souborů. Funkcionalita je převzata z většiny operačních systémů. Obrázek 1 Dialogové okno nového správce souborů
Diskuse Google Disk není jediným cloudovým úložištěm, které je možné s TeXonWeb propojit. K dispozici jsou i alternativní možnosti. Každá z těchto možností nabízí své výhody i nevýhody. Pro porovnání jednotlivých uložišť je dobré sledovat parametry, které jsou zobrazeny v následující tabulce. Mezi ostatní cloudová úložiště můžeme zařadit Dropbox, SkyDrive, Box nebo Capsa.cz. Tabulka 2 Shrnutí základních parametrů úložiště Google Drive (Kvapil, 2012) Parametr Hodnota Volný prostor zdarma Maximální velikost souboru Rychlost datového přenosu (download, upload) Česká lokalizace API 5 GB 100 GB 1000 kb/s, 600 kb/s ano Java,.NET, PHP, Python, Ruby, JavaScript, Go, Objective-C Výhodou implementovaného řešení je praktický přínos, který umožňuje přístup k nahraným souborům v externím uložišti. Je možné tedy upravovat dokumenty přímo z aplikace TeXonWeb a tyto změny následně odesílat přímo do úložiště. Dále pak možnost sdílení vytvořených dokumentů s ostatními uživateli Google Disk. Nepřímou výhodou ukládání zdrojových souborů na externí úložiště je ušetření místa na serveru, na kterém TeXonWeb běží. Celková ušetřená velikost pro jednoho uživatele není nijak závratná, avšak při využití možnosti ukládání na externí úložiště více uživateli může být tato hodnota vyšší. Mezi nevýhody využití cloudového úložiště patří nemožnost jisté garance bezpečnosti citlivých dokumentů. Tato nevýhoda vyplývá z podstaty použití cloudu obecně. Dále je možné zaznamenat pomalejší rychlost načítání dat z úložiště. To je v našem případě největší nevýhodou implementovaného řešení. Závěr Přidáním nové funkcionality umožňující propojení externího úložiště s aplikací TeXonWeb získává celá aplikace novou přidanou hodnotu. Z ekonomického pohledu je tedy nesmírně důležité, aby se aplikace stále vyvíjela, a tedy nabízela uživatelům nové možnosti použití.
S příchodem cloudových služeb se dá očekávat, že mnoho webových aplikací na internetu začne nějakou službu využívat prostřednictví API. Proto je integrace využívání externího cloudového úložiště dobrým krokem vpřed v současném trendu vývoje webových aplikací. Implementované řešení je zatím možné využívat pouze ve vývojové části TeXonWeb, která není běžným uživatelům dostupná. Do budoucna je možné přidání některých alternativních cloudových uložišť. Literatura JQUERY.COM. Write less, do more: JavaScript Librarry [online]. 2012 [cit. 2012-10-26]. Dostupné z: www.jquery.com GOOGLE DEVELOPERS. Inspiring developers everywhere [online].2012 [cit. 2012-10-26]. Dostupné z: https://developers.google.com VAVRUŠA, Jan. Možnosti správy souborů v prostředí aplikace TeXonWeb. Brno, 2013. Bakalářská práce. Mendelova univerzita v Brně. KVAPIL, R. Bezplatná cloudová datová úložiště a jejich využití při výuce na VOŠIS. Praha, 2012. Bakalářská práce. Vysoká škola ekonomická v Praze. PŘICHYSTAL, J. RYBIČKA, J. Webové rozhraní pro sazbu dokumentů. In OLŠÁK, P. SLT 2004 sborník semináře o Linuxu a TeXu. 1. Vyd. Brno: Konvoj, CSTUG, CZLUG, 2004, s 73 78. ISBN 80-7302-068-8.