Collaborative Editing Functionality

Background

As part of D2.5 we are finalising functionality to support collaborative authoring of decks. We have also been looking forward to future features we need to develop.

So far it has been agree that real-time authoring will be supported at the deck level but not at the slide level (i.e you will not see changes to a slide in real-time). We have also discussed locking a slide while it is being edited - this has been discounted as the development and processing overhead is high while also limiting the user experience if the user is not able to do anything while a slide is open in edit mode by another user. So we are proposing the following functionality:

  • when a user is editing a slide, other users  are informed (e.g. in the info panel there is a message). So if User A and User B both have editing rights on a deck and User B goes to a slide that User A is already editing they will see this in the info panel. "Editing" would mean something like that they opened the slide in Edit more and it has not yet been saved or closed. 
  • when a user attempts to edit a user they are warned that another user is editing it. They are provided with an option to proceed. EG User B attempts to edit a slide that User A has open in Edit mode. User B sees a dialog box with a warning "User A is editing this slide. Do you wish to continue?"


If the user selects to proceed then we have discussed two proposals (assuming User A starts to edit V1 of a slide before User B)

  1. User A and User B are allowed to edit the slides in parallel but cannot see any changes the other makes. At the end of editing the slide both are required to save the slide and the last save will be the live version of the slide. Both versions of the slide would be visible in the history of the slide and they would need to merge changes (this will be supported in the future by diff/merge functionality due for D2.8 M36). So if User A saves first we would have V1 → V2A → V2B in the history tab. I User A never saves then it would be V1 → V2B. We could enhance this experience by telling UserB that UserA has saved a version since they started editing when they attempt to save and allow them to open this in a new tab (this is how Dropbox handles collaborative editing). This approach could also be supported through real-time messaging which seems to be a requirement of T2.6
  2. User B is informed when they start to edit the slide that they are entering suggestion mode. This extends the in-slide annotator to allow users to add comments in the slide. These would be visible to any editors. When User A saved the slide, they would be informed of the comments (or see them in real-time). While suggestions are not a requirement according to the project proposal, they would allow not editors to suggest changes as well. However, this approach would still require us to deal with the use case of User A opening a slide to edit and then leaving it open for hours while not working on it.

We believe that option (1) would be easier to implement and matches the other work we need to do for deliverables more closely. Please could you provide comments and feedback ASAP as this is being written into D2.5. In particular, it would be good to establish if the real-time messaging is defiantly a requirement (T2.6 talks about private groups ot discuss presentations, quizzes etc) or as this could be provided through many external messaging tools, if a in-slide commenting feature would support the platform more appropriately. 


Action items

  •