Feb23
Aktuell entwickle ich für das Zeitgeist-Framework Erweiterungen der Nutzerklassen, damit sich Benutzer nicht nur über ihre internen, von Zeitgeist verwalteten, Nutzeraccounts anmelden können, sondern auch per Facebook oder Twitter. Die Facebook-Klasse gibt es (als Versuchsballon und Proof-of-Concept) schon eine ganze Weile, neu hinzugekommen ist nun Twitter.
Ziel war es, dass der Entwickler die Wahl hat, welche Logins er den Benutzern anbieten kann. Er kann entweder vollständig auf eine Plattform setzen (intern oder Facebook oder Twitter) oder auf mehrere gleichzeitig. Das Login via externer Plattform soll transparent über der internen Nutzerverwaltung liegen, so dass sich an den Nutzerklassen, sowie am Rollen- und Rechtemodell nicht ändert.
Der Ablauf ist dabei für Facebook und Twitter gleich:
- Login des Benutzers auf der externen Plattform. Dabei wird die jeweilige Authentifizierungs-API genutzt
- Wenn der Login erfolgreich war, wird die Unique-ID des Benutzers auf der Plattform ausgelesen
- Falls die Plattform-Id noch nicht im System bekannt ist, wird sie gespeichert und mit einem dazugehörigen Zeitgeist-Nutzer verbunden
- Falls kein zugehöriger Zeitgeist-Nutzer gefunden wird, wird einer automatisch angelegt. Eventuell benötigte Nutzerdaten werden aus der externen Plattform ausgelesen und für den Benutzer gespeichert
- An den Zeitgeist-Nutzer können wie gewohnt Rechte und / oder Rollen gebunden werden
Im Moment funktionieren die beiden Klassen wie gewollt. Allerdings werde ich die “Work in Progress”-Tags erst entfernen, wenn die beiden Klassen in einem echten Projekt getestet wurden.
Feb15
Update 1: Jetbrains hat gestern Version 2 von PhpStorm veröffentlicht. Wie ihr vielleicht wisst verwende ich PhpStorm seit einiger Zeit beruflich und privat und bin ziemlich happy. In so fern habe ich nichts gegen ein Feature-Update – insbesondere da alle, die eine Lizenz von PhpStorm 1.0 erworben haben, dieses Update für lau bekommen. Von den vielen Änderungen ist mir zuerst die neue Code Inspection aufgefallen, die mir erst einmal große Teile meines Codes um die Ohren gehauen hat. Na schön, ich gelobe Besserung bei der Definition von Klassen.
Update 2: In Sachen Zeitgeist-Framework arbeite ich gerade noch an dem Game Tutorial und der allgemeinen Dokumentation (welches OSS-Projekt tut das nicht?). Außerdem bin ich dabei neben dem Facebook-Userhandler noch einen für Twitter zu implementieren. Kurz: Login via Facebook und Twitter leicht gemacht und anschließend Zugriff auf das volle Rollen- und Rechtemanagement des Frameworks. Noch kürzer: Facebook-Games! Twitter-Games!
Frage: kennt eigentlich jemand lesenswerten Open Source PHP-Code von Browserspielen? Ich hatte mich vor einiger Zeit mal auf Google Code umgesehen, war aber nicht so begeistert. Ich würde gerne mal wieder etwas inspirierendes lesen.
Okt21
Eigentlich gab es in letzter Zeit eine Menge zu schreiben, ich habe mich aber auf andere Dinge konzentriert.
Zum Beispiel auf das Zeitgeist Framework Game Tutorial. Es geht darum, wie man ein PBBG mit dem Zeitgeist-Framework erstellt und die Serie hat inzwischen 5 Teile. Teil 6 und 7 folgen aber in Kürze. Wenn man das Tutorial durchgeht lernt man so gut wie alle relevanten Bereiche des Frameworks kennen: Controller, Konfiguration, Sicherheit, Nutzerverwaltung und als nächstes folgt dann die Implementation der eigentlichen Spielmechaniken.
Nebenbei habe ich ein kleines Sideproject umgesetzt: Questkun. Im Grunde eine kleine To-Do-Liste, bei der man für erledigte Aufgaben Punkte und Auszeichnungen bekommt, inklusive Facebook Connect. Der Fragebogen für meine Studenten an der h_da basiert darauf. Ich baue noch einige Funktionalitäten ein, räume den Code auf und schreibe die Tests zu Ende – dann mal sehen, ob ich das Paket veröffentliche. Oder eine richtige Facebook-App daraus mache.