Synchronization
Description of the synchronization and its management..
General Synchronization Behaviour
The app supports manual and automatic synchronization to ensure that all data is available to the user.
In order to make sure that the app is syncing, enable it in iOS as well check the app settings.
Generally Yonder remains usable while the application is being updated (with the exception of the initial installation).
In general the iOS settings overrule the individual app settings. If in iOS the use of mobile or cellular data is not granted, the app wont sync even the app settings would permit the use of mobile or cellular data.
So please ensure, that the usage is granted.
The app supports both manual and automatic synchronization to ensure all data is accessible to the user.
To ensure the app syncs properly, ensure that data usage permissions are granted in iOS for proper syncing.
Important Note
Be aware that iOS settings take precedence over individual app settings. If mobile or cellular data usage is disabled in iOS, the app will not sync, even if mobile or cellular data is enabled in the app’s settings.
Yonder App Synchronization
There are 2 types the Yonder App is synchronizing:
- manuall synchronization
- automatic synchronization
Typically, Yonder remains fully functional while updates are being applied, except during the initial installation.
Login Requirement for Synchronizaton
A successful login is required before synchronization can begin.
By default, users log in using their company name followed by their user credentials. However, the login process may vary depending on the specific setup, such as:
- Single Sign-On (SSO)
- Active Directory authentication
- Other enterprise authentication methods
Users should follow their organization's designated login procedure.
Failed login - Company URL
For security reasons, the system requires the full login URL if the company name is entered incorrectly.
When entering the Company URL, it is parsed as follows: <company>.<domain>
- The segment before the first dot represents the company name (e.g.,
"name"
inname.xyz.com
). - The segment after the first dot represents the domain (e.g.,
"xyz.com"
inname.xyz.com
).
Synchronization in the App
This section describes how automatic and manual synchronization is triggered to keep your data up to date across devices and systems.
Object count
Please note that the object count (database objects) may occasionally reset to zero. This typically indicates that a different object class is being loaded.
Automatic Synchronization
Sync is automatically triggered in the following chapters described scenarios:
-
Initial installation:
With successful installation an automatic sync will be launched after successful authentication: -
App launch and running app:
When the user opens the app and the last successful sync was more than 15 minutes ago. -
Offline to online transition:
When the user has been using the app offline, and an internet connection becomes available.
If the last sync was more than 15 minutes ago, the automatic sync is triggered. -
Enforced full synchronization:
To handle edge cases (e.g. extended offline periods), a full sync is enforced under specific conditions.
1. Initial Installation
The initial syncronization will start when installing Yonder. An automatic synchronization process will commence, downloading all the authorized data accessible specific to the user.
The duration of this initialization phase will vary depending on the data volume, potentially requiring a longer time. It is crucial for the user to maintain a stable internet connection during the initial synchronization and avoid going offline.
The app is usable once the initial installation has been performed successfully.
Trigger: After successful installation and authentication, an automatic full sync begins.
Purpose: Downloads all user-authorized data.
Requirements:
- User is authenticated
- Device is online
Note
- Initial sync duration depends on the data volume.
- A stable internet connection is essential during this phase.
- The app becomes usable once the installation completes.
2. App Launch or running App
If the last sync was performed more than 15 minutes ago, an automatic sync is triggered in the background. This ensures that any data the user created or modified while offline is properly uploaded to the server, and that any changes from the backend are retrieved as soon as connectivity is restored.
This logic helps maintain data consistency between the local and remote sources without requiring manual user action after being offline.
Condition: The user opens the app or the app is already running.
Trigger: If the last successful sync was more than 15 minutes ago, an automatic background sync starts.
Purpose: Ensures changes made offline are uploaded and new backend updates are pulled.
3. Offline to Online Transition
When the user has been actively using the app in offline mode (i.e. without an internet connection), the app monitors for changes in network connectivity. As soon as a stable internet connection becomes available again, the app checks when the last successful sync occurred.
Condition: The user was using the app offline and reconnects to the internet.
Trigger: If more than 15 minutes have passed since the last sync, an automatic sync is triggered.
Purpose: Syncs any changes made during offline usage and fetches the latest data.
4. Hourly Timer Sync
General timer that is implemented to check for content updates.
Condition: A background timer runs automatically every 60 minutes.
Trigger: If the last successful sync was more than 15 minutes ago, a sync is initiated.
Use Case: Ensures periodic data refresh and consistency, even if the user hasn’t interacted with the app or triggered any other sync events.
5. Enforced Full Synchronization
To avoid edge cases (e.g. if a user was on a longer leave and didn't synchronize), a full sync shall be enforced under certain conditions.
Conditions:
-
User has not synced their device for more than 14 days
A significant lapse in synchronization increases the risk of data inconsistencies. A forced full sync ensures data integrity across devices. -
User has paused, cancelled, or interrupted the full sync
An incomplete sync operation can leave the device’s state inconsistent, potentially leading to overwritten or missing user data (e.g., favorites, tasks).
For both scenarios, a popup will notify the user of the need for a full sync.
Trigger: Under specific conditions (e.g., extended offline periods or sync inconsistencies), a full sync is enforced automatically.
Purpose: Ensures consistency and data integrity in edge cases.
Manual synchronization
Manual sync allows users to trigger data synchronization on demand, ensuring they have the most up-to-date content regardless of the automatic sync schedule.
Condition: The user presses the Sync button in the app.
Trigger: Sync starts immediately, regardless of the last sync time.
Use Case: Useful when a user wants to ensure immediate data refresh or upload.
Initiate a manual synchronization
You can trigger a manual sync in two ways:
- pressing the Sync button
- swiping down the primary column
Synchronization on weak connection
In both the initial- and a manual synchronization, Yonder assesses the connectivity type and identifies a poor connection for:
- cellular generation = 2G, 3G
A corresponding info message will be displayed informing the user that a sync will take longer.
Synchronization error messages
In case the synchronization can not be performed as intended, Yonder will prompt the user for:
- No network connection
- Incomplete (partial sync)
- Not enough free disk space (checked starting an initial sync)
Synchronization across multiple windows
Logout
- Log out of window A will log out any other app windows right away.
Favorites
- Favorite
A favorite will show up on all windows when syncing (triggering a sync in one window will sync all windows). - Favorite folder:
A previously created favorite folder would show up when opening a second app window.
Highlights & Notes
Higlights will be synced momentarily as a modification triggers a sync (across all instances).