WYSIWYG-Editoren
DRUPALCITY Berlin, 18. September 2011
Dies sind die Folien der Session vom DrupalCamp Berlin 2011 – mit ein
paar zusätzlichen Infos, damit ihr in etwa wisst, worum es geht.
Ausführlicher wird es um WYSIWYG-Editoren in etwa
3-4 Wochen in einer Artikelserie auf http://nicolaischwarz.de
gehen (wenn ich dazu komme).
KLEINKRAM
ZUR PERSONNicolai Schwarz, Design & Webentwicklungtextformer mediendesign, www.textformer.de, Dortmund
WERBUNG
»Drupal 7: Das Praxisbuch für Ein- und Umsteiger«Galileo Computing
469 Seiten – 34,90 EuroAb dem 28. September im Handel
ALTERNATIVEN
Ich verwende WYSIWYG-Editoren, weil Kunden danach
verlangen. Semantisch erziele ich aber bessere Ergebnisse mit
Markup-Sprachen wie Textile.
In einem WYSIWYG-Editor werden Zwischenüberschriften mal falsch
als gefetteter Absatz oder Listen als Absätze mit Spiegelstrich am
Anfang angelegt.
Mit Textile werden viel eher die richtigen Formate <h3> und <ul><li>
genutzt.
Leute, die keine Ahnung von Semantik oder Webstandards haben,
aber etwas sehen wollen, das wie Word aussieht.
DIE ZIELGRUPPE
DIE KANDIDATEN
Im Grunde beschränkt es sich in der Praxis auf die Schwergewichte:
CKEditor, dessen Vorgänger FCKEditor und TinyMCE.
Das WYSIWYG-Modul erlaubt aber sieben weitere Editoren, die in
bestimmten Fällen in Frage kommen können: YUI editor, WYMeditor,
Whizzywig, jWysiwyg, markItUp, openWYSIWYG und NicEdit.
Außerdem lohnt es sich, einige andere Editoren im Auge zu behalten,
die es derzeit noch nicht für Drupal gibt: Aloha, Mercury.
ANFORDERUNGEN
Im Folgenden liste ich meine Anforderungen an einen WYSIWYG-
Editor auf. Wer programmieren (und Editoren schnell anpassen) kann
oder weniger Wert auf Webstandards legt, kommt vermutlich zu
anderen Anforderungen.
EINFACH ZU INSTALLIEREN
EINFACH ZU INSTALLIEREN
Drei Möglichkeiten
* Modul WYSIWYG* Einzelmodul (CKEditor)* selbst für die Anbindung sorgen
EINFACH ZU INSTALLIEREN Fertige Module.
EINFACH ZU INSTALLIEREN Fertige Module.
SAUBERES HTML Erzeugt HTML nach Webstandards.
EINFACH ZU INSTALLIEREN Fertige Module.
SAUBERES HTML Erzeugt HTML nach Webstandards.
NÖTIGE FUNKTIONEN Fett. Kursiv. Listen. Links. Bilder. Überschriften. Quelltext.
EINFACH ZU INSTALLIEREN Fertige Module.
SAUBERES HTML Erzeugt HTML nach Webstandards.
NÖTIGE FUNKTIONEN Fett. Kursiv. Listen. Links. Bilder. Überschriften. Quelltext.
WEITERE FUNKTIONEN Tabellen? Blockquote? Linien? Sonderzeichen? Plugins!
EINFACH ZU INSTALLIEREN Fertige Module.
SAUBERES HTML Erzeugt HTML nach Webstandards.
NÖTIGE FUNKTIONEN Fett. Kursiv. Listen. Links. Bilder. Überschriften. Quelltext.
WEITERE FUNKTIONEN Tabellen? Blockquote? Linien? Sonderzeichen? Plugins!
UND SONST Hübsches Design? Deutsche Texte? Konfigurierbare Dialoge?
MODUL WYSIWYG
Das WYSIWYG-Modul für Drupal erlaubt es, zehn Editoren ein-
zubinden. Die Vorteile sind, dass sich der Admin nur an die eine
Benutzeroberfläche gewöhnen muss und sich einige Zusatz-Module
wie Autosave direkt an dieses Modul hängen. Als Nachteil stehen
über das WYSIWYG-Modul nicht immer alle Funktionen zur
Verfügung, die der Editor selbst vielleicht bietet.
DIE OPTIONEN
Je nach gewähltem Editor zeigt das WYSIWYG-Modul verschiedene
Optionen unter »Schaltflächen und Plugins« an.
CKEditor: Der Platzhirsch (wird aktuell in den Foren am häufigsten empfohlen)
FCKEditor: Wird nicht mehr gepflegt, aber immer noch im Rennen
TinyMCE: viele Funktionen, aktuell aber nicht nutzbar (Dh ich bekomme ihn unter Drupal 7
nicht zum Laufen. Andere Leute haben keine Probleme damit.)
YUI Editor: OK, aber im Vergleich zu den Großen zu wenig Funktionen
WYMEditor: Zeigt automatisch die HTML-Blöcke, übersichtliche Dialoge
openWYSIWYG: funktioniert nicht mit Chrome
jWysiwyg: keine Möglichkeit zur Konfiguration; aber basiert auf jQuery
markitup: In der Version zu wenig Funktionen; nicht mal Listen
Whizzywig: Hässlich, aber charmant wegen der Funktionen im Markup-Modus
NicEdit: Letztes Update im Januar 2009
ZWISCHENSTAND
Wenn TinyMCE nicht läuft, und der CKEditor die Weiterentwicklung des FCKEditors ist,
werden die meisten Leute den CKEditor auswählen. Ich bin einer der wenigen, die das
bisher nicht machen, aus einem bestimmten Grund: Wenn im CKEditor Bilder eingebaut
werden, gibt der Editor wichtige Informationen als Inline-Style an. Also etwa
style=”margin-left: 10px; margin-right: 10px; float: left; width: 120px; height: 168px;”
statt die Attribute »width« und »height« wie gewohnt und üblich zu benutzen. Nun sind
Inline-Styles im Sinne von Webstandards verpöhnt, außerdem sind im Textformat
»Filtered HTML« keine Inline-Styles erlaubt. Da ich mit dem FCKEditor auch alles machen
kann, was ich brauche, wähle ich bisher noch diesen.
Sobald allerdings das Media-Modul für Drupal 7 einsatzbereit ist, lassen sich Bilder über
einen anderen Button einbinden, über den zwar auch keine »width« und »height« ins
Spiel kommen (was sinnvoll wäre), der zumindest aber keine Inline-Styles erzeugt.
DETAILS, DETAILS
MedienverwaltungIn Drupal 7 gibt es für die Medienverwaltung zwei Möglichkeiten: IMCE oder das neue
Media-Modul. Diese funktionieren mit den drei großen Editoren: CKEditor, FCKEditor und
TinyMCE. Bei allen anderen Editoren muss man prüfen, ob die Medienverwaltung dort
auch genutzt werden kann – oder ob sie eigene Optionen für den Upload mitbringen.
DIALOGEEin Kritikpunkt im Sinne der Usability sind in einigen Editoren die Dialoge für Links und
Bilder. In vielen Fällen sind diese nämlich viel zu umfangreich und können Benutzer
überfordern. Leider sind die Dialoge erst einmal nicht konfigurierbar. Auch mit CSS ist da
nicht viel zu machen. Im FCKEditor sind die Dialoge zum Beispiel als Tabellen aufgebaut.
Einzelne Elemente lassen sich nicht direkt mit CSS ansprechen.
Speziell für Bilder ist aber der Dialog durch den Button fürs Media-Modul viel
benutzerfreundlicher.
Und zumindest bei internen Links können die Module »Linkit« oder »CKEditor Link« die
Dialoge vereinfachen.
CODE FORMATIERENInnerhalb des WYSIWYG-Moduls ist die Checkbox »Quellcodeformatierung anwenden«
(siehe Seite 41) hilfreich, weil dadurch die HTML-Elemente strukturiert ausgegeben
werden.
HTML KORRIGIERENDie Funktionen des Drupal-Core oder der Editoren, um Quellcode zu korrigieren, sind zwar
hilfreich, aber nur bis zu einem gewissen Grad. In manchen Fällen werden leere Absätze
erzeugt <p> </p>, andere falsche Konstrukte können nicht aufgelöst werden. Viel
bessere Ergebnisse liefert der HTML Purifier (siehe Seite 107), der sich leicht als Drupal-Filter
installieren lässt.
IMPORT AUS WORDDas größte Problem in WYSIWYG-Editoren ist immer der Import aus Word. Durch
Copy&Paste werden Formate übernommen, die wir im Netz nicht gebrauchen
können und die im Zweifel das Design zerstören. Der Button »Aus MS-Word importieren«
ist da äußerst nützlich, den müssen die Redakteure dann aber auch benutzen. Hier ist
die Checkbox »Bereinigung beim standardmäßigen Einfügen erzwingen« (siehe Seite 41)
sinnvoll, die einen solchen bereinigten Import erzwingt, auch wenn ein Redakteur den
Button nicht benutzt. Nach dem Import kann man auch einmal den Button »Formate
löschen« anklicken, der aber auch wieder aktiv genutzt werden muss.
Wir müssen aber damit rechnen, dass weiterhin unnötige Formatierungen übernommen
werden. Diese werden zwar in der Datenbank gespeichert, lassen sich aber in der
Ausgabe durch den HTML Purifier unterdrücken.
HTML PURIFIERDer »HTML Purifier« bereinigt das Markup äußerst umfangreich. Wir können hiermit zum
Beispiel nur bestimmte HTML-Elemente und -Attribute durchlassen und leere HTML-
Elemente löschen.
Als Alternativen stehen auch die Module »WYSIWYG-Filter« und »HTMLawed« zur
Verfügung.
LINKShttp://nicolaischwarz.de
Drupalcamp Essen 2012 http://dce12.drupaletics.de