Offline users exist in environments where radio connectivity is unavailable or unreliable. The device documentation gives examples including work near steel reinforcement bars, tunnels, underground construction sites, and radio-shielded buildings.
Device-local data
The device example shows a Xamarin Forms application using an EcoSpace and subscribing event handlers to XML persistence handling. In the example, the persistence mapper loads XML from and saves XML to a file on Android external storage.
This demonstrates that application data can be persisted on the device rather than relying only on server-side storage.
Offline systems and a central system
The synchronization documentation describes an offline MDriven-based system with a local database that interacts with a central Turnkey system when possible. It states that the two systems can have different, but similar, models.
The documentation does not recommend fully automatic synchronization. Instead, it emphasizes deciding what data moves between systems and in which direction.
ViewModel-based exchange
The proposed synchronization approach is to define sending and receiving ViewModels in the two models. The sender and receiver are intended to be compatible through name matching, with generic logic starting synchronization for a pair of ViewModels.
For tabular import, the documented pattern uses tab-separated data:
- The first column is the key.
- Following columns contain values to set.
- If a key is not found, the logic can look for a ViewModel action named
CreateNew. - Read-only columns are skipped.
- Combobox columns can use string matching to select the correct value.
This import behavior is documented separately from the proposed offline-system synchronization approach. Do not assume that tabular import behavior alone supplies a complete device synchronization solution.
Connectivity-dependent exchange
The device documentation says that a future session could build on local persistence and synchronize locally changed data to a Turnkey server using REST APIs. It also describes a possible barcode-scanning scenario that could look up server data when online or cache data when internet access is unavailable.
These statements describe possible follow-on work, not a complete documented synchronization implementation.
