1
0
Fork 0
  • release/2.0.0 b18b960fb0

    Ghost released this 2023-09-10 00:46:28 +00:00 | 22 commits to master since this release

    Mit 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 Unterverzeichnis public 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