Add user and wiki preference for realtime editing

Hi everyone,

We have realtime editing enabled by default since 16.9.0. This means that when you start editing a page in WYSIWYG mode (standalone or inplace) a realtime session is created automatically, if it doesn’t exist already. Even if you are alone, you get the realtime toolbar and autosave. If another user edits the same page, they join the realtime session automatically. You can leave the realtime session and continue editing alone, but it requires 3 clicks.

Some users have complained that with realtime editing enabled by default:

  • they lose the ability to easily cancel the unsaved changes
  • they lose control over page history due to autosave
  • it’s harder to input version summaries

When we designed the realtime toolbar we tried to take into account the “editing alone” use case, but the reality is that we can’t have the same toolbar for realtime editing and non-realtime editing.

The only solution I have for this problem is to:

  • add a wiki preference to control whether realtime collaboration is enabled automatically when entering edit mode
  • add a user preference to control the same thing, falling back on the wiki preference when not set
  • set the wiki preference to false by default

The outcome will be that:

  • when you edit a page, that no one else is editing, it gets locked
    • you see the standard (old) form action toolbar
  • if someone tries to edit the same page they will get the edit lock warning; they can force the lock (and enter edit mode non-realtime) or give up
  • later you decide to activate realtime editing by clicking on the “Allow realtime collaboration”
    • the standard toolbar is replaced by the realtime toolbar
  • someone else tries to edit the same page, and they join automatically the realtime session (no edit lock warning this time)

+1 on my side.

Thanks,
Marius

See my last comments at Do we need a Cancel button for realtime editing? - #13 by vmassol as I believe we can improve the RT mode and lessen (or even remove the need for a non-RT mode, which we may want to remove altogether one day as it’s more work to support both modes).

I’d continue to make RT editing enabled by default. We need to have it by default, everyone has it and it’s expected IMO.

I’d prefer that on the edit lock dialog there’s an option to ask to join editing in RT mode and whoever is editing alone gets a visual notification. Whether they need to accept or the request is granted automatically after N seconds of not responding is to be decided.

But all this sounds complex to me and I feel we need to have a single mode that works well eventually and not support 2 several modes which is more work. I’d be ok to keep the RT mode all the time if we can implement 1) and 2) from Do we need a Cancel button for realtime editing? - #13 by vmassol

WDYT?

Thanks

I have the feeling I’m discussing with two different persons here :slight_smile: . One is complaining that they can’t use the realtime editing as it is because:

  • they don’t have full control over the created page revisions anymore
  • they can’t cancel the changes in one click
  • they can’t fill the version summary directly from the toolbar

The other one is saying that everyone expects realtime editing. I don’t see how we could please both because with realtime editing, and autosave in particular, you can’t have:

  • one click Cancel from the toolbar (it’s dangerous and semantically ambiguous)
  • version summary input directly on the toolbar (it needs to be a separate action, so at least 2 clicks)
  • full control over page revisions (unless we implement drafts, see also Is realtime editing good for any document? )

So we either find a compromise, but then users like yourself will have to accept that it’s not as fast to cancel changes or input version summary as before, or let the users chose if they prefer realtime editing or not, which this proposal is about.

I don’t see how this can work. As a user:

  • I wouldn’t wait for someone to allow me to join realtime editing. That person could be away from their computer or looking at a different window. I’d move to something else and return later when that person has finished editing.
  • I wouldn’t wait N seconds to start editing either. It’s painful.
  • the only option I see is to either force the edit lock or move to something else; but if you force the edit lock then you or the other user will have to fix a merge conflict; once you steal the edit lock, it’s up to you to decide if you want to edit alone or start a realtime editing session.

Thanks,
Marius

:slight_smile:

Even if we want to keep the ability to have more fine-grained control when editing alone, like we had before, I still believe we need to have RT enabled by default as it’s what the market/community needs and it’s probably not great to have to ask users to configure it when the need arises to edit with several users.

Now we also need to fine-tune the RT to iron the little quirks we have (like the too many revision creations, make it easier to cancel, etc).

Thx