Managing Interaction within a Multi-User Environment

By Sandra Schloen, May 2013

Any user with edit access to project data can be working within the project database without the need to worry about conflicts with other users. OCHRE manages interaction within the multi-user environment by providing the following features.

Transient Claims

When a user begins editing an item -- changing the content of a field, inserting a link, adding a note, etc. -- OCHRE initiates an exclusive claim on that item for that specific user. This is done internally and automatically. When the user moves away from that item and the changes are posted to the database, OCHRE automatically releases the claim on that item. Throughout the duration of the transient claim no other user will be allowed edit access to this item.

If one user happens upon a item that is under a claim by another user, that user will be denied edit access and will be given access to the item in read-only mode. A prohibition sign will display on the item's Edit tab and a message will be given.

Similarly, if an item is displayed in a pop-up window for editing, but a successful claim cannot be made on that item, it will be displayed with the prohibition icon in the window's title bar.

If a Project Administrator rolls the cursor over the prohibition sign, the name of the person who has the claim, along with the time of the claim, will be displayed.

If you have been denied access to an item because another user has a claim on it, you can return to this item at a later time and "Refresh" the item to see if it has become available.

Note that when a user closes a project or logs out of OCHRE, any lingering transient claims will be removed. This ensures that users do not retain exclusive access to items beyond the length of their active session, and also cleans up any outstanding claims that may have been caused by abnormal termination of an OCHRE session (e.g. by unexpected power loss).

Persistent Bookmarks

If a user wishes to retain a long-term claim on an item for exclusive editing, that user can establish a persistent bookmark on that item. This claim will persist even after the user logs out and will continue to be in place throughout multiple sessions until the bookmark is explicitly removed.

To bookmark an item with a persistent claim, simply select the item in the navigation pane and click the persistent-bookmark button (the red star). Bookmarked items will be displayed on a separate toolbar at the bottom of the navigation pane, as well as on the OCHRE menu bar under the "Bookmarks" option.

As with transient claims, any user that happens upon an item that has been bookmarked by another user with a persistent claim, will be denied access to that item. A message will be given indicating that another user already has a claim on the item. Project Administrators have a tool that allows them to check which items are under persistent claims, and also to override those claims, if necessary.

See the separate article regarding Using Bookmarks for further information on this topic.

Compromised Contexts

The hierarchical data model inherent within OCHRE is susceptible to other potential conflicts between users. Imagine, for example, that User A is editing an item, while User B moves to a new context the branch of the hierarachy in which that item is contained. Somewhat surprisingly perhaps, this will have no effect on User A's editing of the item. User A, in fact, may not even become aware that any change has been made until they return to the data in a new session.

If, however, User A attempts an operation on the item which depends on its hierarchical context -- inserting within, deleting, moving, etc. -- OCHRE will recognize that the item's context has been compromised. User A will be notified of the compromised context and will be prompted with the opportunity to "go to" the item in its new context. OCHRE will automatically find the item on behalf of the user and will relocate the user to the item in its new context. If the user chooses not to be relocated, OCHRE will refresh the hierarchical structure in question to ensure that the user has up-to-date information.

Note that in all cases, a user can use the Refresh button on the toolbar to retrieve an up-to-date, fresh copy of any item from the database.

[For those users who are familiar with earlier versions of OCHRE, the need to explicitly "lock" items for exclusive use has been removed. This is now handled implicitly and automatically by OCHRE.]