Neuer Helper / new helper: CodeEditor

Themen aus der aktuellen Entwicklung - hier bitte auch Vorschläge und Wünsche posten, welchen Themen wir uns annehmen sollten :)
Antworten
Benutzeravatar
shadowcat
Administrator
Beiträge: 4055
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Neuer Helper / new helper: CodeEditor

Beitrag von shadowcat » Mi 29. Jul 2015, 10:37

English version below

Die meisten wird es vermutlich nicht interessieren, aber ich stelle es trotzdem mal rein. :mrgreen:

Beim Code Editor geht es um das Syntax Highlighting, etwa beim Bearbeiten eines Droplets. Für BC wurde hierfür erst mal das alte Module edit_area aus WB übernommen - funktioniert ja schließlich. :D Allerdings wird EditArea schon seit einigen Jahren nicht mehr gepflegt, und mittlerweile gibt es einige Alternativen, wie z.B. Codemirror (macht auch das Syntax Highlighting im CKEditor, wenn man auf die Quelltextansicht umschaltet) oder ACE.

Damit man später problemlos zwischen mehreren Editoren umschalten kann, schreibe ich einen Helper, der wiederum auf eine Klasse im Editor-Modul selbst zurückgreift. (Eine ganz ähnliche Funktionalität haben wir bei den WYSIWYG-Editoren im Zusammenspiel mit dem WYSIWYG Admin.) Jeder Editor hat ja andere Einstellungen, wird anders eingebunden usw. Für die Verwendung im Template gibt's ein neues Dwoo-Plugin show_code_editor(), welches genauso funktioniert wie show_wysiwyg_editor(). Für die Verwendung in eigenen Modulen ruft man einfach den Helper auf:

CAT_Helper_CodeEditor::getEditor(<Optionen>)

Da der CKE Codemirror bereits mitbringt, werde ich mir was überlegen, daß man den direkt benutzen kann, ohne daß wir hierfür ein eigenes Addon machen müssen. Dann muß man nur einen anderen Editor installieren, wenn man _entweder_ keinen CKE benutzt, _oder_ den Codemirror nicht mag. :mrgreen:

Though I'm pretty sure that most of you are not really interested in this, I present it anyway. :mrgreen:

The reason why you need a CodeEditor is for syntax highlighting, for example when editing droplets. For BC we still support the old edit_area module that is part of WB, as it simply works. But it is also a fact that EditArea is no longer supported, and there are some alternatives, for example Codemirror that is used in the CKEditor if you switch to the source code view, or ACE.

To make it possible to switch easily between different editors, I am writing a new helper, which itself uses a class in the editor addon. (We have something similar in our WYSIWYG editors that is used by the WYSIWYG Admin.) Each editor has it's own settings, it's own way to be included and so on. For use within a template there will be a new markup (Dwoo plugin) show_code_editor(), which works the same way show_wysiwyg_editor() does. For use in a module just use the helper:

CAT_Helper_CodeEditor::getEditor(<Options>)

As the CKEditor already includes Codemirror, I will find a solution to use it without having to create a new addon. This way, you will only have to install another editor if you do not have the CKE or do not like Codemirror. :mrgreen:
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Antworten