Unwanted Autosaves (since implementation of Realtime Collaboration)

Thanks for the explanation!
In my opinion a shared draft is not problematic (and probably the only way to realize drafts without some extensive merging functionalities) but that is just a design decision regarding the aimed functionality of the product. Just to round this up, I see two options here for realtime editors:

1. Page Edits are visible immediately (XWiki, Notion)

  • Directly visible due to automatic saves
  • No drafting (drafting meaning changes are saved on the server but are not directly visible)
  • The reading users could see unfinished/broken documents but…
  • everyone always sees and works on the newest version
  • The Version history has a lot of entries and rollbacks targets might be difficult to identify

2. Page Edits are not immediately visible (Confluence)

  • Edits saved in Drafts (saves on server) that are only visible upon publishing
  • The current draft status is only visible when starting to edit
  • Actual Page and Draft could differ substantially
  • The draft is identical for each person (meaning there could be a “suprise” when a person would like to edit but the draft is totally different)
  • The version history stays cleaner compared to approach 1

Your explanation helped me in understanding XWikis approach better. Especially the minor versions help a lot and I think it works but maybe could be improved in terms of integrated user education.
The main issue I see here is the minor revision concept and the rollback targets. In my opinion the UI/UX could be improved by:

  • making it more clear that minor revisions are created automatically during editing and major ones only when explicitly pressing save (the minor revisions checkbox next to the automatic saves checkbox could be confusing, I think relations are not fully intuitive here)
  • adding some indication of what “cancel” really means in the Realtime context, for example a popup or something that informs the user that the last autosave minor revision is applied when cancelling and that edits from before the session can be reversed by picking the last major version form the history tap

With your explanation, I now feel confident that I could introduce Realtime on our instance. But I would probably still have to write a tutorial for our users to make sure that there is no confusion regarding the minor versions, cancel button and picking rollback targets. Of course educating my users is partly my responsibility but I think some changes in the mentioned areas would benefit all new XWiki users and reduce the need for extra education measures.

Additionally one last point (happy to create a new topic if too far fetched): Do the minor version impact performance in any ways? The increase in Versions per Page should increase dramatically when enabling Realtime so I am wondering if I should prepare our Instance in some way. Furthermore, how would the change to not storing diffs impact this? See Stop storing diffs by default in the history - #6 by MichaelHamann

1 Like