Is there an easy way to temporarily disable realtime editing?

Is there a way to easily disable the new realtime editing feature?

The reason I ask is I just started getting the " Connecting to the collaborative session. Please wait…" message whenever I edit a page.

I am the only editor of my xwiki and I don’t have the time to debug what’s wrong - probably something to do with my apache reverse proxy configuration.

I was previously getting the " Connecting to the collaborative session. Please wait…" warning, but I fixed that by adding xwiki.url.protocol=https to xwiki.cfg as a quick fix.

Any help or advice would be appreciated.

Well, that wasn’t too hard to find.

Global Administration, Editing, WYSIWYG Editor, CKEditor, Disabled Plugins, add “xwiki-realtime” and save.

(Huh. Now I want to learn what all those plugins and toolbar features are.)

Hi,

(Huh. Now I want to learn what all those plugins and toolbar features are.)

Yes,… so do I.

This is related to this new extension : “Realtime WYSIWYG Editor”

The video to show what it does is nice.
Of course, if you are the only one that write on the wiki… this is not usefull.

And this forum post :
Bundle the realtime WYSIWYG editor in XWiki Standard, disabled by default

There, it is said that it is disabled by default :
Release Notes for XWiki 16.2.0-rc-1


Interesting :

I was previously getting the " Connecting to the collaborative session. Please wait…" warning, but I fixed that by adding xwiki.url.protocol=https to xwiki.cfg as a quick fix.

It seems that the communication between the two (or several) editors needs some SSL and https protocol.
This seems logical, as the extension uses :

The editor is using the Netflux API for real-time communication between the users participating in the editing session, and the ChainPad algorithm to ensure convergence between the changes made by each user.

Thanks for the info.

1 Like

And this forum post :
Bundle the realtime WYSIWYG editor in XWiki Standard, disabled by default

There, it is said that it is disabled by default :
Release Notes for XWiki 16.2.0-rc-1

At some point in the past, I enabled everything so nothing was disabled, but it’s only recently this plugin had some noticeable effect on my installation. I do a lot of silly things and changes that eventually bite me in the bottom, but makes for some interesting problem solving sessions.

As for the xwiki.url.protocol=https, my Apache reverse proxy communicates with Tomcat via http and xwiki needs a hint to make sure it rewrites it’s urls correctly, or something like that.

1 Like

Thanks !
I was wondering how you ended with the option on, … as they say they default it to off…

:+1: :grinning: exploring interesting problem and solving sessions.

For the https url, may be have a look at this :

Specifically this :
See : Bug 61234
Summary: Add X-Forwarded-Proto to backend requests

And may be also look at this :
How to add X-Forwarded-for header in reverse proxy with SSL passthrough

Even though xwiki.url.protocol=https might be the most simple way…

See https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.2.0/#HRealtimeWYSIWYGEditor (if you have previously customized the CKEditor configuration you need to disable the real-time manually).

1 Like

I did not noticed this.
Interesting.
Thank you.

I’m stuck. We upgraded from 13.10.6 to 15.10.11. The realtime editor is now enabled. Now I’m not able to disable the realtime editor. We hadn’t istalled the realtime editor before but we had custom ckeditor config. I added xwiki-realtime to the disabled plugins but it’s still running.

That did not help: https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.2.0/#HRealtimeWYSIWYGEditor

Regards, Simpel

Hi @Simpel ,

Are you sure the CKEditor configuration was properly saved? For instance, if you access the CKEditor.Config page, do you see xwiki-realtime in the removePlugins list? Can you share your custom CKEditor configuration? Is it possible that you are overwritting the removePlugins list from the advanced configuration text area? Or maybe your advanced configuration leads to some JavaScript exception. Do you see any JavaScript errors when loading the CKEditor?

Thanks,
Marius

Here a image of our config:

And here the (very large) additional config:

// Barrierefreiheits-Checker und Shared-Space aktivieren
CKEDITOR.plugins.addExternal('sharedspace', '/static/sharedspace/');
CKEDITOR.plugins.addExternal('a11ychecker', '/static/a11ychecker/');
CKEDITOR.config.extraPlugins = 'sharedspace,a11ychecker';

// Einige Knöpfe aus Sektion 'Format' entfernen (h1;div)
CKEDITOR.config.format_tags = 'p;h2;h3;h4;h5;h6;pre';

// Reihenfolge der Knopfgruppen
CKEDITOR.config.toolbarGroups = [
  { name: 'document',    groups: [ 'mode', 'document', 'doctools' ] },
  { name: 'basicstyles', groups: [ 'format', 'basicstyles', 'cleanup' ] },
  { name: 'paragraph',   groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
  { name: 'links' },
  { name: 'insert' },
  { name: 'clipboard',   groups: [ 'clipboard', 'undo' ] },
  { name: 'editing',     groups: [ 'find', 'selection', 'spellchecker' ] },
  { name: 'forms' },
  { name: 'styles' },
  { name: 'colors' },
  { name: 'tools' },
  { name: 'others' },
  { name: 'about' }
];

// Dieses Plugin wird im Pulldown-Menü nicht aufgeführt und muss somit manuell
// entfernt werden
config.removePlugins = 'save';

// Ab CKEditor v4.15.0 kann der englische Text im leeren Schreibfeld ersetzt
// werden - hier: noch inaktiv
config.editorplaceholder = 'Beginne hier zu schreiben …';

config.sharedSpaces = {
    top: 'cke_anchor'
};

// Die Tabellen-Eigenschaften des CKEditor erlauben noch die in HMTL5 deprecated Eigenschaften cellspacing und cellpadding
// Diese Eigenschaften sind veraltet und haben keine Funktion mehr
// Diese Eigenschaften werden hiermit ausgeblendet
config.disallowedContent = 'table[cellspacing,cellpadding]';

// ab 15.10 gibt es Quick Actions - einige der vorgegebenen sollen ausgeblendet werden
// 'h1': H1 ist immer der Artikel-Titel
// 'emoji': Emojis haben wir aus Barrierefreiheitsgründen abgelehnt
// 'blockquote': die original Zitat-Syntax erzeugt Probleme bei der Barrierefreiheit - deswegen gibt es ein gleichnamiges Macro
// 'icon': ist nicht barrierefrei (aria-hidden) - deswegen gibt es ein gleichnamiges Macro
// ### Macros ### in Kategorien sortiert
// ### Entwicklung/Development ###, da sie Script-Rechte benötigen, die Standard-User nicht haben
// 'macro-attachmentGalleryPicker', 'macro-attachmentSelector', 'macro-cache', 'macro-context', 'macro-groovy', 'macro-hardwareTracker', 'macro-html', 'macro-iconPicker', 'macro-job', 'macro-python', 'macro-script', 'macro-template', 'macro-uiextension', 'macro-uiextensions', 'macro-velocity', 'macro-wikimacrocontent', 'macro-wikimacroparameter'
// ### Inhalt/Content ###, da sie schwer zu benutzen oder überflüssig sind
// 'macro-async', 'macro-chart', 'macro-content', 'macro-displayIcon', 'macro-documents', 'macro-liveData', 'macro-office', 'macro-tagcloud', 'macro-translation', 'macro-useravatar'
// ### Layout ###
// 'macro-container', 'macro-dashboard'
// ### Navigation ###
// 'macro-menu', 'macro-documentTree', 'macro-tree'
// ### Benachrichtigung/Notifications ###, da sie interne Funktionen betreffen
// 'macro-activity', 'macro-mention', 'macro-notifications', 'macro-notificationsApplicationsPreferences', 'macro-notificationsAutoWatchPreferences', 'macro-notificationsCustomFiltersPreferences', 'macro-notificationsEmailPreferences', 'macro-notificationsFiltersPreferences', 'macro-notificationsSystemFiltersPreferences'
// ### Veraltet/Deprecated ###
// 'macro-spaceindex', 'macro-spaces'
// ### Intern/Internal ###
// 'macro-jobprogress', 'macro-pdftoc'
// ### einzelne Macros ###
// 'macro-messageSender'
// ### NICHT installierte Macros ###, die aber Admins angezeigt werden
// 'macro-jwplayer', 'macro-kanban', 'macro-mathjax', 'macro-map', 'macro-calendar', 'macro-figure', 'macro-ruby', 'macro-propertiesDisplayer', 'macro-three', 'macro-php', 'macro-sequence'
//
config.removeQuickActions = ['h1', 'emoji', 'blockquote', 'macro-attachmentGalleryPicker', 'macro-attachmentSelector', 'macro-cache', 'macro-context', 'macro-groovy', 'macro-hardwareTracker', 'macro-html', 'macro-iconPicker', 'macro-job', 'macro-python', 'macro-script', 'macro-template', 'macro-uiextension', 'macro-uiextensions', 'macro-velocity', 'macro-wikimacrocontent', 'macro-wikimacroparameter', 'macro-async', 'macro-chart', 'macro-content', 'macro-displayIcon', 'macro-documents', 'macro-liveData', 'macro-office', 'macro-tagcloud', 'macro-translation', 'macro-useravatar', 'macro-container', 'macro-dashboard', 'macro-menu', 'macro-documentTree', 'macro-tree', 'macro-activity', 'macro-mention', 'macro-notifications', 'macro-notificationsApplicationsPreferences', 'macro-notificationsAutoWatchPreferences', 'macro-notificationsCustomFiltersPreferences', 'macro-notificationsEmailPreferences', 'macro-notificationsFiltersPreferences', 'macro-notificationsSystemFiltersPreferences', 'macro-spaceindex', 'macro-spaces', 'macro-jobprogress', 'macro-pdftoc', 'macro-jobprogress', 'macro-pdftoc', 'macro-messageSender', 'macro-jwplayer', 'macro-kanban', 'macro-mathjax', 'macro-map', 'macro-calendar', 'macro-figure', 'macro-ruby', 'macro-propertiesDisplayer', 'macro-three', 'macro-php', 'macro-sequence'];

Simpel

On may walk home from office I had the right idea.

In our written config we had:

config.removePlugins = 'save';

I added:

config.removePlugins = 'xwiki-realtime';

before that config line above. That did not work. As the last line overwrote the first one.

We have to set this:

config.removePlugins = ['save', 'xwiki-realtime'];

Now the realtime editor is deactivated.

2 Likes

Yes, this line from your advanced configuration was overwriting the list of disabled plugins previously set through the UI.