EGroupware VII.- Synchronizace mobilních telefonů Android

Egroupware není jen webová aplikace - události z kalendáře a kontakty ze svého serveru můžete mít i ve svém mobilním telefonu. V dnešním článku si ukážeme, jak propojit Egroupware a Android.

26.6.2012 09:00 | Petr Bravenec | přečteno 9942×

Spolu s rozšířením chytrých mobilních telefonů se mezi uživateli množí i požadavky na synchronizaci dat v mobilních telefonech s různými datovými skladišti v internetu. Je-li vaše datové skladiště umístěno na serverech Googlu, je vaše situace jednoduchá - propojení kalendářů, kontaktů a pošty s Googlem zvládá prakticky jakékoliv zařízení s operačním systémem Android. V mnohem složitější situaci se uživatelé nacházejí, nechtějí-li svá data svěřovat do péče vševědoucího a vševidoucího Googlu, ale chtějí svá data uložit ve vlastním informačním systému.

Zvláště akutní může být tento požadavek ve firemním prostředí. Manažeři milují představu, že by mohli i ze svého mobilního telefonu organizovat čas svých podřízených a tlačit jim své požadavky v kteroukoli denní či noční hodinu přímo do mobilního telefonu (podřízení pak snahy svých šéfů zhusta bojkotují a ve výsledku je z nefungujícího systému pro řízení pracovní skupiny obviněno technické řešení). Ale ať už dopadá boj šéfů s podřízenými jakkoliv, požadavek na sychronizaci dat se vyskytuje velmi často.

Na straně firemního systému pro řízení pracovních skupin existuje jistě řada různých řešení. Sám používám a u zákazníků nasazuji Egroupware (zde na Linuxsoftu vyšel o Egroupware seriál článků). Na straně serveru proto budu popisovat právě Egroupware. Při použití jiných systému na straně serveru bude nastavení v mobilním telefonu často podobné, protože pro synchronizaci dat se používá často jediný protokol: SyncML.

Nastavení Egroupware

Abyste mohli v Egroupware používat synchronizaci dat s mobilními telefony, musíte nainstalovat a povolit aplikaci SyncML. Aplikace je obvykle nainstalovaná při instalaci celého balíku Egroupare - pokud ne, zaškrtněte ji jako "nainstalovanou" v kroku 5 v administraci konfigurace EGroupware (http://vas-egroupware-server.cz/setup/applications.php - adresu serveru nahraďte vlastní adresou).

EGroupware umí nastavit přístupova práva pro každou aplikaci zvlášť - po nainstalovaní aplikace a po přihlášení proto musíte aplikaci povolit pro vybranou skupinu uživatelů nebo pro konktrétního uživatele (Administrátor - Uživatelské účty - Editovat - Zvolit syncml).

Každý uživatel pak najde vlastní nastavení na horní liště s menu (Předvolby - SyncML - Předvolby). Zde už většinou není třeba nic zvláštního nastavovat, abyste dokázali synchronizaci rozchodit. Najdete zde však odkaz na nápovědu, kde se můžete dozvědět adresu serveru pro synchronizaci a případně i názvy databází na serveru pro jednotlivé oblasti synchronizace.

Aplikace v mobilu

Pro synchronizaci dat v mobilním telefonu lze s úspěchem použít oblíbený program Funambol. Jde o open source program implementující protokol syncml. Na Google Play najdete několik různých klonů, které se často liší pouze jiným defaultním nastavením - každý z různých klientů se snaží připojit k serveru výrobce a nabídnout uživateli účet právě u něj. V průběhu času jsem zkoušel s úspěchem či neúspěchem různé verze a různé SyncML klienty a naposledy jsem zakotvil u programu s názvem FunV10.

V novějších verzích Androidu (přinejmenším od verze 4) najdete klienta protokolu syncml přímo v systému, aniž byste museli cokoliv instalovat (Nastavení - Účty a synchronizace - Přidat účet - Server).

Omezení

Prakticky u všech klientů pro synchronizaci - ať už jde o program Funambol nebo o klienta vestavěnéno přímo v Androidu - narazíte na jedno omezení, dané vlastnostmi systému Android: nelze použít šifrování SSL. Abyste mohli SSL použít, musíte mít SSL certifikát na serveru podepsaný nějakou všeobecně uznávanou certifikační autoritou. V Androidu totiž neexistuje možnost, jak pro použití v synchronizačním klientovi nahrát vlastní certifikát. Jedinou cestou v současném stavu, jak používat SSL, je rootnutý telefon, do kterého si nainstalujete vlastní soubor se systémovými certifikáty.

Dalším nepříjemým omezením Funambolu je možnost použít pouze jeden účet. Na první pohled to nevypadá tak strašně, ale v pracovním kolektivu velmi rychle narazíte na nemožnost připojit do svého mobilu kalendáře ostatních kolegů ve skupině (u kontaktů to obvykle tolik nevadí).

Nastavení

První spuštění aplikace Funambol je trochu matoucí - úvodní obrazovka vám vnucuje registraci na serverech Funambol. Na vlastní server se můžete připojit přes odkaz "Already have an account". Na další obrazovce pak vyplníte údaje o vlastním serveru:

Po připojení obvykle nemusíte nic nastavovat, synchronizaci můžete spustit přímo z úvodní obrazovky přihlášeného uživatele:

V nastavení najdete dvě důležité volby: samotné nastavení a odpojení od serveru. Odpojení od serveru využijte, pokud chcete zadat adresu jiného serveru či jiného uživatele, tyto volby byste jinde v nastavení marně hledali.

Na první kartě najdete základní nastavení týkající se synchronizace:

Na další kartě (Advanced) můžete najít další užitečné volby, například import kontaktů z jiných adresářů (mimo funambol), logování nebo nastavení jmen adresářů na serveru:

Organizace kalendářů a kontaktů v mobilu

I v případě, že se vám podaří nastavit klienta SyncML už napoprvé bez nejmenších problémů, budete s velikou pravděpodobností z fungování rozladěni a budete mít pocit, že synchronizace funguje špatně. Na vině není klient SyncML, ale způsob, jakým jsou kalendáře a kontakty v Androidu organizované. Navíc Android před vámi organizaci dat skrývá, takže vaše zmatení může být dokonalé.

Jak jsou tedy data organizovaná? Kontakty i adresáře jsou rozdělené do několika na sobě nezávislých hromádek, například:

Při synchronizaci se data nijak nemíchají, ale v přehledu kontaktů a kalendářů nemáte často žádnou informaci o tom, kde je kontakt uložen. Jasno jsem si udělal až po instalaci jiné aplikace pro správu kontaktů (konkrétně DW Contacts - pro kompletní využití musíte aplikaci za ne zrovna malé peníze koupit, ale používat se dá bez problémů i free verze). Alternativní správce kontaktů vám totiž u každého kontaktu může ukázat, kde je konkrétní kontakt uložený.

V souvislosti s tím bych vás také varoval, abyste neskočili na lep volbě "Zálohovat data z mobilního telefonu na server Google". Tímto způsobem jsem přesunul veškerá svá data z telefonu na Google a následně přehrál ROM v telefonu jiným firmwarem. Z dvou set kontaktů jsem pak z Googlu do přeflashovaného telefonu nahrál zpátky pouze tři kontaky původem z Google Talk, ale ani jedno telefonní číslo.

Stejně jako kontakty jsou organizované i kalendáře. Události, které vytvoříte v mobilu lokálně, se synchronizovat nebudou. Aby se události synchronizovaly i na server (ať už Google či vlastní server připojený přes Funambol), musíte vytvořit událost v příslušné hromádce.

Zdánlivě prapodivné řešení má však několik teoretických výhod - zavedete-li si více účtů, můžete synchronizovat své kontakty a události v kalendáři s několika různými servery: pracovní, soukromé a podobně. Jistě vás i možnost připojit kalendáře kolegů, abyste měli přehled o jejich organizaci času. Ale zde narazíte na druhé, poměrně zásadní omezení Funambolu - připojit se lze pouze k jednomu účtu.

Jiné klienty pro synchronizaci

Dalším klientem, který můžete vyzkoušet, je Synthesis SyncML. Program je však za peníze a v obou verzích (STD a PRO) je hodně drahý (399 a 950 Kč). Nainstalovat můžete zkušební verzi, ta je však časově omezená. I přesto může být i časově omezená verze užitečná. Klient Synthesis totiž nerozlišuje mezi jednotlivými skupinami kontaktů a událostí (mobil, google nebo syncml), ale může pracovat se všemi kontakty a událostmi bez ohledu na příslušnou hromádku. Využít můžete tuto vlastnost, pokud máte v mobilu velké množství kontaktů, které chcete sdílet s ostatními, nebo je pouze přehrát na server, ale vzhledem k rozdílným hromádkám mobil - funambol to není možné. Synthesis kontakty z mobilu odešle na server bez jakýchkoliv problémů. Po překopírování kontaktů na server můžete Synthesis odinstalovat a nakonfigurovat Funambol. Po následné synchronizaci pomocí Funambolu budete mít sice všechny kontakty v mobilu dvakrát, ale rozhodně je lepší mazat ručně několik stovek kontaktů, než ručně několik stovek kontaktů přepisovat. Stejnou funkčnost by vám měl zajistit i import dat ve Funambolu, ale na mém mobilním telefonu momentálně mi při importu kontaktů do hromádky "Funambol" aplikace padá (kdysi to ve starší verzi fungovalo).

V Thunderbirdu s úspěchem používám pro zobrazování kalendářů rozšíření Lightning, které lze s Egroupware synchronizovat přes groupdav. Stejný přístup je možný i v mobilním telefonu, ale aplikaci pro synchronizaci jsem našel pouze jednu (CardDav-Sync free beta), navíc bez možnosti synchronizovat kalendáře (víc jsem se tedy aplikaci nevěnoval).

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1939