I think there should be a “session timeout” or some way to detect that if a user is not actively editing a workflow, then they should be signed out or prompted to refresh their session… or maybe there can be a way for each user to create a different version of the workflow. Not sure the best solution here, but this might become problematic if we are unable to contact that person when another user needs to edit the workflow.
@taylordowns2000 , this is an interesting proposal. I was thinking of an Idle state where the last tracked event of a current user is over 15 mins (for example) we can deprioritize the user and have the next person on the queue to the work.
We don’t want to autosave changes on workflow because the edits may not be something the user is willing to save. So unsaved changes are lost when the a user is moved to idle state.
The big question here is what do we do with the unsaved changes of the first user? I’d argue that we might be able to tweak this presence feature slightly so that it only locks a workflow when changes are detected. This way, if I hit “save” but leave my tab open and don’t do anything else, other people can come in and save.
The tricky bit here is that when the other person saves, we’d then need to propegate those changes to the first user, updating the screen they’re looking at.
You could have a bit of a weird ping-pong situation, but might be better than either:
(a) losing unsaved work,
(b) overwriting previously saved work, or
(c) preventing users from doing work when other users have left their tabs open