origo icon indicating copy to clipboard operation
origo copied to clipboard

Feature refresh for improved concurrent editing

Open MattiasSp opened this issue 3 years ago • 7 comments

Is your feature request related to a problem? Please describe. With multiple users editing the same features in a layer, if they stay in the same session they will overwrite each other's edits.

Describe the solution you'd like When selecting or starting editing of a feature, its geometry and attributes should be refreshed so that the current version of the feature is shown when editing starts. If the refreshed feature differs from the user's current version, the user should be alerted with e g a dialog that allows the user to retain their old version if they choose (with the update being presented as the default behaviour).

At the moment, every user starting a session loads their own version of the layer that they can edit during the session. So any sessions that overlap in time will risk overwriting each other's edits.

While far from a complete solution to concurrent editing, a simple feature refresh before opening the attribute edit form, or when selecting the geometry during edit mode, would greatly reduce the risk of issues. Multiple users would have to have the same feature's attribute edit form open or edit the geometry at the same time for their edits to collide. This would be a great improvement.

Describe alternatives you've considered Ideally, layers whose underlying datasource changes should update immediately in the map to show the current version. Likewise, the attribute edit form should receive updates for attributes edited by another user in real-time. These features would require back-end support in e g Origo Server with Socket.io or something similar, so I'll leave them outside the scope of this issue.

MattiasSp avatar Nov 24 '21 13:11 MattiasSp