Each RSpace document can be edited by one user at a time, but can be viewed by any number of users simultaneously. The ‘edit lock’ is held by whoever starts editing the document, and is released when the user doing the editing saves and closes the document, or when their session expires. While a user is editing a document, an autosave feature periodically saves any new content without any manual intervention from the user. Other users can view the document while it is being edited, but none can edit until the lock is released. If a user tries to edit a document they normally have permission to edit, and it is already being edited by someone else, they will see a message informing them that they can’t edit and why, and the status icon will be turned to an amber ‘Can’t edit’ image. This will revert to the normal green ‘View’ icon when the lock has been released.
Many users can have a document open to view and choose to make edits at any time. RSpace does not force updates to open document views, but will update to the latest version before any editing. This behaviour is best explained by in the context of an example of collaborative editing:
Consider a document, D, that can be edited by two users, A and B, both of whom have edit permission on D.
One or both users open the document; the document is in View mode and all the document’s content is available for viewing. At this stage, the document is not locked for editing.
Since both users have edit permission, either user can click to start editing the document. One user (say, A) double-clicks in a field to start editing. User A now acquires the edit lock and can begin editing. User B is notified of this when a message appears (‘Currently edited by A’). User B can continue viewing. User A stops editing (by saving and closing the document, for example) and User B can now begin editing. At this stage, User B is viewing stale data. If B decides to edit, the page will automatically refresh with the new content (just added by A), to prevent lost updates. In this way, the new editor is always presented with the most recent version of the document.