Connections 6 CR6: CKEditor anpassen

Connections 6 CR6: CKEditor anpassen

HCL Connections (ehemals IBM Connections) wird standardmäßig mit dem CKEditor ausgeliefert. Es existiert eine etwas versteckte Möglichkeit, um diesen Anzupassen. Der folgende Artikel wird auf einer nicht angepassten Connections 6 CR6 unter CentOS 7 beschrieben.

CKEditor Konfiguration aus jar-Datei der Anwendung kopieren

Da der Editor je nach Anwendung unterschiedlich aufgebaut ist, existieren anwendungsspezifische Konfigurationsdateien. Beispielsweise gleicht der Editor aus den Blogs nicht den Wikis. Die Editor-Konfiguration finden wir in den Web-Ressourcen der jeweiligen Applikation. Diese widerum liegen als JAR-Datei gepackt im Provision-Ordner – beispielsweise /opt/IBM/CNX-Data/files/provision/webresources/.

Man kann die verfügbaren Archive filtern:

ls -l com.ibm.lconn.*.web.resources_*.jar

Die exakten Dateinamen variieren je nach vorhandener Version. Im Folgenden werden wir beispielhaft den Editor in Wikis anpassen. Hierzu können wir den Dateinamen ermitteln, in dem wir nach lconn. den Name der Applikation (wikis) einfügen:

# ls -l com.ibm.lconn.wikis*.web.resources*.jar
-rw-r--r-- 1 root root 2532290 Sep 17 23:23 com.ibm.lconn.wikis.web.resources_3.5.0.20190917-1843.jar

Auf diesem System heißt die JAR-Datei für Wikis somit com.ibm.lconn.wikis.web.resources_3.5.0.20190917-1843.jar. Da es sich bei JAR-Dateien lediglich um ZIP-Archive mit einer anderen Erweiterung handelt, können wir das Archiv mittels unzip entpacken:

unzip -d wikis-web-resources com.ibm.lconn.wikis.web.resources_*.jar

Die benötigte Konfigurationsdatei findet sich nun im Pfad wikis-web-resources/resources/ckeditor.js

Konfiguration in Customizations-Ordner kopieren

ckeditor.js muss nach ${CustomizationDirectory}/javascript/lconn/${ApplicationName}/ kopiert werden. Standardmäßig existiert der Pfad ab lconn nicht und muss daher angelegt werden:

mkdir -p /opt/IBM/CNX-Data/files/customization/javascript/lconn/wikis
cp wikis-web-resources/resources/ckeditor.js /opt/IBM/CNX-Data/files/customization/javascript/lconn/wikis/

Die Konfiguration können wir nun entsprechend der CKEDitor 4 Dokumentation verändern. Als simples Beispiel nehmen wir die Toolbar und kommentieren darin die erste Tools-Gruppe aus:

opts.toolbar_Wiki = [
// {name: 'tools',      items:['Undo','Redo','MenuPaste']},
  {name: 'styles',     items:['Font','FontSize','Bold','Italic','Underline','Strike','TextColor','BGColor','CopyFormatting']},
  {name: 'paragraph',  items:['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','NumberedList','BulletedList','Indent','Outdent','Language','BidiLtr','BidiRtl']},
  {name: 'insert',     items:['Table','WikiImage','Embed','Iframe','MenuLink']}];

Damit die Änderungen wirksam werden, ist ein Neustart der Anwendung Common notwendig. Wahlweise per Jython-Skripte oder ISW-Konsole:

Nun ist die Änderung wirksam, was in diesem Beispiel bedeutet: Der linke Block mit den Buttons Rückgängig, Einfügen etc. ist nicht mehr zu sehen. Dadurch ist die Toolbar schlanker geworden und passt nun in eine Zeile:

Vorher

Nachher

Änderungen nicht sichtbar?

Wenn ihr die Änderungen nicht sehen könnt, liegt dies nicht zwangsweise an einem Fehler. Ich habe die Erfahrung gemacht, dass die Browser zunehmend aggressiver cachen. Daher empfehle ich, nach solchen Änderungen immerden Cache zu leeren.

In Firefox hierzu [STRG] + [SHIFT] + [ENTF] drücken. Bei Zeitraum Alles auswählen. Alle Haken außer Cache und Offline-Website-Daten können entfernt werden. Dadurch gehen aktive Logins nicht verloren. Im Prinzip reicht in den meisten Fällen das Leeren des Caches. Ich nehme die Webseite-Daten dennoch gerne dazu, da dies z.B. auch https-Weiterleitungen entfernt.

Leave a Reply