V mobilní aplikaci Ceum lze pokračovat v práci i ve chvíli, kdy zařízení ztratí připojení. Data v mezipaměti zůstávají čitelná, malá část obrazovek zůstává upravitelná a všechny provedené změny se zařadí do fronty a po opětovném připojení se automaticky přehrají. Jde o funkci dostupnou pouze v mobilní aplikaci — webová aplikace předpokládá živé připojení.
Co funguje offline
- Čtení dat z mezipaměti — obrazovky, které jste již načetli, dál zobrazují svá naposledy známá data, místo aby zůstaly prázdné.
- Přidávání a úprava transakcí a časových záznamů — tyto dvě obrazovky zůstávají offline plně zapisovatelné. Změna se okamžitě promítne do seznamu na obrazovce a zařadí se do fronty k pozdější synchronizaci.
- Vše ostatní se stane jen pro čtení — ostatní obrazovky (klienti, projekty, úkoly, nastavení a podobně) stále zobrazují data z mezipaměti, ale jejich ovládací prvky pro vytváření / úpravu / mazání jsou offline zakázané, s krátkou nápovědou vysvětlující proč. Tím se předchází zařazování změn, které nelze spolehlivě sladit.
Co zůstane uloženo po restartu
Aplikace uchovává na zařízení šifrovaný snímek svých nejdůležitějších dat, takže studený start v offline režimu vás přivede ke skutečným datům, nikoli k prázdným obrazovkám.
- Snímek se zapisuje, když aplikace opustí popředí (nikoli při každé změně), a při spuštění se jednou obnoví.
- V klidovém stavu je šifrovaný klíčem specifickým pro dané zařízení, takže kopii v mezipaměti nelze přečíst mimo zařízení.
- Je záměrně malý — obsahuje vaše nastavení, hlavní úvodní seznamy (pracovní seznamy, transakce, časové záznamy, předplatná), rychlý seznam a aktivní časovač — nikoli vše, co jste prohlíželi. Detaily, překryvy kalendáře, přehledy, e-maily a vyhledávání se při otevření těchto obrazovek načítají znovu.
Změny čekající na synchronizaci
Změny provedené offline se ukládají do trvalé fronty („výstupní fronta“), která přežije restart aplikace. Fronta umí chytře slučovat nadbytečnou práci, takže server vždy uvidí jen výsledný stav:
- Úprava položky, kterou jste vytvořili offline, splyne s tímto čekajícím vytvořením — stále se synchronizuje jako jediný nový záznam.
- Smazání položky, kterou jste vytvořili offline, ji zcela odstraní; na server se nikdy nic nedostane.
- Opakované úpravy téhož záznamu se sloučí do výsledku, kde platí poslední zápis.
- Smazání záznamu zruší všechny dříve zařazené úpravy tohoto záznamu a duplicitní smazání se ignoruje.
Offline pruh
Stavový pruh se zobrazuje nad navigací, dokud jste přihlášeni:
- Offline — upozorňuje, že jste odpojeni, a pokud je něco ve frontě, kolik změn se po opětovném připojení synchronizuje.
- Synchronizace — zobrazí se krátce během přehrávání fronty.
- Vyžaduje pozornost — objeví se, když synchronizace narazila na něco, co nedokáže vyřešit sama. Klepnutím otevřete panel řešení (níže).
Když jste online s prázdnou a čistou frontou, pruh je skrytý.
Synchronizace při opětovném připojení
Fronta se automaticky vyprázdní, jakmile se připojení obnoví, když se aplikace vrátí do popředí a při spuštění. Každá zařazená změna se přehraje proti aktuálnímu stavu serveru. Většina změn se použije bez upozornění a obdržíte krátké potvrzení o tom, kolik jich bylo synchronizováno. Po vyprázdnění aplikace stáhne autoritativní data ze serveru, aby vaše seznamy odrážely skutečný stav.
Řešení konfliktů
Některé změny nelze použít naslepo — server se mohl změnit, zatímco jste byli offline. Tyto případy se zobrazí v panelu řešení, který se otevírá z pruhu „vyžaduje pozornost“. Protože je panel řízen samotnou frontou, přežije restart aplikace uprostřed řešení.
- Možné duplikáty — zařazená nová transakce, která se blízce shoduje s nedávnou transakcí na serveru, se podrží, abyste mohli rozhodnout. Zvolte Ponechat pro její přidání i tak, nebo Zahodit pro její odstranění.
- Změněno na serveru — offline úprava záznamu, který byl od přechodu do offline režimu na serveru změněn (nebo smazán), se podrží. Zvolte Přepsat pro odeslání vaší verze, nebo Zahodit moji změnu pro zachování verze ze serveru.
- Zahozeno — změna, která je ve skutečném konfliktu (například časový záznam, který by se překrýval s existujícím), se odstraní s vysvětlením. Zkontrolujte důvod a Zavřete ji.
Konflikty, které se nepodrží — jako přechodná chyba serveru — se jednoduše ponechají ve frontě a zkusí se znovu při příští synchronizaci, takže krátký výpadek nikdy o vaši změnu nepřipraví.