-
Version 2.0.0 (06.09.2023) - Refaktorierung von Back- und Frontend, Fehlerbehebung und Optimierung Stable
released this
2023-09-10 00:46:28 +00:00 | 22 commits to master since this releaseMit dieser Version wurden die Strukturen von Backend und Frontend des Projekts grundlegend überarbeitet. Mit diesem Schritt sind zukünftige Erweiterungen einfacher und mit weniger Fehlerpotenzial bzw. Sicherheitsrisiko zu realisieren.
Diese Version beinhaltet mehrere Breaking Changes und erfordert teilweise eine manuelle Migration vorhandener Installationen.
Changelog
Hinzugefügt
Backend:
- Automatisches Laden von PHP-Klassen über einen PSR-4 Autoloader
- Objektorientiertes API für die Verarbeitung von Anfragen
- Session-Management und Einschränkung des Zugriffs per Middleware
- Verbessertes, PHP-natives Templating-System mit sicheren Variablen und einfacher Include-Funktionalität
- Überprüfung von Account-Existenz und UserLevel vor Wiederaufnahme der Sitzung
- Versionierung und automatische Migration des Schemas eigener MySQL-Tabellen
- Caching von Benutzernamen über mehrere Anfragen hinweg mit APCu
- Beispiel-Konfigurationsdatei um Dokumentation erweitert
Frontend:
- Dependency Management über npm
- Kompilierung, Zusammenfassung und Optimierung von CSS und Sass zu einem Stylesheet pro Seitentyp
- Nutzung des gleichen Fonts auf allen Seiten
Geändert
Backend:
- Trennung öffentlich abrufbarer Skripte und Assets in ein separates Webroot-Verzeichnis (public)
- Implizite Inklusion des Dashboard-Template (plugins) entfernt
- Konfigurationsformat auf INI geändert, Struktur verbessert
- Eigene Tabellen haben konsistente, aussagekräftigere Namen erhalten (Präfix mcp_)
- Verbindung zur Datenbank wird nur bei Bedarf hergestellt
- Aufbau von Tabellen auf MCP-Seiten optimiert
- Zusammenführung von Dashboard-Templates
- Bestehende Klassen an die objektorientierte Struktur angepasst
- Datenbankabfragen der OpenSim-Klasse optimiert
- Behoben: Nichterreichbarkeit der Seite user-online-state
- Behoben: Fehlerhafte HTML-Struktur einiger Templates
- Behoben: Entfernung aller HTML-Tags in Plaintext-Versionen von E-Mails
Frontend:
- Ungenutzte Stylesheets und JavaScript-Dateien entfernt
- Stylesheet für Login-Seiten auf tatsächlich genutzte Regeln reduziert
- Schriftzug "Es ist niemand online" auf OnlineDisplay-API-Seite zentriert
- Behoben: Überlauf des Schriftzugs "Administration" nach Minimierung der Navigationsleiste im Dashboard
- Behoben: Falsche font-family-Deklarationen im CSS für Login-Seiten
Breaking Changes / Migration
Konfiguration (manueller Eingriff erforderlich):
Die Einstellungen der bisher vorhandenen config.php müssen manuell in eine Datei config.ini im selben Verzeichnis übertragen werden. Es wird empfohlen, die Datei config.example.ini in diesem Repository als Ausgangspunkt zu nutzen und die Beispielwerte mit den Werten aus der alten Konfigurationsdatei zu ersetzen.Webserver (manueller Eingriff erforderlich):
Die Einstellungen des Webservers müssen geändert werden, um das öffentliche Webverzeichnis (Apache:DocumentRoot
, nginx:root
) auf das Unterverzeichnispublic
der neuen Struktur zu ändern.Datenbank (automatisch):
Durch die automatische Datenbank-Migration werden die MySQL-Tabellen des MCP umbenannt und ihre Struktur teilweise verändert. Das macht MCP-Installationen ab dieser Version inkompatibel zu allen 1.x.x- und älteren Versionen.Downloads