The synchronization for construction areas walks through all workspaces that are enabled for synchronization and for each of these workspaces it goes through all the contained construction areas and synchronizes them one by one.
Synchronizing construction areas
First step is the synchronization of construction areas, i.e. the containers for mapping events (features in Redbex). Construction areas are identified by an internal ID that is created by the Redbex Application Server when the feature is created.
•Construction areas that exist on the App and on the Redbex Application Server: no synchronization needed
•Construction areas that do not exist locally but on the server (i.e. new construction areas): Construction area base data is downloaded and new construction areas are created on the App.
•Construction areas that exist on the App but not on the Server, i.e. construction areas where the corresponding feature in Redbex was deleted is not member of the workspace any more: This situation will raise a conflict with following resolution options:
oKeep local construction area: Construction area will be kept locally. On next synchronization this conflict might appear again (except when the corresponding feature on the server is again made available to the workspace)
oDelete local construction area (with all contained data): This will delete the locally stored construction area with all its mapping events and mapping objects (including changes that were never synchronized to the server before.
Construction area content synchronization
For each construction area MappRover synchronizes all basic data and all mapping events.
Update base data
Name, description
The axis reference system used by the construction area is downloaded if any part of the system was changed this includes: Axis reference system, Axis, Mapping templates.
The configuration of the feature type (Observation Property structure, Observation property structure configuration (for in the context of the feature) and Application specific Observation property structure configuration are downloaded and replaced if they were changed on the server.
Mapping events
For each mapping event following synchronization steps are executed:
•Check for mapping events that were once synchronized to the App but are now deleted on server
oIf mapping event was also also deleted locally deleted: no synchronization action needed
oIf mapping event is not not deleted locally then:
▪If mapping event was modified locally: raise conflict with following resolution options:
•Delete local: The locally modified event will be deleted
•Restore to Server: the locally modified event will be uploaded to the server.
▪If mapping event was not modified locally: local mapping event is deleted without conflict.
•Check locally deleted events
oIf mapping event was deleted locally and was not changed on server in the since the last synchronization that mapping event will be deleted on the server.
oIf a mapping event was deleted locally but was changed on the server since the last synchronization a conflict is raised: Resolution options:
▪Restore local data from server: Mapping event is downloaded from the server
▪Delete on server: Mapping event is deleted on server
•Check locally created mapping events (since last synchronization)
oAll locally new mapping events will be created on the server.
•Check events existing locally and on server
oIf the locally stored last update date equals the last update data stored on the Application Server no synchronization action is needed.
oIf the date of the last synchronization is less than the date of the last modificaiton of the mapping event on the Application server:
▪If the last update of the mapping event is greater than the last synchronization date (mapping event was updated locally since the last synchronization) a conflict is raised:
•Take local
•Take Server
▪Else (Changes on server but not local)
Download server version (actually delete local event and get new from server at a later point in time
oElse (no changes on server since last sync)
▪Overwrite server with client data
•Get events only existing on server
Download only
Aborting synchronization
Construction area based
Todos and Tests
•If an classification element is deleted on server
•Last update code for server
oAxis, Axis RS, Mappinge Event
oValidation, Feature type configuration
oClassifications
•Try Catches (lost connection)