Tryb offline
Bez zasięgu część systemu pracuje dalej, a część nie — i warto wiedzieć która, zanim pomiarowiec wejdzie do piwnicy. Opisujemy, które ekrany się otworzą, co dzieje się z wpisanymi danymi i po czym poznać pracę lokalną.
Na czym to polega
Bez zasięgu aplikacja nie przestaje działać — otwiera strony zapamiętane wcześniej, a zmiany odkłada do kolejki i wysyła je, gdy sieć wróci.
Sercem tego mechanizmu jest niewielki program działający obok aplikacji w przeglądarce. Przechwytuje on każde zapytanie do serwera: gdy sieć jest, przekazuje je dalej i zapisuje odpowiedź; gdy sieci nie ma, sięga po ostatnią zapamiętaną wersję.
Strony i pliki traktowane są inaczej, bo starzeją się w innym tempie:
- Ekrany panelu
- Najpierw próba pobrania świeżej wersji z serwera, a dopiero przy braku sieci sięgnięcie po zapamiętaną. Dzięki temu przy zasięgu nigdy nie oglądasz nieaktualnych danych.
- Pliki aplikacji
- Style, czcionki i grafika ładują się od razu z pamięci telefonu. Dlatego aplikacja otwiera się szybko także przy słabym zasięgu.
Gdy zabraknie sieci, a danego ekranu nie ma w pamięci, aplikacja pokaże ostatnio zapamiętany pulpit zamiast komunikatu przeglądarki o braku połączenia.
Co działa, a co nie
- Działa bez zasięgu
- Otwieranie wcześniej odwiedzonych ekranów, praca w trybie terenowym, wypełnianie kreatora pomiaru, robienie zdjęć, zbieranie podpisu klienta. Wszystkie wprowadzone dane trafiają do kolejki.
- Nie zadziała
- Logowanie, pobranie danych firmy po NIP-ie, wyszukiwanie po całej bazie, generowanie dokumentów PDF i wysyłka wiadomości. To operacje, które muszą sięgnąć do serwera w danej chwili.
Więcej o samej pracy w terenie: Tryb terenowy.
Po czym poznać stan
Na dole ekranu pojawia się pasek informujący, w jakim stanie jest aplikacja:
- Czerwony „Tryb offline" — nie ma połączenia. Wszystko, co wpiszesz, czeka lokalnie.
- Żółty „Synchronizacja… (N)" — połączenie wróciło, trwa wysyłanie. Liczba w nawiasie to zmiany pozostałe do wysłania.
- Brak paska — wszystko jest wysłane i zsynchronizowane.
Jak działa kolejka zmian
Zapisy zrobione bez sieci — nowa pozycja pomiaru, poprawka wymiaru, usunięcie pozycji, podpis klienta — trafiają do kolejki na telefonie razem z godziną wykonania. Zdjęcia do niej nie wchodzą. Kolejka zachowuje kolejność: zmiany wysyłają się w takim porządku, w jakim powstały, więc korekta nie wyprzedzi wpisu, który poprawia.
Wysyłka rusza sama, gdy telefon wykryje sieć. Nie trzeba niczego klikać ani wchodzić w żaden ekran — wystarczy, że aplikacja jest otwarta.
- Zapis przyjęty
- Znika z kolejki, licznik przy pasku maleje.
- Serwer nie odpowiada
- Zapis zostaje w kolejce i spróbuje ponownie przy następnym powrocie sieci. Nic nie ginie.
- Serwer odrzucił zapis
- Gdy przyczyna leży po stronie danych — na przykład pozycja została w międzyczasie usunięta w biurze — zapis nie wraca do kolejki w nieskończoność. Warto wtedy sprawdzić pomiar po powrocie.
Gdzie są przechowywane dane w międzyczasie
Niewysłane zmiany są przechowywane w pamięci przeglądarki na telefonie, przypisane do tej konkretnej instalacji. Nie są widoczne dla innych aplikacji ani dla innych użytkowników tego samego urządzenia zalogowanych na inne konto.
Wyczyszczenie danych przeglądarki albo odinstalowanie aplikacji z niewysłaną kolejką oznacza utratę tych zmian. To jedyny sposób, w jaki dane z kolejki mogą zniknąć — sama kolejka przetrwa restart telefonu i zamknięcie aplikacji.
Dlatego trzy rzeczy warto zrobić po powrocie z terenu: otworzyć aplikację przy zasięgu, poczekać, aż zniknie pasek synchronizacji, i dopiero potem uznać pomiar za przekazany do biura. Wyczyszczenie pamięci przeglądarki „dla porządku" przed tym momentem kasuje pracę całego dnia.
