CrazyStat 1.70
Update 08.01.2011: CrazyStat 1.70 RC2 veröffentlicht!
Update 22.12.2010: CrazyStat 1.70 RC1 veröffentlicht!
Update 07.10.2010: Momentan läuft die Test- und Dokumentations-Phase. CrazyStat 1.70 wird jetzt intensiv getestet sowie parallel dokumentiert, wobei einiges ins Englische übersetzt werden muss. Bei den Tests ist neben Kleinigkeiten bisher ein schwerwiegender Bug aufgefallen der zu falschen Auswertungs-Ergebnissen führt. Er hängt mit dem neuen Preset-File-Cache (PFC) zusammen, tritt nur bei neuartigen Presets auf und erfordert wahrscheinlich eine recht komplexe Lösung. Ich rechne momentan damit, dass CrazyStat 1.70 im Dezember erscheinen wird.
Update 21.09.2010: Das echte Komprimieren von Logdateien ist mittlerweile implementiert. Dabei kommt das auf den meisten PHP-Installationen verfügbare zlib zum Einsatz sodas .gz-Dateien entstehen. Bei Logdateien wird stets die letzte Datei (an welche noch Einträge hinzugefügt werden) unkomprimiert gelassen. Sobald eine neue Datei angelegt werden muss, wird die vorhergehende komprimiert. So wird nicht durch ständiges Schreiben in die komprimierte Datei der Server belastet. Durch die Kompression schrumpfen die Logdateien auf fast ein Zehntel ihrer Ausgangsgröße. Die Auswertungsperformance der komprimierten Logs ist nach ersten Tests kaum schlechter als bei unkomprimierten. Dazu kommt, dass dank Caching (s. u.) ohnehin i.d.R. nur die letzte (stets unkomprimierte) Logdatei zur Auswertung benötigt wird. Selbstverständlich kann die Kompression deaktiviert werden.
Mittlerweile sind fast alle Features, die ich für 1.70 geplant habe implementiert, sodass die Entwicklungsphase wohl bald abgeschlossen sein wird. Ich gehe davon aus, dass 1.70 noch in diesem Jahr veröffentlicht wird.
Was ist neu?
Die wohl wichtigste Neuerung in CrazyStat 1.70 ist die Mehrsprachigkeit. Alle Texte wurden in Sprachdateien ausgelagert und ins Englische übersetzt, weitere Sprachen lassen sich leicht hinzufügen und werden hoffentlich bald folgen. Wenn du eine weitere Sprache gut beherrschst und Lust hast, CrazyStat zu übersetzen, kannst du dich schon jetzt bei mir melden. Wenn du gut im Englischen bist, kannst du mir auch behilflich sein, indem du meine Übersetzung überprüfst und eventuell korrigierst. Die Dokumentation wird ebenfalls in Deutsch und Englisch verfügbar sein.
Voraussichtlich wird CrazyStat 1.70 auf Wunsch Logdateien echt komprimieren. Dadurch werden sie erheblich kleiner
sodass viel Webspace gespart wird.
Auch die Performance der Auswertung wurde wieder an vielen Stellen verbessert: Zunächst wurde die Auswertung durch Code-Optimierungen um ca. 8% gesteigert. Durch den Einsatz von getdate in Verbindung mit dem Setzen einer Zeitzone ist dies deutlich schneller als getDateFast, sodass nun wieder auf getdate gesetzt wird, was weitere Geschwindigkeits- Verbesserungen bewirkt. Außerdem wurde die Performance der Ajax-Tree-Extension verbessert.
Darüber hinaus bietet CrazyStat 1.70 aber eine neue verbesserte Caching-Technologie: Der Default-File-Cache aus
Version 1.6 wurde zu einem Preset-File-Cache verallgemeinert. Bisher wurden die Auswertungs-Ergebnisse mit
Default-Einstellungen in einer Datei abgelegt sodass der Login enorm beschleunigt werden konnte. Jetzt lassen sich
alle Presets cachen, sodass die Auswertung eines Presets nun enorm beschleunigt wird. Der Clou dabei:
Presets können jetzt selbst angelegt und flexibel verändert werden, sodass du deine Lieblingseinstellungen speichern
und schnell laden kannst.
Die Dateien des Preset-File-caches können auf Wunsch mit zlib als gz-Dateien komprimiert werden, sodass das Cachen
vieler Presets möglich ist, ohne dass viel zusätzlicher Webspace benötigt wird.
Außerdem wird die neue Version wieder ein Stückchen sicherer: So wurde die Passwortübertragung beim Login nun durch Salted Hashs (siehe Tutorial) noch sicherer gemacht. Außerdem wird nun auch beim Ändern des Passworts das neue nicht mehr im Klartext, sondern als MD5-Hash übertragen. Wer um die Privatsphäre seiner Besucher besorgt ist bzw. wenn es die Rechtssprechung vorschreibt, kann CrazyStat nun IP-Adressen anonymisieren. Dazu wird ein Salted Hahs der IP-Adresse gespeichert statt der eigentlichen Adresse. So kann diese aus den Logdateien nicht mehr rückverfolgt werden, die IP-Sperre bleibt aber weiter funktionsfähig. Alte Logdateien können mittels Logtool auch anonymisiert werden.
Der Bereich "Logs" welcher Zugang zur tabellarischen Logansicht bietet, wurde komplett überarbeitet. Hier können nun einzelne oder mehrere Logdateien gelöscht werden. Durch das Löschen aller Logdateien lässt sich die Statistik nun über das Backend zurücksetzen. Außerdem ist es jetzt möglich, gezielt in mehreren Logdateien zu suchen (vorher konnte man entweder in einer oder in allen suchen).
Die Einträge in den Modulen können in CrazyStat 1.70 durch Klick auf eine Spaltenüberschrift sortiert werden. So kann man zum Beispiel die Dateien alphabetisch sortieren lassen um schnell eine bestimmte Datei zu finden.
Durch Einsatz der Lytebox-Extension hat CrazyStat noch ein weiters cooles "Web 2.0 - Feature" bekommen: Statt per JavaScript geöffneten Fenstern verwendet CrazyStat nun über der Seite schwebende Boxen wobei die Seite im Hintergrund abgedunkelt wird. Wer das nicht mag kann es selbstverständlich deaktivieren.
Jedes Modul zeigt nun in der Fußleiste den Durchschnittswert an. So kann man zum Beispiel schnell auf einen Blick sehen, wie viele Besucher im aktuellen Jahr durchschnittlich pro Monat die Seite besucht haben.
Die Dateistruktur von CrazyStat wurde komplett überarbeitet um die Wartbarkeit zu verbessern: Es gibt nun einen "src"-Ordner welcher den CrazyStat-Quellcode enthält und einen "usr"-Ordner, welcher die Nutzer-Daten wie z.B. Logdateien, Caches oder Countergrafiken enthält. Bei einem Update muss künftig nur noch der src-Ordner ausgetauscht werden, was das Updaten enorm vereinfachen wird. Außerdem können Schreibrechte auf den "usr"-Ordner beschränkt werden.
Die Konfiguration von CrazyStat 1.70 wurde vereinfacht: So sind in der Standard-Konfigurations-Datei nur noch die wichtigsten und am häufigsten angepassten Einstellungen enthalten. Andere Einstellungen werden mit Default-Werten belegt, und können leicht zur Konfiguration hinzugefügt werden, um sie anzupassen. Dazu gibt es jetzt eine neue ausführliche Dokumentation zu allen Konfigurationseinstellungen welche in Deutsch und Englisch vorliegen wird. Alle Config-Einstellungen wurden ins Englische übersetzt, die alten Namen lassen sich in der Dokumentation nachschlagen.
Natürlich wurden auch ein paar kleinere Bugs gefixed.
Alles in allem bietet CrazyStat 1.70 viele interessante neue Features und Verbesserungen. Vor allem die Mehrsprachigkeit wird hoffentlich die Verbreitung von CrazyStat noch weiter vergrößern.
Wann ist es so weit?
Dazu kann ich noch nicht viel sagen. CrazyStat 1.70 befindet sich noch im Entwicklungsstadium, ist aber schon sehr weit voran geschritten. Neben dem Testen wird nach der Entwicklungsphase die Aktualisierung und Übersetzung der Dokumentation Zeit in Anspruch nehmen. Sobald ich näheres weiß, werde ich diese Seite aktualisieren.
Wer die neue Version nicht verpassen will, bestellt am besten den Newsletter!