Page:
Projektziele
No results
4
Projektziele
muke edited this page 2026-02-28 11:31:29 +01:00
Table of Contents
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
Navigation
Erste Schritte
- Home
- Projektziele - Vision & Feature-Übersicht
- Projektstruktur - Verzeichnisse & Komponenten
Technisch
- Überblick - Architektur & Datenfluss
- Datenbank - Schema & DBManager
- Logging - Log-System verstehen
- API-Integration - Phorge API-Calls
Für Entwickler
- Entwicklung - Tasks schreiben, Patterns
- Phorge-API - Kurzeinführung in Conduit
- Konventionen - Code-Style, Deutsch in Commits
- Dev-Guide - Lokal testen & debuggen
- Schema-Refresh - Schema-Generator für Custom-Felder
- Logging - Design und Anwendung des Loggers
Betrieb
- Deployment - Installation auf Wikonia-Server
- Cron-Jobs - Automatisierte Ausführung
- Sicherheit - Best Practices
Help
- Häufige Fehler - Troubleshooting
---
PhorgeRunner - Automatisierungs-Tool für Wikonia Phorge
Repository: Git phorgerunner | Phorge Instanz: phorge.wikonia.net