XG-GuildCMS Status (Stand Juni 2009)
Neues „User Panel“
Das immer voller werdene Module „Profile & Settings“ wurde abgelöst durch das „User Panel“. Im Großen und Ganzen dasselbe wie vorher, jedoch mit Tab-Interface um ein wenig Übersicht reinzubringen.
Benutzertitel
Es gibt jetzt im Backend die Möglichkeit Benutzertitel anzulegen. Diese können verschiedene Bedingungen haben, zum Beispiel nur für bestimmte Benutzer, oder basierend auf einer gewissen Anzahl von Posts im Forum usw. Etliche Titel sind bereits vordefiniert. Von den für ihn verfügbaren Titeln kann jeder Benutzer einen im „User Panel“ auswählen. Zur Zeit werden diese nur im Forum angezeigt.
Neues „Admin Panel“
Auch das veraltete „Admin Panel“ wurde abgelöst. Das alte war ja mehr oder weniger ein Flick-Werk, hauptsache es gab eines. Das neue basiert jetzt auf besseren Code und ist als normales Module realisiert anstatt als externes Script (Doh!). Es zu erweitern ist wesentlich leichter und komfortabler als im alten. Es gibt einen Ordner der nach Sub-Modules für das „Admin Panel“ gescannt wird, um ein neues Sub-Module dort zu hinterlegen reicht die Datei selbst und eine kleine Infodatei die die Sprachvariablen für Name und Beschreibung festlegt. Apropro Sprachvariablen, das gesamte Admin-Panel ist jetzt übersetzbar, mit vordefinierten Texten für Deutsch und Englisch. Aktionen werden hier ebenfalls über AJAX ausgeführt um einen flüssigen Workflow zu ermöglichen.
Es fehlen aber noch immer so einige Sachen im Admin Panel. Zum Beispiel gibt es keinerlei Möglichkeit die Spamfilter Liste zu bearbeiten, das ist zur Zeit nur über die Datenbank möglich. Auch gibt es noch keinen Spracheditor für die Übersetzung, keine Oberfläche für die Benutzertitel und so weiter. Alles in allem ist hier auf jeden Fall noch am meisten zu tun bis zum Release.
Verbesserte Benachrichtigungen
Die Benachrichtigungen sind jetzt wirklich mehrsprachig. Bislang wurden sie in der Sprache des „Auslösers“ erstellt, was in der Praxis kein Problem war da alle aktiven User Englisch benutzt haben. Aber es ist natürlich sehr dreckig, und war auch nur wegen meiner Faulheit so gelöst. Als meine Freundin wieder aktiv wurde auf der Site, mit Deutsch als verwendeter Sprache, waren Probleme natürlich vorprogrammiert. Jetzt sind die Benachrichtigung „live“ übersetzt zum Zeitpunkt der Anzeige.
Intrusion Detection
Basierend auf PHP-IDS bietet das CMS jetzt ein Logging versuchter Einbrüche. Zu diesem Zweck scannt PHP-IDS alle Request Variablen auf auffällige Muster. Auf berserks.org wurden bislang zwei massive Einbruchsversuche über SQL Injections geloggt und mehrere kleinere Versuche. Netter Nebeneffekt ist das Spammer, dadurch das sie sehr viele Links benutzen, in dem Intrusion-Log auftauchen und man regelmäßig neue Keywords für den Spamfilter geliefert bekommt. Apropro Spamfilter…
Verbesserter Spam-Filter
Der Spamfilter wird jetzt bei jedem Request mit POST Methode ausgeführt, über alle Elemente in $_POST. Dadurch wurde bislang *jeder* Spammer der am Captcha vorbeikam gestoppt. Sollte in einem POST Element Spam gefunden worden sein, wird die aktuelle Ausführung sofort durch ein die() unterbrochen und eine entsprechende Meldung ausgegeben.
Neue „Statistics“
Schmertz hat auch mal wieder etwas Code beigetragen und das Statistik-Module erheblich erweitert. Übrigens arbeitet er gerade an einer verbesserten „Channel Battle History“.
„Arcade Hall“ – Zocken bis der Arzt kommt
Das CMS hat jetzt ein Arcade Module. Hier können Benutzer kleine Flash-Games spielen, deren Highscore auch gespeichert wird. Das ganze garniert mit einer Art Saison-Support.
„Maptimes“ – Bestzeiten Datenbank
Ein weiteres Drift City spezifisches Module ist hinzugekommen, die „Maptimes“. Hier können Benutzer ihre besten Zeiten auf den verschiedenen Maps eintragen und sich aneinander messen. Das ließe sich durchaus auch für andere Rennspiele benutzen, es fehlt jedoch zur Zeit auch für dieses Feature ein Admin Module um die Strecken zu verwalten etc.
Kleinere Verbesserung für die Performance
Javascripts und Stylesheet werden jetzt „minified“ ausgeliefert, sprich auf das nötigste runter komprimiert. Auch wenn hier noch einiges zu holen ist, z.B. durch bessere Trennung der Komponenten und konditionelles laden, ist es jetzt schon ein wenig schneller geworden was die Ladezeiten angeht.
Abschließend noch mein Fazit…