iFolder se představuje
iFolder je v podstatě mechanismus sdílených, přesněji řečeno vzájemně synchronizovaných složek. Jde o to, aby když někdo změní sdílená data, se tato změna adekvátním způsobem promítla na všech počítačích, které tuto složku sdílejí.
Důležitou informací je, že iFolder existuje pro více platforem - přesněji řečeno pro ty, kde existuje .NET nebo Mono, protože využívá právě tento framework. Po síti iFolder komunikuje protokolem HTTP. Neobsahuje ovšem vlastní server, využívá hostitelský HTTP server běžící v systému, typicky Apache (kde se využívá jako specifický handler).
Na straně klienta se používá speciální aplikace, ale pokud potřebujete využít své soubory i v situaci, kdy tuto klientskou aplikaci nemáte, nic není ztraceno. iFolder má totiž také webové rozhraní, přes které můžete přistupovat k datům, vytvářet a konfigurovat složky atd.
Naopak se lze obejít i bez serveru. Za pomoci přídavných modulů můžete synchronizovat soubory přímo mezi počítači, bez prostředníka. Toto sice není běžný způsob využití iFolder, nicméně na něj nelze zapomínat.
Použítí si lze představit třeba tak, že ráno přijde pracovník servisu do firmy, připojí notebook do sítě a získá aktuální informace o zařízení, na kterém bude pracovat, o poruše apod. Odjede na místo servisního zásahu, tam nějakou dobu pracuje, něco o tom sepíše, přidá třeba fotografii a vrátí se do firmy. Tam se opět připojí a změněná data se synchronizují všude, kam je to potřeba (třeba na souborový server, do notebooků ostatních pracovníků apod.). To vše proběhne bez toho, aniž by uživatel musel něco ručně kopírovat, zkoumat, co se změnilo atd.
Instalace na server
Pokud jste se rozhodli, že iFolder je pro vás to pravé a chcete si ho nainstalovat do firmy nebo na domácí server, měli byste nejdřív vědět ještě jednu věc. Verze serveru poskytované v rámci otevřeného projektu jsou zatím označeny jako nestabilní (což vystihuje skutečnost - viz dále) a silně nedoporučuji používat je pro práci s důležitými daty.
Historie iFolder se odvíjí již delší dobu. V minulosti byla známa jako Novell iFolder, nedávno firma Novell otevřela jak klientskou, tak serverovou část (pod licencí GNU GPL) a vývoj běží nadále v rámci projektu iFolder, který firma podporuje. Nynější iFolder sice funguje velice podobně jako původní Novell iFolder, nicméně s ním není datově kompatibilní. Nelze proto použít starý klient pro nový server (je potřeba verze počínaje 3.4).
Než se pustíme do vlastní instalace, musí systém splňovat určité požadavky. V první řadě je to nainstalovaný framework Mono (u Windows samozřejmě .NET, ale instalaci iFolder na Windows tu popisovat nebudu - ostatně se od té linuxové moc neliší). V některých distribucích je obsažen, jinde se musí přiinstalovat. Pokud byste nenašli balíky potřebné pro vaši distribuci, na serveru projektu iFolder jsou k dispozici tyto balíky pro některé běžné distribuce. Každopádně doporučuji používat některý z mechanismů pro aktualizace, nové verze vycházejí poměrně často.
Dále je potřeba několik knihoven - pro ně platí totéž, co pro Mono. Samozřejmě nelze zapomenout na HTTP server Apache, který bude zprostředkovávat komunikaci s klientem. K jeho instalaci snad není třeba nic dodávat.
Nyní už můžeme nainstalovat samotný iFolder Enterprise Server. Opět je nejlepší zvolit balík podle distribuce, lze samozřejmě i kompilovat ze zdrojových kódů. Vše potřebné stáhneme ze serveru projektu.
Po instalaci je bezpodmínečně nutné vypnout SELinux (pokud na serveru běží), nebo ho aspoň nastavit do permisivního režimu. iFolder a SELinux nejsou kamarádi. Pak se musí provést několik kroků, které se liší podle distribuce a jsou popsány v HOWTO na stránkách iFolder. V zásadě jde o to, že se musí vytvořit adresář .config a nastavit mu jako vlastníka toho uživatele, pod nímž běží Apache. Někdy může být také nutné upravit cesty v konfiguračních souborech iFolder (většinou se nacházejí v /etc/simias).
Je-li všechno nainstalováno a nastaveno, můžeme spustit/restartovat Apache. Pokud to proběhlo úspěšně, měla by se po otevření URL http://adresaserveru/admin zobrazit stránka pro přihlášení do administrace. Můžete se tedy zkusit přihlásit jako administrátor s výchozím heslem (doporučuji ihned změnit!) a vytvořit jednoho nebo více běžných uživatelů.
Na adrese http://adresaserveru/ifolder je webové rozhraní serveru. Opět vás uvítá přihlašovací stránka. Po přihlášení můžete vytvářet složky, přistupovat k souborům, nastavovat práva a kvóty apod. Pokud něco selže, navštivte prosím stránku Troubleshooting na webu projektu. Je tam popsáno řešení typických problémů, které mohou při práci s iFolder nastat.
Než se pustíme do instalace, ještě malé nahlédnutí pod kapotu. iFolder je totiž v podstatě jen taková prezentační vrstva, která má pod sebou něco ještě mnohem silnějšího - technologii Simias (to je také důvod, proč se slovo Simias objevuje v názvech adresářů apod.). Zatím je Simias prakticky nedílnou součástí iFolder, ale plánuje se, že bude později existovat samostatně a bude se používat i k jiným účelům. Simias zahrnuje objektový datový a funkční model pro sdílení dat a operace nad nimi. Plánuje se plná podpora RDF a SPARQL, tak uvidíme, co se z toho nakonec vyklube.
Instalace klientu
Stejně jako u serveru, i zde se neobejdeme bez instalace platformy Mono - platí zde tedy stejná pravidla, podobně i pro další potřebné věci (log4net, libflaim atd.). Netřeba snad připomínat, že GUI je postaveno na GTK+, proto kdo by náhodou tyto knihovny neměl (což asi nebude obvyklý případ), nevyhne se jejich instalaci.
Máme-li vše připraveno, lze nainstalovat samotnou aplikaci. Oproti serveru je tu určitá nevýhoda, spočívající v menší škále podporovaných distribucí - musí se tedy častěji sáhnout ke kompilaci ze zdrojových kódů. Není od věci nahlédnout do HOWTO na webu iFolder, je tam popsán postup při instalaci na některé linuxové distribuce a také řada obecně platných postupů.
Klienta spustíme příkazem ifolder, případně z nabídky grafického prostředí. V příkazové řádce lze zadat různé parametry související s X Window Systemem a prostředím GNOME. Většinou ale není nic z toho potřeba používat.
Uživatelská činnost
Z pohledu uživatele je to velice jednoduché. Stačí zvolit server, zadat jméno a heslo a již lze iFolder používat. Nyní záleží na tom, zda chce člověk nasdílet nějaký místní adresář nebo se připojit k nějakému již nasdílenému (musí k tomu mít pochopitelně oprávnění). V každém případě je ale potřeba vybrat adresář, který bude "propojen" s příslušnou sdílenou složkou na serveru.
Pokud se teprve sdílí místní adresář, server vytvoří sdílenou složku a přenese do ní obsah adresáře. V opačné situaci, tedy při připojení k existující složce, se navíc data z této složky zkopírují do adresáře. Nadále to pak probíhá tak, že se v pravidelných (nastavitelných) intervalech nebo na explicitní příkaz provádí synchronizace dat. Nová nebo změněná data se přenesou na server a odtud pak ke všem klientům, kteří jsou k této složce připojeni. Pokud má někdo práva jen ke čtení, jeho zásahy do dat se neprojeví.
Zajímavá situace nastane, pokud dva uživatelé změní lokálně některý soubor v době mezi synchronizacemi. Tím dojde ke konfliktu, který je řešen tak, že se použije verze s pozdějším časovým razítkem (novější verze) a ta starší se odloží stranou. Později je pak možné ručně určit, že se má použít tato verze (nebo se naopak odstraní).
Celé ovládání klienta je velice jednoduché a intuitivní. Poněkud nepříjemný je pouze fakt, že běžící klient požírá i při nečinnosti relativně dost času procesoru a mnoho paměti.
Sdílení dat bez serveru
Jak jsem řekl již dříve, lze se obejít i bez serveru. Existují dvě cesty, žádná z nich bohužel zatím není dostatečně funkční. První z nich využívá známý instant messenger Gaim. Pro zprovoznění jsou nutné dva kroky - do iFolder klientu se přidá služba Simias Domain Thread Service a do programu Gaim zase iFolder Gaim Plugin. Zájemce o podrobnější informace odkazuji na stránky iFolder, ale předem upozorňuji na syrovost tohoto řešení.
Druhou cestou - o něco stabilnější - je technologie Bonjour pocházející z počítačů Apple. Většinou není potřeba instalovat nic neobvyklého, protože potřebný mDNSResponder je běžnou součástí dnešních distribucí. Je potřebná určitá změna konfigurace iFolder, pak by mělo sdílení fungovat. O fungování v praxi bohužel nejsem schopen sdělit nic bližšího, kdo má zájem, nechť vyzkouší.
Do rodiny svobodného softwaru tak vstoupí další produkt vhodný pro nasazení v podnikovém prostředí a mající všechny předpoklady k tomu, aby razil cestu dalším programům. Jedinou vadou na kráse bohužel zůstanou poměrně drastické nároky na paměť a výkon (což je daň za použití .NET/Mono), které jsou smutnou realitou i u mnoha jiných programů.
Zhodnocení
iFolder vychází z dlouhodobě odzkoušeného konceptu, který se ukázal jako velice užitečný pro daný účel. V rámci velkých změn, které proběhly (změna licencování, platformní přenositelnost, využití nových technologií), ovšem došlo k tomu, že iFolder v tuto chvíli nelze použít v produkčním prostředí. Stabilita - jak serveru, tak klienta - je zatím velice bídná, procesy často padají a nejdou opětovně spustit (musí se ručně smazat soubory, které po sobě zanechaly), občas chrlí podivná chybová hlášení. Některé verze se vůbec odmítají spustit. Protože ale vývoj pokračuje raketovým tempem, věřím v brzké vyřešení dnešních problémů.