CKEditor 5: Funktion zum Anzeigen und Bearbeiten des Quellcodes

  • App
    WoltLab Suite Core

    Hallo,

    zumindindest hier im Forum fehlt im neuen Editor die Funktion, den Quellcode der geschriebenen Nachricht anzuzeigen und zu bearbeiten. Wird die Funktion noch nachgereicht? Sicherlich sollte sie im Idealfall nie zum Einsatz kommen, wenn der Editor einwandfrei funktioniert. Dennoch war die Funktion bisher immer praktisch, falls es im Editor doch zu unerwarteten Fehlformattierungen gekommen ist, den man im Quellcode Modus gezielt beseitigen konnte.

  • Die Möglichkeit für HTML muss es für mich weiterhin geben. Das ist eine zwingende Anforderung, um das Forum meiner Online-Simulation aktualisieren zu können. Ob das nun über die Quellcodeansicht oder wieder über eine separate Schaltfläche für „Unsicheres HTML“ funktioniert, ist mir egal. Hauptsache, die Nutzer können HTML verwenden.

    Ob ich unabhängig davon die Quellcodeansicht benötigen werde oder nicht, wird sich im Verlauf der Betaphase zeigen, wenn ich die typischen Workflows intensiver testen und entweder auf Probleme stoßen oder nicht stoßen werde. Das möchte ich jetzt noch nicht beurteilen. Mein erster Eindruck vom Editor ist diesbezüglich zwar gut, aber der Teufel steckt ja oft im Detail.

    Edited once, last by Cadeyrn (August 1, 2023 at 10:48 AM).

  • Alexander Ebert August 1, 2023 at 11:40 AM

    Added the Label Won’t be implemented
  • Die Möglichkeit für HTML muss es für mich weiterhin geben. Das ist eine zwingende Anforderung, um das Forum meiner Online-Simulation aktualisieren zu können. Ob das nun über die Quellcodeansicht oder wieder über eine separate Schaltfläche für „Unsicheres HTML“ funktioniert, ist mir egal. Hauptsache, die Nutzer können HTML verwenden.

    Diese Möglichkeit gibt es auch weiterhin und basiert auf dem HTML embed-Plugin. Aus Sicherheitsgründen erlauben wir dies jedoch nicht auf unserer Seite, da dies die Filter umgeht und somit das Einbetten von Schadcode möglich ist.

  • Mich würde die Begründung interessieren, warum die Funktion zum Anzeigen des Quellcodes in dem neuen Editor ersatzlos gestrichen wird.

    Mir ist durchaus bewusst, dass ein WYSIWYG-Editor sich dadurch auszeichnen soll, möglichst nicht mit dem Quellcode des Beitrags in Berührung kommen zu müssen. Allerdings hat sich der Quellcode-Modus in unserem Redaktionsalltag als nützliches "Profi-Tool" etabliert, wenn z.B. der Editor nicht die Formatierung liefert, dich sich erwünscht wurde. Im Quellcode konnte der Fehler (unabhängig davon, ob dieser vom Editor oder vom Benutzer durch eine Fehlbedienung ausgelöst wurde) in der Regel schnell lokalisiert und behoben werden. Besonders, dass diese Möglichkeit in Zukunft unterm Strich nur noch für Benutzer zugänglich ist, die direkten Zugriff auf die Datenbank haben, sehe ich als sehr kritisch an. Aus diesem Grund würde es mich sehr freuen, wenn der Quellcode-Modus zumindest

    1) optional aktivierbar

    oder

    2) via Plugin nachrüstbar

    wäre. Aus meinem Standpunkt kann ich nur sagen, dass Quellcode-Modus nie ein Hindernis war oder für Probleme gesorgt hat (auch nicht in unserer Community, also somit auch keine "zerstörten" Beiträge), sondern den Editor um ein netten Debug- und Feinschliff-Tool ergänzt hat.

  • Der neue Editor arbeitet fundamental anders und damit meine ich nicht nur „besser“ sondern wirklich „anders“. Ein typischer WYSWIYG-Editor wie beispielsweise auch Redactor II setzt vollständig auf contenteditable für die Eingabe als auch die Quelle für die fertige Nachricht.

    CKEditor 5 arbeitet hier nach dem Prinzip, dass nur Tastatureingaben vom Browser entgegen genommen werden, aber der Browser selbst keine Veränderungen vornimmt. Ein Tastendruck erzeugt nur eine Aktion, die vom Editor interpretiert und auf das interne model (die logische Repräsentation des Inhalts) angewendet wird. Anschließend wird ausgehend vom model die Änderung auf den sichtbaren Editor (editing view) angewandt. Beim Abruf der Nachricht aus dem Editor wird ein anderer Pfad eingeschlagen, beim so genannten data downcast wird der Inhalt des model genommen und vordefinierten, klaren Regeln wohlgeformtes HTML erzeugt.

    Die Notwendigkeit von manuellen Korrekturen im Quellcode entsteht bei typischen WYSIWYG-Editoren aus der Problematik, dass der Browser nach Gutdünken in der Wissensbasis (= dem HTML im Editor) herumpfuschen kann und dies im Falle von contenteditable oftmals wirklich nur als Pfusch zu bezeichnen ist.

    Und genau hier setzt CKEditor 5 an, in dem es dem Browser alle Mittel nimmt, irgendeinen Unsinn zu treiben. Es geht aber noch viel weiter: Selbst wenn mal durch irgendeinen Fehler im Editor etwas nicht ganz stimmt, dann lässt es sich über den Editor selbst wieder korrigieren, weil dies letztlich nur ein Fehler beim Schritt vom model zum editing view ist und die Wissensbasis selbst nicht defekt ist. Es ist wirklich ein absolut fundamentaler Unterschied.

    Am Ende kommt noch hinzu, dass der Quelltext-Modus von vielen Nutzern als Einladung angesehen wurde, nach Belieben eigenes HTML einzufügen. Das kollidiert aber einerseits damit, dass der Editor selbst eine sehr genaue Vorstellung vom erwarteten HTML hat als wir auch auf Seiten des Servers eine sehr restriktive Filterung vornehmen. Das sei aber nur am Rande erwähnt und ist nur ein weiteres Argument.

  • Kann man es nicht dann nur zur Ansicht/Kopieren freigeben wenn überhaupt für bestimmte Benutzergruppen?

    Du kannst auch einfach den Inhalt im Editor kopieren, das hat den identischen Effekt.

    Wenn man Inhalte im Editor markiert und dann in die Zwischenablage kopiert, passiert nämlich folgendes: Die markierten Inhalte im model werden in HTML umgewandelt (data downcast) und in die Zwischenablage geschrieben. Und wenn du den gesamten Inhalt markierst, ist das genau dasselbe, als würde man einer Art Quelltext-Ansicht den Quelltext kopieren.

    Beim Einfügen in den Editor passiert der umgekehrte Prozess: Aus dem HTML in der Zwischenablage wird per data upcast der Inhalt im model eingefügt. Und auch hier gilt wieder: Genau das würde passieren, wenn man das HTML in eine Quelltext-Ansicht einfügt und auf den Editor umschaltet.

  • Ich kann Alexander seine Aussage nur unterstützen, da ich selbiges aktuell ebenfalls durchmachen (ich schmeiße Redactor 3 aus allen Projekten raus).

    Der vom CKEditor erzeugte Output ist genau das wie man es im Editor sieht, zumal dieser auch unterstützt die Formatierung aus LibreOffice/MS Office zu übernehmen.

    Projekte:

    XIVDATA - Eorzea Database

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!