4 Projektziele
muke edited this page 2026-02-28 11:31:29 +01:00

Projektziele - Vision & Anforderungen

Zielsetzung

Entwicklung eines eigenständigen, flexibel einsetzbaren Automatisierungs-Bots zur Verwaltung und regelmäßigen Erstellung von Wartungs- und System-Tickets im Phorge-System.

Der Fokus liegt auf:

  • Maximaler Nachvollziehbarkeit - jede Aktion ist rückverfolgbar
  • Wartbarkeit - klare, modulare Code-Architektur
  • Unabhängigkeit - völlig getrennt vom Wikonia-Projekt

Hauptfunktionen

1. Automatisierte Ticketerstellung

  • Regelmäßige Erstellung von Wartungs- und System-Tickets
  • Beispiele: Systemchecks, Backups, Updates, Monitoring
  • Konfigurierbar über Job-Tabellen

2. Zentrale Protokollierung

  • Alle Bot-Aktionen werden in einer MariaDB protokolliert
  • Leicht auswertbar und abfragbar
  • Nicht an Phorge oder Wiki gekoppelt

3. Phorge API Integration

  • Direkte Einbindung per API (ohne Datenbankzugriff auf Phorge)
  • Unterstützt Webhooks, Cronjobs und manuelle Trigger
  • Sichere Token-Verwaltung

4. Rückverfolgbarkeit

  • Jedes Ticket erhält eine individuelle Referenz-ID / Checksum (Fingerprint)
  • Dokumentiert im Ticket UND im Log
  • Ermöglicht eindeutige Zuordnung von Aktionen

5. Modulare Erweiterbarkeit

  • OOP-Architektur mit flexiblen Task-Klassen
  • Vorbereitet für neue Jobarten, Notifikationen, Containerisierung
  • Keine Abhängigkeiten (kein Composer) - leicht zu portieren

6. Sicheres Frontend (später)

  • Minimales Web-Frontend für Log-Einblick und Status-Checks
  • Geschützt durch .htaccess / Authentifizierung
  • Optional über Web/API ansteuerbar

Architektur (Kurzüberblick)

  • Kernbereiche:

    • Business-Logik als Service-Klassen (TaskManager, LogManager, API-Helper)
    • Einstiegspunkte für CLI (Cronjob) und optionales Web-Frontend
    • Klare Trennung von Datenhaltung, Logik und Präsentation
    • Zentrale, einheitliche Konfiguration (config.php)
    • OOP mit minimalem, eigenem Autoloader (kein Composer-Zwang)
  • Sicherheit:

    • Web-Frontend mit .htaccess-Schutz
    • Kein direkter Datenbankzugriff von außen
    • API-Tokens sicher verwahrt in config.php (git-ignoriert)
    • Prepared Statements gegen SQL-Injection

Warum getrennt von Wikonia?

Das PhorgeRunner-Projekt ist technisch und organisatorisch eigenständig:

  • 📦 Eigene Datenbank - unabhängig vom Wiki
  • 🔄 Eigene Entwicklungs- und Updatezyklen - keine Abhängigkeiten
  • 🚀 Unabhängig deploybar - auf jedem Server mit PHP + MariaDB
  • 🛡️ Keine Risiken bei MediaWiki-Upgrades oder Serverwechseln

Zeitraum & Status

  • Projektleitung: muke86
  • Status: Aktive Weiterentwicklung (aus Proof-of-Concept)
  • Roadmap: Siehe Forgejo-Projekt & Phorge Board

Siehe auch: Projektstruktur, Überblick