TinyMCE in der Visforms-Administration
TinyMCE ist der Joomla Standard WYSIWYG HTML-Editor. Er verfügt über sehr viel Funktionalität und Erweiterbarkeit, insbesondere auch wegen der vielen verfügbaren Plugins. Für die Arbeit in der Administration von Visforms ist es wichtig, TinyMCE selbst und zusätzlich auch die Text-Filter von Joomla richtig zu konfigurieren. Dazu zählt die korrekte Zuweisung von Konfiguration zu Benutzer-Gruppen.
Hinweis: Die Voreinstellungen von TinyMCE in Joomla sind für die Arbeit in der Administration von Visforms nicht optimal, das gilt insbesondere für die Erstellung von PDF-Templates und E-Mail-Templates.
TinyMCE wird in Visforms im Backend sowie im Frontend an zahlreichen Stellen verwendet und seine Nutzung in Visforms kann auf keinen anderen Editor umgestellt werden. Visforms braucht an einigen Stellen mehrere Instanzen des Editors gleichzeitig auf einer Seite. Allein TinyMCE hat dieses Editor-Feature ‘Mehrinstanz-Fähigkeit’ zu allen Zeiten sauber unterstützt. Hinzu kommt, dass wir für Visforms keine Abhängigkeiten von Erweiterungen von Drittanbietern möchten, was aber bei allen anderen WYSIWYG HTML-Editor der Fall wäre.
Hinweis: Deaktivieren sie das Plugin des TinyMCE-Editors auf keinen Fall. Er wird von Visforms zwingend benötigt. Andernfalls funktionieren einige Feature nicht mehr, darunter auch die Bearbeitung und Vorschau der PDF-Templates.
Damit Sie bei der Arbeit mit Visforms mit TinyMCE optimal zurechtkommen, empfehlen wir Ihnen die hier beschrieben Konfigurations-Einstellungen und Arbeitsweisen.
TinyMCE ausschließlich für Visforms verwenden
In der Administration von Joomla kann jedem Benutzer sein eigener ‘Standard-Editor’ zugewiesen werden. Falls Sie also allein für Visforms TinyMCE verwenden möchten, haben Sie die folgende Option. Legen Sie sich speziell zum Arbeiten mit Visforms einen eigenen Benutzer an, und weisen Sie diesem Benutzer TinyMCE als ‘Standard-Editor’ zu. Für alle anderen Benutzer können Sie dann weiterhin Ihren Lieblingseditor als ‘Standard-Editor’ setzen bzw gesetzt lassen.
Textfilter im Hinblick auf Sicherheit
Textfilter haben ihre ernste Begründung, insbesondere auch im Hinblick auf die Sicherheit der Webseite. Beschränken Sie die vorgeschlagenen Einstellungen unbedingt auf ‘Super User’ oder eine speziell angelegte Benutzergruppe für Visforms-Administratoren, welche dieselben Berechtigungen wie ‘Super User’ haben sollen. Denn die hier beschrieben Einstellung bewirken, dass der Benutzer ohne Textfilter arbeiten darf.
Hinweis: Die vorgeschlagenen Einstellungen sollten auf gar keinen Fall für Benutzergruppen erlaubt werden, die nur im Frontend und nur als Editoren tätig sein dürfen.
TinyMCE Konfiguration für die Visforms-Administration
Im Folgenden werden die Einstellungen beschrieben, die für die Arbeit mit Visforms in der Administration sinnvoll sind.
Set-Assigment
Wählen Sie die ‘Voreinstellung 0’ und stellen Sie sicher, dass ‘Voreinstellung 0’ dem ‘Super User’ bzw. dem Visforms ‘Super User’ zugewiesen ist. Die Einstellungen die Sie im Folgenden im Parameter-Bereich darunter vornehmen, gelten für alle hier zugewiesenen Benutzer-Gruppen. Per Default sind das die Benutzer-Gruppen ‘Administrator’, ‘Editor’ und ‘Super-Users’.
Set-Parameter
Setzen Sie die folgenden Parameter auf die genannten Werte:
- Joomla-Textfilter benutzen = ‘Aus’
Mit dieser Einstellung verhindern Sie, dass zusätzlich die Joomla-Textfilter auf Ihre Eingaben in den Editor beim Speichern angewendet werden.
Dadurch könnten eventuell seitens der Joomla-Textfilter-Konfiguration verbotene HTML-Elemente durch Joomla gelöscht werden. - Verbotenen Elemente = ‘applet’
Mit dieser Einstellung können Sie kein <applet>-Element verwenden, was Sie in aller Regel auch nicht benötigen werden.
Ein eventuell notwendiges <script>-Element, ist hingegen möglich. - Erlaubte Elemente = ‘+*[*]’
Diese leicht kryptische Einstellung +*[*] bewirkt, dass Sie alle HTML-Elemente und darin alle Attribute verwenden können, ohne dass diese von TinyMCE gelöscht werden.
Selbst leere HTML-Elemente sind damit erlaubt.
Text mit HTML-Elementen in den Editor kopieren (Copy&Paste)
Es kommt in der Praxis häufig vor, dass Sie den HTML-Code außerhalb von Visforms vorbereiten. In einem letzten Schritt wird der vorbereitete Text mit dem HTML-Code von der Zwischenablage in den Editor kopiert.
Beim Einfügen von vorbereitetem Text aus der Zwischenablage in den Editor ist allerdings Vorsicht geraten. Die Ergebnisse unterscheiden sich deutlich, je nachdem in welchem Modus sich der Editor im Moment des Hinein-Kopierens gerade befindet.
Hinweis: Wenn Sie mit TinyMCE Text kopieren wollen, der auch HTML-Code enthält, dann müssen Sie sowohl im Quell-Editor als auch im Ziel Editor immer die Einstellung 'Editor aus' wählen.
Im Folgenden ein konkretes Beispiel, um den Unterschied zu demonstrieren.
Der folgende Text wurde zweimal in den Editor kopiert:
Hier der Link: <a href="https://vi-solutions.de/de/" title="vi-solutions" target="_blank">VIS</a>
Text-Paste im Modus ‘Editor An’
In diesem Modus konvertiert der Editor den erhaltenen HTML-Code in einen lesbaren Text.
Dazu ändert er die einzelnen Zeichen der typischen HTML-Knoten-Tags
- von < und >
- zu < und >,
den kurzen Zeichen-Strings der sogenannten HTML-Escape-Form ‘Entity Name’.
Es handelt sich danach nicht mehr um HTML-Code, sondern nur noch um einfachen Text. Dieser Text wird nicht länger als HTML-Code interpretiert und nicht länger entsprechend gerendert.
Aus dem Original in der Zwischenablage
Hier der Link: <a href="https://vi-solutions.de/de/" title="vi-solutions" target="_blank">VIS</a>
wird unmittelbar diese Kopie in TinyMCE:
Hier der Link: <a href="https://vi-solutions.de/de/" title="vi-solutions" target="_blank">VIS</a>
Text-Paste im Modus ‘Editor Aus’
In diesem Modus konvertiert der Editor den erhaltenen HTML-Code nicht in einen lesbaren Text.
Es handelt sich danach weiterhin um einen HTML-Code.
Dieser HTML-Code wird als solcher interpretiert und entsprechend gerendert.
Aus dem Original in der Zwischenablage
Hier der Link: <a href="https://vi-solutions.de/de/" title="vi-solutions" target="_blank">VIS</a>
wird spätestens beim Speichern oder dem Umschalten von Modus ‘Aus’ nach Modus ‘An’ diese Kopie in TinyMCE:
Hier der Link: <a href="https://vi-solutions.de/de/" title="vi-solutions" target="_blank" rel="noopener">VIS</a>
TinyMCE und eine besondere Sicherheitsmaßnahme beim Anchor <a>-Tag
Im vorliegenden Beispiel eines Anchor-Tags <a> erfolgt aber selbst im Modus ‘Editor Aus’ eine kleine Änderung.
TinyMCE fügt das HTML-Attribut rel="noopener" dem Anchor-Tags <a> hinzu: <a … rel="noopener">.
Dies ist eine empfohlene Sicherheitsfunktion.
Standardmäßig erhalten durch TinyMCE alle Links mit dem HTML-Attribute target="_blank" das HTML-Attribut rel="noopener".
Dadurch wird der Zugriff auf das JavaScript-Objekt window.opener über eine untergeordnete Registerkarte oder ein untergeordnetes Fenster deaktiviert, das beim Klicken geöffnet wird.
Im oberen Fall mit Modus ‘Editor Aus’ wird das HTML-Attribut rel="noopener" nicht hinzugefügt.
Es handelt sich dabei ja auch nur um einen einfachen Text, der
- keinen HTML-Code enthält,
- nicht gerendert wird,
- nicht angeklickt werden kann
- kein Sicherheits-Risiko darstellt.
Vergleich der Kopie-Ergebnisse im Editor
Der folgende Text wurde zweimal von der Zwischenablage in den Editor kopiert:
- Für die Zeile 1 erfolge das Kopieren im Modus ‘Editor An’.
Der HTML-Code wird konvertiert. - Für die Zeile 2 erfolge das Kopieren im Modus: ‘Editor Aus’.
Der HTML-Code wird nicht konvertiert.
Hier der Link: <a href="https://vi-solutions.de/de/" title="vi-solutions" target="_blank">VIS</a>
Ansicht des kopierten Textes im TinyMCE Modus ‘Editor An’
Ansicht des kopierten Textes im TinyMCE Modus ‘Editor Aus’
Joomla Text-Filter
Die Joomla Text-Filter können auch einen Einfluss darauf haben, welcher HTML-Code genau gespeichert werden kann. Die Speicherung der Daten durch Joomla hat nichts direkt mit dem Text-Editor zu tun. Diese Joomla Text-Filter wirken erst ganz spät beim Speichern der Daten in der Datenbank, die der Text-Editor ‘durchgelassen’ hat.
Wir gehen davon aus, dass Sie in der TinyMCE Plugin -Konfiguration folgende Einstellung gesetzt haben:
- Joomla-Textfilter benutzen = ‘Aus’
Falls das nicht der Fall ist, kommt es darauf an welche Einstellungen in den Joomla Text-Filtern für Ihre Benutzer-Gruppe hinterlegt sind.
In der Regel gehören die Administratoren von Visforms zu der Benutzer-Gruppe ‘Super-Users’.
Stellen Sie sicher, dass für die Benutzer-Gruppe ‘Super-Users’ die folgende Einstellung vorliegt:
- Super-Users = ‘Keine Filterung’.
Hinweis: Wenn Sie wie weiter oben erwähnt wurde, eine eigene 'Super-User' Gruppe für die Arbeit mit Visforms eingeführt haben, dann muss die Einstellung 'Keine Filterung' auch für diese spezielle Gruppe vorgenommen werden.