Kirby Komments Plugin
Seit einiger Zeit kann man auf dieser Webseite Kommentare hinterlassen. Nach einiger Entwicklungszeit habe ich meine Lösung dafür jetzt als Kirby-Plugin veröffentlicht.
Mir fehlte bereits schon vor Jahren die Möglichkeit hier eine Kommentarfunktion anzubieten, die nicht auf einem externen Dienst basiert. Ich habe mich also dran gemacht und eines geschrieben. Es gibt bereits ein Kirby-Plugin von Sebastian Greger, bei dem ich auch ganz dreist ein paar Ideen und Code-Schnipsel geklaut habe 🙈 (ich hoffe, er nimmt es mir nicht übel), ich hatte aber ein paar Ideen und Anforderungen, die ich damit nicht lösen/erfüllen konnte.
Komments - mein neues Plugin
Komments heißt mein neues Plugin und ich möchte an dieser Stelle kurz darauf eingehen, was der Hintergedanke dazu ist und wie dieses Plugin mit einigen meiner anderen Kirby-Plugins zusammenhängt.
Kommentare
Das dürfte ziemlich offensichtlich sein: Ich wollte gerne Kommentare auf meiner Seite haben. Das habe ich mit diesem Plugin nun. Es liefert mir eine ganz simple Kommentarfunktion mit einer einfachen Spamerkennung (an der ich in Zukunf wahrscheinlich noch meinen Spaß haben werde…). Sprich, man kann nun unter meinen Beiträgen Kommentare schreiben.
Webmentions
Ich wollte außerdem gerne Webmentions empfangen und senden. Das funktioniert derzeit nur mit webmention.io. Mein Plugin tut das. Dank einiger weiterer Dienste bin ich nun in der Lage Beiträge z.b. auf Twitter und Mastodon zu posten und das Feedback auf diesen Plattformen abzuholen und in Form von Webmentions (die hier als normale Kommentare angezeigt werden) wieder zurück unter die Beiträge zu holen. Antwortest du also bei Twitter auf den Tweet zu diesem Beitrag, erscheint deine Antwort hier als Kommentar.
Spezialitäten
Bevor ich daraus ein offizielles Plugin gemacht habe, hatte ich einen interne Version von Komments hier bereits auf der Seite laufen. Kommentare gibt es ja schon eine ganze Weile. Während der Zeit habe ich ein paar zusätzliche Funktionen eingebaut, die nicht unbedingt Teil eines normalen Kommentar-Plugins sind. So werden neu veröffentlichte Seite automatisch als Toot bei Mastodon gepostet. Außerdem informiere ich bei Updates auch archive.org. Ich wollte außerdem in der Lage sein, Kommentare für einzelne Seiten und Beiträge zu deaktivieren.
Warum was Neues?
Ich hatte ein paar Ideen für meine Seite und die ließen sich nicht bestehenden Plugins umsetzen. Neben der eigentlich Kommentarfunktion, wollte ich auch meine Ratings hier anzeigen. Du kannst weiter unten eine positive oder negative Bewertung abgeben. Diese Ratings wollte ich als eigenständiges Plugin haben. Ich wollte aber auch, dass diese Ratings auf Webmentions reagieren können. Wenn also ein Like via Webmention rein kommt, sollte das Rating-Plugin das mitbekommen und den Zähler entsprechend erhöhen.
Das Problem dabei ist, dass es nur einen Webmention-Endpoint geben kann, ich aber mit den Ratings und Komments zwei verschiedene Plugins hatte, die Endpoints brauchten.
Meine Lösung war das vor einiger Zeit veröffentlichte Plugin Tratschtante. Das Plugin horcht auf einen Webmention-Endpoint und verteilt die Daten, die es empfängt per Hook. Andere Plugins können dann auf diese Hooks lauschen und entsprechend reagieren. Hat man also Tratschtante im Einsatz, kann man Webmentions empfangen und beliebig viele andere Plugins können auf die Tratschtante hören und bekommen dann die Daten weitergereicht (und zwar in einem einheitlichen Format) und können tun, was sie wollen.
Das Resultat: Ein Twitter-Like erzeugt einen Daumen rauf, beim Rating-Plugin und einen Kommentareintrag beim Komments-Plugin.
Wie geht es weiter?
Ich habe hier auf meiner Seite noch ein paar weitere Funktionen, die mehr oder weniger offensichtlich sind und die ich noch als Plugin veröffentlichen möchte. Diese spielen dann über die Tratschtante und andere Schnittstellen alle zusammen.
Für das Kommentar-Plugin selber wird es sicherlich noch einige Anpassungen und Fixes geben, es handelt sich um eine erste Beta. Da sie hier intern aber schon eine ganze Weile im Einsatz ist, bin ich zuversichtlich, dass sie nicht zu instabil laufen sollte.
Ich möchte den Panel-Support noch etwas erweitern und versuchen, das etwas übersichtlicher zu gestalten. Und auch an der Spamerkennung kann man sicherlich noch einiges tun
Hallo Maurice,
das klingt ja klasse.
Ich bin auf der Suche nach einer Lösung für mein Kirby 3. Webmention interessiert mich dabei nicht - macht es dennoch Sinn und wo sind ansonsten die Unterschiede zur Variante vom Sebastian? Wichtig wäre mir nur, dass ich die Kommentare dann auch im Panel sehen/löschen kann, eine Mail bei einem neuen bekomme, keine Cookies etc. verwendet werden und das Formular optisch einigermaßen in mein Theme passt. Was CSS angeht habe ich nämlich keine Ahnung. :)
Grüße
Hallo Hendrik,
ich habe mir Sebastians Beschreibung noch nicht ganz durchgelesen. Ich glaube er hat einen leicht unterschiedlichen Schwerpunkt. Ich habe hier Wert drauf gelegt, möglich viel Funktion zu bieten und den Konfigurationsaufwand klein zu halten. In erster Linie habe ich versucht, ein Plugin zu schreiben, wie ich es auch gerne einsetzen würde.
Das Plugin bringt eine Übersicht im Panel mit, dort werden alle noch nicht freigeschalteten Kommentare angezeigt. Für die jeweilige Seite kannst du im Blueprint eine Section einbinden, die dir dann dort die vorhandenen Kommentare anzeigt. Mit der Möglichkeit diese zu löschen, auszublenden und in Teilen zu bearbeiten.
Mein Plugin verschickt allerdings keine Mails bei neuen Kommentaren. Und auch ein Cookie wird gesetzt, dort steht allerdings nur die ID der hinterlassenen Kommentare drin. Das dient dazu nach dem Absenden eines Kommentars auf der entsprechenden Seite einen Hinweis anzuzeigen, dass der Kommentar noch in der Moderation ist. Es werden also keine personenbezogenen Daten gespeichert. Außerdem wird auch die E-Mail-Adresse nur verschlüsselt gespeichert, um das Ganze datenschutzseitig etwas unkritischer zu gestalten.
Wenn du ins Github Repo schaust, kannst du dir ansehen, wie es im Panel aussehen würde.
Beste Grüße
Maurice
Hallo Maurice,
vielen Dank. Ich schau mir das mal an. Schaust Du denn täglich in Dein Panel, oder wie bekommst Du mit, dass es neue Kommentare gibt?
@hendrik da ich hauptberuflich Webentwickler bin und der Browser immer griffbereit ist, schlummert das Panel in einem angepinnten Tab im Browser und ich schaue dann und wann mal rein, was sich so tut. Und so viel passiert hier in den Kommentaren dann doch nicht.
Aber generell: Wenn dir ein Feature fehlt, kannst du mir gerne Bescheid geben, ich nehme das auf und baue es ein, wenn es sinnvoll erscheint.