So, hab's gerade getestet.
Meine Anmerkungen:
1. Noch heißt das plugin serendipity_plugin_microblog, das müsste zum updaten dann ja alles mitsamt Classname in serendipity_plugin_twitter überführt werden. Das ChangeLog könnte dann auch überführt werden, die Versionsnummer sollte dann 1.0 oder so werden (also höher als 0.7). Die alten Sprachkonsten könnten dann weiterverwendet werden und auch *_TWITTER_* heißen
2. Die Twitter-API Klasse braucht PHP5. Bitte stelle im Plugin sicher, dass die Klasse nur geladen wird wenn PHP5 auch wirklich zur Verfügung steht. Ohne PHP5 sollte das Plugin dann auf JS defaulten. Serendipity läuft noch auf vielen PHP4-Hosts. Es ist okay, wenn dort die PHP-Klasse nicht als Option zur Verfügung steht sondern nur JavaScript. Die Requirements für das Plugin würde ich dann wieder auf PHP4 setzen. Im Plugin selbst müsste das try/catch/throw/protected dementsprechend auch in die PHP5-Klassendatei ausgelagert und angesprochen werden.
3. json_encode steht leider für PHP4 nicht zur Verfügung. Da das JS-Fallback aber mit PHP4 klappen muss, müsste man hier eine eigene json_encode funktion im Userspace emulieren. Auf http://de2.php.net/json_encode gibt es dazu Beispielcode der klappen müsste.
4. Die check_table funktion nutzt derzeit MySQL Syntax. Bitte benutze für die grobe Struktur die Vorlage aus dem alten Twitter-Plugin (longtext, etc.) Das ALTER TABLE müsste man auf kompatibles SQL für sqlite und pgsql umstellen, sprich nicht auf SHOW FIELDS setzen sondern das ALTER einfach ausführen. Wnn die Tabelle die Spalten schon hat, ist die Fehlermeldung ja eh ignorierbar. Um zu prüfen ob check_talbe das ALTER TABLE ausführen soll,w ürde ich wie folgt vorgehen:
Code: Select all
function check_table() {
$ver = $this->get_config('dbversion', 0);
if ($ver > 0) return true;
.... DB erstellung (Fehlermeldung ignorieren wenn Tabelle besteht) ...
.... ALTER TABLE ...
$this->set_config('dbversion', 1);
return true;
}
6. Bitte die Konfigoptionsnamen soweit an die Namen des alten Plugins anpassen (showformat statt presenter, Werte "javascript" und "PHP", backup statt backup_entries). Sonst wundern sich die Leute bei nem Backup warum ihre alten Optionen nicht mehr gültig sind.
7. Ist es möglich die Zeitoptionen auf strftime statt date umzustellen? strftime unterstützt lokalisierte Datumsnahmen wie "Freitag", denn dass haben früher viele User genutzt. Auch muss man daran denken dass früher Leute ein % in die Option eingetragen haben, das wäre jetzt mit date() nicht mehr parsebar.
8. Es gibt einen Typ in "Backup your entrieds". GGf. könnte man hier die Originaltexte nehmen, so dass auch das "experimentelle" in der Backup-Option weiterhin Bestand hat.
9. Der Rest scheint super zu funktionieren. Sowohl PHP als auch JS (IE8, FF3, Safari) klappen. Cool. Und das Parsen klappt auch, das ist ja mal ne geniale Verbesserung auch.
Bis hierhin schonmal tausend Dank für Deine Beständigkeit. Wenn Du den Rest auch noch anpassen könntest wäre das spitze.
Viele Grüße,
Garvin