Das Bayes-Plugin hat ein Update auf die Version 1.0 bekommen. Die neue Variante des Anti-Spamplugins für Serendipity hat weniger unnötige Funktionen, benutzt die neueste Version des b8-Filters und sollte alles in allem stabiler funktionieren.
Die erste Version des Plugins entstand 2009. Es ist dann eine ganze Weile gewachsen, bekam z.B. ein Backendinterface. Zwischendurch hatte ich sogar Pläne, die Spamdatenbank zwischen Blogs hin- und herzuschicken, sodass eine dezentrale geteilte Datenbank entsteht, aber damals fehlten mir dazu die Mittel das richtig umzusetzen und am Laufen zu halten.
Bayes wird immer noch benutzt, hier im Blog zum Beispiel, aber mittlerweile hat sich seine Rolle herauskristallisiert. Es ist meistens die letzte Verteidigungslinie. Die anderen Spamblockmaßnahmen sind oft genug, um den Großteil der Spamkommentare aus dem Blog herauszuhalten.
Jetzt hatte das Plugin schon länger keine größeren Updates gesehen und ein paar Sachen störten:
- Wir hatten damals den Bayesfiltercode in das Plugin integriert. b8 ist aber mittlerweile in der Lage, sich in andere Datenbanken einzuhaken und hat seine Berechnungen verbessert. Es wäre besser, es als externe Abhängigkeit zu nutzen und so von diesen Weiterentwicklungen zu profitieren.
- Das Admininterface war im Grunde unnötig, außer um mal den Papierkorb zu überprüfen musste man da als Blogbesitzer fast nie reinschauen.
- Es war zu viel Code. Die vorherige Version hatte über 2000 Zeilen PHP-Code in der serendipity_event_spamblock_bayes.php, dazu kam dann noch Smarty-Code, CSS, HTML und Javascript für das Backend
- Das enthaltene SQL und somit das Plugin funktionierte nicht mit PostgreSQL als Datenbank.
Die Version 1.0 ist daher eine große Aufräumaktion. Relativ wenig alter Code wurde übernommen, im Grunde nur der für den Papierkorb nötige und ein paar Helferfunktionen. Ich habe unseren Filtercode herausgeschmissen und stattdessen die neueste Version von b8 integriert. Damit das auch mit SQLite funktioniert brauchte das Projekt ein neues Datenbankbackend, das habe ich geschrieben und upstream zukommen lassen. PostgreSQL könnte man genau so nachrüsten, wenn sich ein Tester findet. Das Javascript für die Kommentarliste ist neu und nutzt jQuery, es sind nun ganz wenige Zeilen. Das Menü im Backend ist auch reduziert, dort findet sich nur noch der Papierkorb. Gleichzeitig funktioniert dessen Styling nun ordentlich im neuen Backenddesign.
Insgesamt dürfte das Plugin verlässlicher funktionieren. Auf jeden Fall ist der Code besser wartbar und es gibt weniger Fallstricke wie überflüssige und somit verwirrende Menüs.
Das Update ist schon in Spartacus. Die alte Spamdatenbank wird beim Update nicht übernommen.
artodeto's blog about coding, politics and the world am : Die KW 34/2020 im Link-Rückblick
Vorschau anzeigen
onli blogging am : Mein liebster Pullrequest…
Vorschau anzeigen