Markdown Support: Installation
Installation von Markdown Support: Plugin-Ordner nach include/plugins/markdown-support, Abhängigkeiten, Aktivierung im Admin Panel, Update, Deaktivieren und Entfernen.
Markdown Support: Installation
Voraussetzungen
- osTicket 1.18.x
- PHP 8.0 oder neuer (
composer.jsondeklariert>=7.4, der Code nutzt aber PHP-8.0-Syntax) - Zugriff auf das Dateisystem des osTicket-Servers und auf das Admin Panel
- Schreibrechte des Webserver-Benutzers auf
include/class.thread.php,include/.htaccessund das Verzeichnisapi/(siehe unten)
Plugin-Dateien installieren
Variante 1: Release-ZIP (empfohlen)
- Das Release-ZIP von den GitHub Releases herunterladen und entpacken.
- Den Ordner
markdown-supportnachinclude/plugins/im osTicket-Verzeichnis kopieren.
Das ZIP enthält die Laufzeit-Abhängigkeit Parsedown im Ordner vendor/.
Variante 2: Git Clone mit Composer
cd /pfad/zu/osticket/include/plugins
git clone https://github.com/markus-michalski/osticket-markdown-support.git markdown-support
cd markdown-support
composer install --no-dev
Das Plugin lädt beim Start
vendor/autoload.php. Ohnecomposer installfehlt dieser Ordner im Git-Checkout, und das Plugin kann nicht starten.
Der Zielpfad ist include/plugins/markdown-support/ mit plugin.php, class.MarkdownPlugin.php und config.php direkt darin.
Plugin aktivieren
- Im osTicket Admin Panel zu Manage > Plugins wechseln.
- Markdown Support in der Liste suchen und aktivieren.
Beim Aktivieren passiert Folgendes:
- Das Plugin legt bei Bedarf selbst eine Instanz an (Singleton, Notiz
Auto-created singleton instance). - Es ergänzt
include/.htaccessum Regeln, die statische Dateien (js,css, Bilder, Fonts) und PHP-Dateien unterplugins/freigeben. - Es kopiert
markdown-preview.phpnachapi/markdown-preview.php(Endpoint der Live-Vorschau). - Es speichert die installierte Version in der Plugin-Konfiguration.
- Beim Start des aktiven Plugins wird
include/class.thread.phpum einencase 'markdown':ergänzt. Vorher legt das Plugin die Sicherunginclude/class.thread.php.markdown-backupan.
Die Einstellungen stehen unter Konfiguration.
Ein bereits geöffneter Browser-Tab bekommt den Editor erst nach dem Neuladen der Seite.
Update
Ersetze den Ordner include/plugins/markdown-support/ durch die neue Version. Beim nächsten Start vergleicht das Plugin die gespeicherte installed_version mit der Version in plugin.php. Ist sie älter oder leer, aktualisiert es die .htaccess-Regeln, kopiert den Preview-Endpoint erneut und speichert die neue Version.
osTicket aktualisieren
Der Core-Patch in include/class.thread.php gehört zu osTicket und geht bei einem osTicket-Update verloren, wenn die Datei ersetzt wird. Das Plugin verhält sich dabei so:
- Beim nächsten Start findet es kein
case 'markdown':und patcht die neue Datei erneut. Existiert schon eine Sicherung.markdown-backup, überschreibt es sie nicht. Sie stammt dann noch von der Datei aus der alten osTicket-Version. - Beim Deaktivieren kopiert das Plugin diese alte Sicherung über
include/class.thread.phpund löscht sie. Damit würde die Core-Datei der neuen osTicket-Version durch die alte ersetzt. - Löschst du die Sicherung stattdessen von Hand, stellt das Deaktivieren nichts wieder her, und der Patch bleibt in der neuen Core-Datei stehen. Das Plugin erkennt den vorhandenen
case 'markdown':und legt keine neue Sicherung an.
Deaktiviere das Plugin deshalb vor dem osTicket-Update. Dabei wird die ursprüngliche Datei wiederhergestellt und die Sicherung gelöscht. Spiele danach das osTicket-Update ein und aktiviere das Plugin wieder. Es legt dann eine frische Sicherung der neuen Datei an und patcht sie.
Deaktivieren und Entfernen
- Deaktivieren: Im Admin Panel unter Manage > Plugins das Plugin deaktivieren. Das Plugin stellt dann
include/class.thread.phpaus der Sicherung wieder her (und löscht die Sicherung), entferntapi/markdown-preview.phpund entfernt seine Regeln ausinclude/.htaccess. - Entfernen: Erst deaktivieren, dann das Plugin im Admin Panel deinstallieren und den Ordner
include/plugins/markdown-support/löschen.
Das Plugin löscht keine Daten aus der Datenbank. Bestehende Einträge behalten das Format markdown in der Spalte format und ihren Markdown-Text. Wie osTicket solche Einträge ohne das Plugin darstellt, entscheidet der osTicket-Core.