Multiple users editing the same workorder at the same time

<< Click to Display Table of Contents >>

Navigation:  Feature Details > Service Workorders > Service Workorder entry screen >

Multiple users editing the same workorder at the same time

AyaNova is a fully networked application in that multiple users can access and view the same data at the same time.

 

As with any networked application there can arise a situation where two people are attempting to save an edited copy of the same record at the exact same time.  There are only two ways for a software developer to resolve this conflict: first to save "wins" or last to save "wins".  

 

We've chosen to resolve these potential conflicts with the first to save wins method even though it is more complicated for us to implement because it ensures that there is no possibility of a person saving their work and having it overwritten without their knowledge.

 

What this means is that if two people open the same record, both edit it independently then both save it, the first person to save will be successful, the second person to save will receive an error message indicating their local copy of the record is now outdated and they can not save it.

 

Because of this potential for conflict some common sense needs to be practiced; if two technicans do work on the same workorder and both arrive together back at the shop at the same time they should arrange who will enter their data first on that particular work order to avoid conflict.

 

Once all users are aware of this potential for conflict it's very rare to see it occurring going forward.

 

For example:

When user #A opens a workorder, a copy of every object associated with that workorder record is opened (i.e. last modified time, items, labor, parts etc)  

 

When user #B opens the same workorder, they also get a copy of everything that is in the database for that workorder record.  

 

This allows both users to open and view the same workorder record.

 

If user #A then edits the workorder and saves, the actual workorder record’s last modified time is updated and all data for the workorder record refreshed as a whole (much faster than identifying and saving individual fields)

 

If user #B still has the workorder record opened from when he initially opened it, but now edits and goes to save, the last modified time of the actual workorder record in the database is checked to see if it's the same as the one that is in the local copy from when the workorder record was first retrieved

 

As the last modified time of the actual workorder record is now different because User #A has saved the workorder record, User #B will receive a message that the record has been modified, and that they must close without saving, re-open, and then they can edit.

 

It is recommended to use the Save MenuSave menu option frequently when editing records.

 

When using networked software where multiple users will be editing the same workorder record, users should be saving often if they need to have a workorder open for a long period, and are entering in data when there is a possibility of other users needing to edit the same workorder.

 

For example:

User #A opens the workorder. If User #A hasn’t edited right away - they should select the Save option on the menu just before they do want to edit. This way they are ensured they are starting with the actual last modified time of the record. If another user has saved edits to the same record, User #A will receive the message, and know they need to reload the workorder record before editing.

 

As users are editing they should save every minute or so conscious that at any point their save could fail if someone else saves before they do.  This will ensure that people either won't lose any time at all, or if they do it's only a minute or so at most

 

It is recommended to use the Save MenuSave menu option frequently when editing records.