Synchronization
Synchronization is the process of exchanging data between mobile devices and the Synkronus server.
How Synchronization Works
ODE uses a bidirectional synchronization protocol:
- Push: Local observations are sent to the server
- Pull: New or updated observations are retrieved from the server
- Conflict Resolution: Conflicts are resolved automatically using version numbers
Synchronization Process
Automatic Synchronization
Synchronization occurs automatically when:
- The app is opened and network connectivity is available
- A new observation is created or modified
- A manual sync is triggered by the user
- A scheduled sync interval elapses
Manual Synchronization
Users can trigger manual synchronization:
- Open the app settings
- Navigate to synchronization options
- Select "Sync Now"
- Wait for the sync to complete
Conflict Resolution
When the same observation is modified on multiple devices, ODE resolves conflicts automatically:
- Each observation has a version number
- The version number is incremented on each modification
- During sync, the observation with the highest version number is kept
- If versions are equal, the most recent modification timestamp is used
Sync Status
Observations have a sync status that indicates their synchronization state:
| Status | Description |
|---|---|
| Pending | Observation is waiting to be synchronized |
| Syncing | Synchronization is in progress |
| Synced | Observation has been successfully synchronized |
| Error | Synchronization failed (will be retried) |
Attachment Synchronization
Attachments (photos, audio, files) are synchronized separately from observation metadata:
- Observation metadata is synchronized first
- Attachments are uploaded or downloaded in a separate phase
- Attachment sync status is tracked independently
See the Technical Details section for more information on the sync protocol.
Troubleshooting Sync Issues
If synchronization is not working:
- Check network connectivity
- Verify server accessibility
- Review authentication credentials
- Check server logs for errors
- Review the Troubleshooting guide
Next Steps
- Learn about working offline
- Review technical sync details
- Explore API endpoints for sync operations