Markus Michalski FAQ

Markdown Support: Fehlerbehebung

Fehlerbehebung für Markdown Support: Plugin startet nicht, Editor fehlt, Markdown wird roh angezeigt, Vorschau leer, Bild-Upload scheitert, E-Mails mit Markdown-Syntax und häufige Fragen.

English Version

Zurück zur Übersicht

Markdown Support: Fehlerbehebung

Das Plugin schreibt Meldungen mit dem Präfix [Markdown-Support] in das PHP-Error-Log. Schau dort zuerst nach.

Plugin startet nicht oder fehlt in der Liste

Symptome: Das Plugin erscheint nicht unter Manage > Plugins, oder osTicket meldet beim Laden einen Fehler.

Prüfung:

  1. Liegt der Ordner unter include/plugins/markdown-support/ mit plugin.php direkt darin?
  2. Existiert vendor/autoload.php im Plugin-Ordner? Das Plugin lädt diese Datei zwingend.
  3. Sind die Dateien für den Webserver-Benutzer lesbar?

Lösung: Das Release-ZIP verwenden oder im Git-Checkout composer install --no-dev ausführen.

Editor, Toolbar oder Format-Umschalter erscheint nicht

Prüfung:

  1. Ist Enable Markdown Support an? Siehe Konfiguration.
  2. Zeigt die Browser-Konsole (F12) Fehler? Lädt js/markdown-editor.js mit Status 200 (Netzwerk-Tab)?
  3. Heißt die Seite tickets.php oder ticket.php? Nur für diese Skriptnamen werden die Assets eingebunden.
  4. Heißt das Eingabefeld response, note oder message?

Lösung: Seite hart neu laden (Strg+Umschalt+R). Zeigt der Netzwerk-Tab für js oder css einen Fehler 403, siehe den nächsten Abschnitt.

Der Format-Umschalter erscheint nur bei aktivem Allow Format Switching. Er bietet nur Markdown und HTML an. Ein Format Text gibt es im Umschalter nicht.

JavaScript oder CSS lädt mit Fehler 403

Das Plugin ergänzt beim Aktivieren die Datei include/.htaccess. Hat das nicht geklappt (zum Beispiel wegen fehlender Schreibrechte), erscheint im Log Warning: /include/.htaccess not found oder Could not find insertion point in /include/.htaccess.

Lösung: Plugin deaktivieren und wieder aktivieren. Prüfe danach, ob include/.htaccess einen Block # Allow static assets and API endpoints for plugins enthält. Bei NGINX gibt es keine automatische Anpassung: Erlaube dort den Zugriff auf /include/plugins/markdown-support/css/ und /include/plugins/markdown-support/js/ in der Server-Konfiguration.

Markdown wird als roher Text angezeigt

Mögliche Ursachen:

Live-Vorschau bleibt leer oder vereinfacht

Die Vorschau ruft api/markdown-preview.php auf. Antwortet der Endpoint nicht, zeigt der Editor eine vereinfachte Browser-Vorschau ohne Tabellen.

Prüfung:

  1. Existiert api/markdown-preview.php? Ist das Verzeichnis api/ für den Webserver-Benutzer beschreibbar? Im Log steht sonst Error: Cannot copy API file oder Error: /api directory not found.
  2. Antwortet die URL mit JSON (405 Method Not Allowed bei GET ist normal)?
  3. Heißt der Plugin-Ordner exakt markdown-support? Der Endpoint sucht Parsedown unter diesem Pfad.

Bild-Upload scheitert

Symptom Ursache und Lösung
Meldung Image upload not available — no draft context found. Das Eingabefeld hat keinen Draft-Kontext. Der Upload steht nur in Formularen mit osTicket-Drafts zur Verfügung
Der Platzhalter ![Uploading image-1...](/) verschwindet ohne Bild Das CSRF-Token fehlt. Seite neu laden
Fehlermeldung nach Drag & Drop Browser-Konsole und Netzwerk-Tab prüfen, upload_max_filesize und post_max_size in PHP prüfen
Datei wird abgelehnt Nur JPEG, PNG, GIF, WebP und BMP sind erlaubt

E-Mails zeigen Markdown-Syntax

Die Vorab-Umwandlung für E-Mails läuft nur bei Anfragen mit format=markdown in $_POST. Bei API-Anfragen steht das Format erst später zur Verfügung. Siehe API-Integration.

Auto-Konvertierung lässt sich nicht speichern

Die Konfiguration meldet Auto-convert requires Markdown Support to be enabled. Schalte Enable Markdown Support ein und speichere erneut.

Häufige Fragen

Gibt es eine Option für die Live-Vorschau?

Nein. Die Vorschau ist im Markdown-Modus immer aktiv, außer im kompakten Editor.

Können Clients im Portal Markdown schreiben?

Das Plugin prüft nur den Skriptnamen tickets.php/ticket.php und unterscheidet nicht zwischen Staff und Clients. Ob das Portal-Formular den Editor erhält, hängt von den Seiten deines osTicket ab. Gerendert werden Markdown-Einträge überall dort, wo osTicket den Eintrag ausgibt.

Kann ich Markdown und HTML im selben Ticket mischen?

Ja, das Format gilt pro Thread-Eintrag.

Was passiert beim Deaktivieren mit bestehenden Einträgen?

Das Plugin löscht nichts. Einträge behalten ihr Format und ihren Markdown-Text in der Datenbank. Die Darstellung ohne Plugin bestimmt der osTicket-Core.

Läuft das Plugin mit osTicket 1.17 oder älter?

Das Plugin ist für osTicket 1.18.x geschrieben. Andere Versionen sind nicht Ziel des Plugins, und der Core-Patch kann dort fehlschlagen.

Wird HTML in Markdown-Einträgen ausgeführt?

Nein. Parsedown läuft im SafeMode, und das Ergebnis geht durch Format::sanitize(). Siehe Technische Details.