How Merging Works

Merging utilizes delta (difference between maps) with a priority given to the last user who saves. We use some assumptions to get around the need to have a complicated change detection process. 

Assumptions

General

If you edited an overlay/point/style when you save your changes will take precedence. When comparing the deltas we go through your current activity log to determine if they conflict with the changes, if they do, your (last saver's) changes will take precedence. This can create some undesirable scenarios if two people are competing to both remove and edit an overlay/point. We highly suggest team communication and assigning responsibilities when working on collaborative maps. Something to keep in mind is that all of these things only apply when you have two people working on a map asyncronously (at the same time). If there is only one person working on a map at time, they will not encounter merging scenarios.

Removing Overlays

When an overlay is removed, whether it is removed or not is based on if the last user to save edited it. Consider this scenario.

1. User A removes overlay XYZ
2. User A Save the Map
3. User B working on the map simultaneously edits overlay XYZ
4. User B saves the map

In this scenario overlay XYZ will not be removed. The assumption is that if user B edited overlay XYZ, they probably don't want it removed.

Editing Points

This works similar to removing overlays in the idea that we err on the side of caution before removing a point. If a point is moved by the last saver, it will not be removed.

Changing Styles

Since our merging takes last saver priority, if you change the style of an overlay it will essentially override the changes of the last user to save.

Protecting Data

Every merge is saved to the map history log, so it is possible to roll back all changes. Additionally you can protect all your data by saving the map with a different map ID. You can then later use the merge function to add your changes to another map or the main map.

When an overlay is created it is assigned an ID and that is what is used to merge overlays.

Final Thoughts

We are going to be constantly improving collaboration and we are always open to feedback.





Feedback and Knowledge Base