AddOn


Issue Tracker für REDAXO Projekte

Beschreibung

Issue Tracker für REDAXO Projekte

Ein vollständiger Issue-Tracker für REDAXO CMS, der es Redakteuren ermöglicht, Wünsche zu äußern, Probleme zu melden und Vorschläge zu machen. Mit integriertem Projektmanagement und privatem Nachrichtensystem.

Kernfunktionen

  • Issue-Verwaltung: Erstellen, Bearbeiten, Löschen und Kommentieren von Issues
  • Dashboard: Übersicht über den aktuellen Status aller Issues mit Statistiken und Widgets
  • Status-Tracking: Offen, In Arbeit, Geplant, Abgelehnt, Erledigt
  • Prioritäten: Niedrig, Normal, Hoch, Dringend
  • Kategorien: Frei konfigurierbare Kategorien in den Einstellungen
  • Tags: Flexible Tag-Verwaltung mit Farbcodierung und Zufallsfarben für neue Tags
  • Private Issues: Issues können als privat markiert werden (nur für Ersteller und Admins sichtbar)
  • Kommentare: Diskussion und Feedback zu jedem Issue mit Thread-System
  • Interne Kommentare: Kommentare können als intern markiert werden (nur für Admins sichtbar)
  • Zuweisungen: Issues können Benutzern und AddOns zugeordnet werden
  • Versionsverwaltung: Issues können einer Version zugeordnet werden
  • Fälligkeitsdatum: Issues können mit Deadlines versehen werden, überfällige Issues werden markiert
  • Aktivitätsverlauf: Vollständiges Tracking aller Änderungen an Issues
  • Dateianhänge: Upload von Bildern, Dokumenten und anderen Dateien zu Issues
  • Gespeicherte Filter: Häufig verwendete Filtereinstellungen speichern und als Standard festlegen
  • Session-Filter: Filter bleiben während der Sitzung erhalten
  • Erweiterte Filter: Nach Status, Kategorie, Tags, Ersteller und Text durchsuchbar (inkl. "Alle Issues" und "Nur Geschlossene")
  • Sortierbare Listen: Alle Spalten können aufsteigend/absteigend sortiert werden
  • Automatisches closed_at: Beim Schließen eines Issues wird das Datum automatisch gesetzt

github.com/FriendsOfREDAXO/issue_tracker/

Umsetzung

Versionen

1.7.1

Für REDAXO
^5.15
Veröffentlicht am
08.08.2026
Require / PHP
>=8.1

1.7.1] – 2026-08-08

Bugfixes

  • Leere Einträge bei „Zugewiesener User“ behoben: In der Create/Edit-Maske wurden Benutzer bisher ausschließlich über das Feld name angezeigt. Leere oder whitespace-only Namen führten zu unsichtbaren Optionen im Select-Dropdown. Die Anzeige verwendet jetzt eine robuste Fallback-Kette (nameloginUser #ID) und trimmt Eingabewerte vor der Ausgabe.
  • @mention-Namensanzeige stabilisiert: Dieselbe Fallback-Logik wird nun auch für die übergebenen Mention-Userdaten verwendet, damit Erwähnungslisten keine leeren Namen enthalten.
  • Benutzerliste bei Zuweisung auf Berechtigte eingeschränkt: In der Maske issue_tracker/issues/create werden im Feld „Zugewiesener User“ jetzt nur noch aktive Benutzer mit Issue-Tracker-Zugriff angezeigt (Admin, issue_tracker[], issue_tracker[issuer], issue_tracker[issue_manager]).
  • Neue Option „Alle (gemeinsame Zuständigkeit)“: Issues können nun ohne feste Einzelzuweisung mit gemeinsamer Zuständigkeit gespeichert werden. Die Option ist im Assignee-Select verfügbar und wird in Liste/Detailansicht entsprechend angezeigt.
  • Benachrichtigungen bei gemeinsamer Zuständigkeit: Bei „Alle (gemeinsame Zuständigkeit)“ werden beim Erstellen eines neuen Issues alle berechtigten Issue-Tracker-Benutzer benachrichtigt, sofern deren Einstellung „Neue Issues per E-Mail“ aktiv ist. Der Ersteller selbst wird dabei weiterhin nicht benachrichtigt.

1.7.0

Für REDAXO
^5.15
Veröffentlicht am
28.03.2026
Require / PHP
>=8.1

1.7.0] – 2026-03-29

Neue Funktionen

Neue Funktionen

  • @mention-System: User können in Kommentaren per @login erwähnt werden

    • Autocomplete-Dropdown direkt im CodeMirror/EasyMDE-Editor (erscheint nach @-Eingabe, Navigation mit Pfeiltasten)
    • Erwähnungen werden in der neuen Tabelle issue_tracker_mentions gespeichert
    • Erwähnte User erhalten eine E-Mail-Benachrichtigung (individual abschaltbar über Präferenzen)
    • Neue Option in den Benachrichtigungs-Präferenzen: „Bei Erwähnungen"
  • Issue per Kommentar schließen (GitHub-Stil): Checkbox „Schließen & kommentieren" im Kommentarformular

    • Schließt das Issue und speichert den Kommentar in einem Schritt
    • Sendet eine kombinierte E-Mail statt zwei separater Benachrichtigungen
    • Kommentar wird nur angezeigt, wenn das Issue noch nicht geschlossen/abgelehnt ist
  • Tags direkt in der Issue-Ansicht bearbeiten: Tags können in der Sidebar der Detailansicht ohne den Edit-Modus verwaltet werden

    • Bestehende Tags zeigen ein ×-Symbol zum Entfernen (nur für berechtigte User)
    • Kleines Dropdown zum Hinzufügen weiterer Tags (zeigt nur noch nicht vergebene Tags)
  • Standard-Tags bei Installation/Update: Die Tags Bug, Feature, Docs und Good Idea werden beim Installieren und Updaten automatisch angelegt (falls noch nicht vorhanden)

  • Interaktive Checklisten: Aufgabenlisten in Beschreibungen und Kommentaren können per Klick direkt abgehakt werden

    • Markdown-Syntax: - [ ] Offene Aufgabe und - [x] Erledigte Aufgabe
    • Fortschrittsbalken mit Zähler (x/y Aufgaben erledigt) in der Detailansicht
    • Kompakter Fortschrittsbalken (4px) in der Issue-Liste wenn Checklisten vorhanden sind
    • Klick auf Checkbox speichert sofort via Server-Request, kein Seitenneulade
  • Zeiterfassung: Zeit kann über den /spent-Befehl in Kommentaren erfasst werden

    • Unterstützte Formate: 2h, 30m, 1h 30m, 90min
    • /spent wird im angezeigten Kommentar ausgeblendet
    • Gesamtzeit aller Einträge im Details-Panel der Detailansicht sichtbar
    • Zeiteinträge werden im Aktivitätsprotokoll festgehalten
    • Neue Datenbank-Tabelle rex_issue_tracker_time_entries (id, issue_id, comment_id, user_id, minutes, note, created_at)
  • #Issue-Referenzen: Verweise auf andere Issues in Kommentaren werden automatisch verlinkt

    • #42 wird zu einem klickbaren Backend-Link auf Issue #42 – Syntax: Leerzeichen oder Satzzeichen vor/nach #, nicht direkt an Wortzeichen (foo#42 wird nicht ersetzt)
    • Das referenzierte Issue erhält einen Cross-Reference-Eintrag im Aktivitätsverlauf
    • Referenzen innerhalb von Code-Blöcken werden nicht ersetzt

Bugfixes

  • Doppeltes HTML-Encoding in Links: rex_url::backendPage() liefert bereits HTML-kodierte URLs (&) – wird jetzt mit false als drittem Parameter aufgerufen um eine rohe URL (&) zu erhalten, die dann korrekt einmalig durch rex_escape() im HTML-Attribut kodiert wird. Betrifft Checklisten-Formular-Action und #Issue-Referenz-Links.
  • #Issue-Referenz-Regex zu weit: Regex /#(\d+)/ durch /(?<!\w)#(\d+)(?!\w)/ ersetzt um Treffer wie foo#42 oder #42px zu vermeiden.

Neue Klasse

  • FriendsOfREDAXO\IssueTracker\ContentRenderer: Zentrale Render-Klasse für Beschreibungen und Kommentare
    • render(): Markdown-Rendering mit Checklisten, #Issue-Links und /spent-Filterung
    • getChecklistProgress(): Zählt offene/erledigte Checklisten-Items im Rohtext
    • toggleChecklistItem(): Togglet ein einzelnes Checklisten-Item per Index
    • extractSpentMinutes() / stripSpentCommand(): Parst und entfernt /spent-Befehle
    • formatMinutes(): Formatiert Minuten als lesbare Zeitangabe (1h 30m, 45m)

Neue Sprachschlüssel

  • issue_tracker_checklist_items – „Aufgaben erledigt" / „tasks done"
  • issue_tracker_time_spent – „Aufgewendete Zeit" / „Time spent"
  • issue_tracker_time_logged – „Zeit erfasst" / „Time logged"
  • issue_tracker_referenced_in – „In Issue erwähnt" / „Referenced in issue"

Neue Datenbank-Tabelle

  • rex_issue_tracker_time_entries: Speichert Zeiteinträge mit issue_id, comment_id (nullable), user_id, minutes, note, created_at

1.6.0] – 2026-03-28

Neue Funktionen

  • @mention-System: User können in Kommentaren per @login erwähnt werden
    • Autocomplete-Dropdown direkt im CodeMirror/EasyMDE-Editor (erscheint nach @-Eingabe, Navigation mit Pfeiltasten)
    • Erwähnungen werden in der neuen Tabelle issue_tracker_mentions gespeichert
    • Erwähnte User erhalten eine E-Mail-Benachrichtigung (individual abschaltbar über Präferenzen)
    • Neue Option in den Benachrichtigungs-Präferenzen: „Bei Erwähnungen"
  • Issue per Kommentar schließen (GitHub-Stil): Checkbox „Schließen & kommentieren" im Kommentarformular
    • Schließt das Issue und speichert den Kommentar in einem Schritt
    • Sendet eine kombinierte E-Mail statt zwei separater Benachrichtigungen
    • Kommentar wird nur angezeigt, wenn das Issue noch nicht geschlossen/abgelehnt ist
  • Tags direkt in der Issue-Ansicht bearbeiten: Tags können in der Sidebar der Detailansicht ohne den Edit-Modus verwaltet werden
    • Bestehende Tags zeigen ein ×-Symbol zum Entfernen (nur für berechtigte User)
    • Kleines Dropdown zum Hinzufügen weiterer Tags (zeigt nur noch nicht vergebene Tags)
  • Standard-Tags bei Installation/Update: Die Tags Bug, Feature, Docs und Good Idea werden beim Installieren und Updaten automatisch angelegt (falls noch nicht vorhanden)

Verbesserungen

  • Einheitliche Status-Label-Farben: Liste und Detailansicht verwenden jetzt durchgehend dieselben Farben
    • open → rot (danger), in_progress → orange (warning), planned → blau (info), closed → grün (success), rejected → grau (default), info → dunkelblau (primary)
  • Prioritäts-Label übersetzt: Priorität wird jetzt als übersetztes Label angezeigt statt als roher DB-Schlüssel
  • Kombinierte Benachrichtigung: NotificationService::notifyCommentWithClose() sendet eine E-Mail an alle Beteiligten wenn ein Issue via Kommentar geschlossen wird
  • Effizientere User-Abfrage: Alle berechtigten User werden einmalig geladen und für Watcher-Panel wie @mention-Autocomplete genutzt

Neue Datenbank-Tabelle

  • rex_issue_tracker_mentions: Speichert @mention-Einträge mit issue_id, comment_id, mentioned_user_id, created_by, created_at

Neue Datenbankspalte

  • rex_issue_tracker_notifications.email_on_mention (tinyint, Standard: 1): Steuert @mention-E-Mail-Benachrichtigung pro User

1.4.1

Für REDAXO
^5.15
Veröffentlicht am
11.02.2026
Require / PHP
>=8.1

Bugfixes

  • E-Mail-Benachrichtigungen nur für Admins: Nicht-Admin-Benutzer erhielten keine E-Mails, da die Berechtigungsprüfung per LIKE auf der role-Spalte nach Permission-Strings suchte statt nach Rollen-IDs. Berechtigungen werden jetzt korrekt über rex_user::hasPerm() geprüft.
  • issue_tracker[issue_manager] wird jetzt bei Benachrichtigungen berücksichtigt (fehlte vorher)
  • Deaktivierte Benutzer werden bei Benachrichtigungen korrekt ausgeschlossen (status = 1)
  • SQL-Injection-Schutz: Whitelist-Validierung für Notification-Typ hinzugefügt

Vollständiger Changelog: https://github.com/FriendsOfREDAXO/issue_tracker/blob/main/CHANGELOG.md

1.4.0

Für REDAXO
^5.15
Veröffentlicht am
11.02.2026
Require / PHP
>=8.1

1.4.0] – 2026-02-11

Neue Funktionen

  • Erinnerungs-Funktion: Zugewiesene Benutzer können per Klick an offene Issues erinnert werden
    • Konfigurierbarer Cooldown (Standard: 24 Stunden) zwischen Erinnerungen pro Issue
    • Erinnerungs-Button in der Issue-Detailansicht (rot hervorgehoben)
    • Reminder-Tracking in eigener Datenbank-Tabelle mit History-Eintrag
  • Anpassbare Erinnerungs-Templates: Reminder E-Mail-Vorlage ist über die Einstellungen anpassbar (DE + EN)
  • Sichere Markdown-Formatierung in E-Mails: Beschreibungen und Kommentare in E-Mail-Templates unterstützen jetzt:
    • **fett** und *kursiv*
    • [Linktext](URL) für Links
    • Automatische Verlinkung von URLs und E-Mail-Adressen
    • Zeilenumbrüche werden zu <br> konvertiert
  • Neue Platzhalter: {{sent_by_name}}, {{issue_status}}, {{due_date}} für E-Mail-Templates
  • Konfigurierbare Absender-Adresse: Eigene E-Mail-Absenderadresse in den Einstellungen, mit PHPMailer-Konfiguration als Fallback

Verbesserungen

  • Tabellendefinitionen zentralisiert: Alle 14 DB-Tabellen in gemeinsame table_setup.php ausgelagert (von install.php und update.php genutzt)
  • Update-sicheres Template-Management: Fehlende E-Mail-Templates werden bei Updates automatisch nachgerüstet, ohne bestehende zu überschreiben
  • E-Mail-Darstellung: white-space: pre-wrap durch nl2br() ersetzt für saubere Zeilenumbrüche
  • Reminder Cooldown: Einstellbar über Einstellungen → E-Mail mit Minimum 1 und Maximum 720 Stunden

1.3.0

Für REDAXO
^5.15
Veröffentlicht am
09.02.2026
Require / PHP
>=8.1

Neu in 1.3.0

  • Lightbox für Attachments
  • Neuer Status Info

1.2.0

Für REDAXO
^5.15
Veröffentlicht am
26.01.2026
Require / PHP
>=8.1

Neu in: 1.2.0

  • Verwandte Issues können verknüpft werden
  • Schönere Issue Mails
  • E-Mail-Vorlagen können zurückgesetzt werden
  • E-Mail-Versandt-Testing

1.1.0

Für REDAXO
^5.15
Veröffentlicht am
18.01.2026
Require / PHP
>=8.1
  • CSV '/ PDF Export
  • Fehlende Übersetzungen ergänzt
  • Filter in Overview
  • Rechte verbessert

1.0.1

Für REDAXO
^5.15
Veröffentlicht am
16.01.2026
Require / PHP
>=8.1
  • Fehlende Übersetzungen ergänzt
  • Email-Templates um Info zum Einmal-Link ergänzt
  • Fixed: Problem bei der AddOn-Auswahl Array vs String
  • Benachrichtigungs-Email-Adresse kann direkt in den Einstellungen gesetzt werden, wenn im Profil nicht hinterlegt

1.0.0

Für REDAXO
^5.15
Veröffentlicht am
12.01.2026
Require / PHP
>=8.1

Initial release