Erste Ideen für PiwikCounter 0.4.0

Die Entwicklung von PiwikCounter ist in letzter Zeit etwas eingeschlafen, doch völlig vergessen habe ich das Plugin nicht. Für die nächste Version wird es ein paar Änderungen geben, die ich hier kurz vorstellen möchte. Wobei weitere Funktionen möglich, aber derzeit nicht wahrscheinlich sind.

Da mein eigenes Blog auf einen anderen Server umgezogen ist, der nicht mehr per XML auf Piwik zugreifen kann, wird es in der nächsten Version einen direkten Zugriff per PHP geben. Als Option steht aber ein XML-Abruf weiterhin zur Verfügung und wird erst einmal als Standard ausgewählt bleiben.

Die zweite Änderung betrifft ein Formular in den Optionen im Administrationsmenü zu PiwikCounter. Dort wird es dann möglich sein, den im Widget dargestellten Text zu modifizieren. Somit kann jeder den Text den eigenen Wünschen anpassen und muss nicht mehr am Quelltext Änderungen vornehmen. Vorteilhaft dürfte dies auch für andere Sprachen als Deutsch und Englisch sein, da es hierfür bisher keine Übersetzungen gab.

Einen genauen Zeitpunkt für die Veröffentlichung gibt es noch nicht, doch es wird bestimmt nicht mehr all zu lange dauern, bis die neue Version über das Plugin-Verzeichnis von WordPress bereit steht.

Ankerlinks in WordPress setzen und per Piwik tracken

Bei größeren Artikeln in WordPress kann es schon mal vorkommen, dass man sich eine Unterteilung und ein Navigationsmenü wünscht. Hier bietet es sich Anker-Links zu setzen. Dadurch ist es möglich zu einer bestimmten, selbstdefinierten Stelle im Text zu springen.

Weiterlesen

PiwikCounter 0.3.0 ist fertig

Es ist geschafft, die neue Version ist da und sollte in den nächsten Minuten auch bereit für den Download sein. Wer es installiert hat, sollte es also dann direkt im Admin-Menü installieren können.

Wer mir per Twitter folgt, dem sollte aufgefallen sein, dass ich einen Bug erwähnt habe. Wobei dies nicht direkt ein Bug ist, sonder nur eine Ungereimtheit die wohl auf Piwik selbst zurückzuführen ist. Wobei es genauso mein Server sein kann, wenn er mal wieder nicht so will, wie ich. Es kam vor, dass PiwikCounter beim Update der Anzahl von Besuchern, die vor dem aktuellen Tag kamen, als Ergebnis 0 lieferte, obwohl eigentlich ein deutlich höherer Wert kommen sollte. Dies ist nun unterbunden, da nur noch ein Update dieses Wertes stattfindet, wenn auch wirklich eine Veränderung nach oben stattgefunden hat. Ansonsten wird einfach beim nächsten Aufruf nochmals geprüft. Meist sollte es beim zweiten Anlauf klappen. So war es zumindest bei mir.

Weitere Feature-Wünsche sind gern willkommen und werden solange sie sinnvoll sind auch von mir eingebaut.

PiwikCounter 0.3.0 steht in den Startlöchern

In den nächsten Tagen, vielleicht sogar schon heute Abend wird es ein Update für PiwikCounter geben. Die neue Version wartet mit einer kleinen Veränderungen auf. Bei größeren Blogs mit vielen Besuchern am Tag ist die Menge des Traffics auf Piwik nicht unerheblich. Aktuell wird bei jedem Zugriff im Blog auf Piwik zugegriffen, um den aktuellen Stand der heutigen Besucher abzufragen.

Mit der neuen Version wird dies nur noch alle x Minuten erfolgen. Wobei x zwischen 0 und 60 liegt. Würde also bedeuten, bei 0 wird bei jedem Zugriff geprüft, während bei 60 nur einmal in der Stunde auf Piwik zugegriffen wird. Standardmäßig habe ich mich für ein Updateinterval von 5 Minuten entschieden. Aber auch schon ein Wert von 1 sollte den Traffic auf Piwik deutlich senken können. Der so ermittelte Wert wird zwischengespeichert und ausgegeben. Erst nach Ablauf des Intervalls wird wieder Piwik abgefragt.

PiwikCounter macht nächsten Versionssprung

Und schon wieder gibt es eine neue Version von PiwikCounter. Diesmal bringt das Plugin – nun in Version 0.2.0 – ein paar Erweiterungen mit.

So lässt sich im Admin-Menü die Darstellung der heutigen Besucher bei Bedarf abschalten. Dann wird nur noch die Gesamtzahl der Besucher ausgegeben.

Neu ist die Möglichkeit das Plugin zu übersetzen und so auch mit anderen Sprachen zu betreiben. Standard ist Englisch und eine deutsche Übersetzungsdatei wird direkt mitgeliefert.

Auch am Admin-Menü selbst habe ich gearbeitet. Es sieht jetzt etwas übersichtlicher aus als vorher. Es ist nun ebenfalls lokalisierbar.

 

PiwikCounter 0.1.2 veröffentlicht

Die aktelle Version stellt eine Bugfix-Version dar. Es gibt nur minimale Änderungen an der Codebasis, denn wegen eines Fehlers wurden nur die Besucher des aktuellen Tages aktualisiert. Die Besucher, die bis zum Vortag registriert wurden, blieben unangetastet. Dies sollte nun funktionieren.

Auch habe ich wie versprochen die Funktion für eindeutige Besucher wieder aktiviert. Dafür muss jedoch in Piwik selbst eine entsprechende Konfiguration vorgenommen werden.

PiwikCounter veröffentlicht

Eine erste Version (0.1.1) ist nun über wordpress.org verfügbar. Derzeit funktionert leider die Internationalisierung noch nicht und auch eine Auflistung der eindeutigen Besucher ist noch nicht möglich. Letzteres scheint an Piwik selbst zu liegen, versuche aber, den Fehler zu finden und für die nächste Version zu beheben.

WordPress Plugin PiwikCounter

Derzeit arbeite ich an einem neuen Plugin für WordPress. Eine erste Version ist bereits hier im Blog aktiv und ruft für mein Blog die Anzahl der eindeutigen Besucher aus Piwik ab. Das fertige Plugin soll über das Administrationsmenü von WordPress verwaltet werden können. Hier legt man fest, auf welche Piwik-Installation das Plugin zugreifen soll. Ebenfalls hinterlegt werden ein Auth-Code um Zugriff auf die API zu haben, die Site-Id, welche die benötigte Seite identifiziert und das Datum, ab wann die Besucherzahlen abgerufen werden sollen.

Geplant ist, die Gesamtbesucherzahl bis zum Vortag abzurufen und dies nur einmal am Tag zu tun. Dieser Wert wird in der Datenbank gespeichert und mit dem Wert der Besucher des aktuellen Tages addiert. Dies geschieht aus dem Grund, weil die Abfrage eines größeren Zeitraumes auch immer mit mehr Aufwand in der Datenbank verbunden ist. Das Abfragen eines einzigen Tages, geht dagegen deutlich schneller, weshalb es bei der ersten Abfrage an einem Tag, zwei Abfragen gibt und später nur noch eine, da der erste Eintrag zwischengespeichert ist.

Ausgegeben wird das ganze dann in einem Widget, welches entweder die Gesamtbesucherzahl ausgibt, oder die Gesamtbesucherzahl und die Anzahl der Besucher des aktuellen Tages. Derzeit ist nur ersteres implementiert. Ein Termin für die Veröffentlichung steht noch nicht fest, aber es wird sicherlich das Plugin in absehbarer Zeit zum Download geben.

pLANer für WordPress

Derzeit setzen wir im NetNight2000 Verein verstärkt auf WordPress. Um auch für kommende Veranstaltung mit WordPress arbeiten zu können wird derzeit eine kleine Variante von pLANer als WordPress-Plugin umgesetzt. Hierbei wird es erst einmal nur die grundlegenden Features die wir für pLANer angedacht haben in das Plugin implementiert. Dazu zählen was die Seitenbesucht betrifft natürlich ein Anmeldeformular. Auch eine Teilnehmerliste kann abgerufen werden.

Für die Admins gibt es dann noch ein paar weitere Details. Hier können die alle Daten der Benutzer angesehen und verändert werden, wenn dies nötig sein sollte. Auch das Löschen von Teilnehmern einer Veranstaltung ist schnell erledigt. Ganz wichtig ist auch die Auswahl der aktuellen LAN-Party und die Übersicht aller registrierter Clans.

Das ganze System greift auf die Tabellen von pLANer zurück. WordPress-Tabellen müssen sich deshalb in der gleichen Datenbank befinden, wie die übrigen pLANer-Tabellen.

Durch das Plugin können wir erst einmal WordPress für den Internetauftritt verwenden. Später kann man sich dann entscheiden, ob für das Web pLANer verwendet wird oder nicht. Im Intranet selbst soll jedoch nur pLANer während einer LAN eingesetzt werden.

Formulare in WordPress-Plugins per Session absichern

Es kommt vor, dass man Formulare durch eine zufällige Zeichenfolge vor erneutem Versenden schützen möchte. Um diesen Wert zu speichern, bietet sich die Session des aktuellen Benutzers an. Auch kann dadurch niemand mit einem selbstgebastelten Formular Daten übermitteln. Eine wichtige Schwachstelle wäre dadurch geschlossen.

Will man dies jedoch in einem WordPress-Plugin machen, steht man vor dem Problem, dass WordPress keine Sessions verwendet. Man könnte natürlich auch ein Cookie verwenden, aber nicht alle Besucher lassen Cookies zu. Die Session ist also unsere erste Wahl.

An sich ist das Ganze auch recht simpel. Es reicht, wenn man per add_action() bei ‚init‘ eine simple Funktion aufruft, die prüft, ob bereits eine Session besteht und wenn nicht, diese startet. Somit haben wir eine aktive Session in die wir einen Zufallswert speichern können.

Generieren wir nun unser Formular benötigen wir eine zufällige Zahl, besser sogar eine zufällige Zeichenfolge. Diese wird im Formular als verstecktes Feld eingebunden. Beim Empfang des Formulars wird dann geprüft, ob der Eintrag des Formulars mit der Session übereinstimmt. Als erstes sollte nun der Eintrag in der Session wieder gelöscht oder geleert werden.

Man ist jedoch damit nicht auf WordPress beschränkt, dies funktioniert natürlich überall in PHP wo mit Sessions gearbeitet wird. Zur Absicherung auf jeden Fall zu empfehlen.