Dank Isso ist es nun möglich, Kommentare hier im Blog zu schreiben. Zur Installation von Isso schreibe ich hier nichts, da gibt es eine gute Anleitung auf der Projektseite, aber ich schreibe etwas zur Motivation und zur Benutzung.

Vor einiger Zeit hatte ich hier schon einmal die Möglichkeit erläutert, Kommentare zu schreiben, obwohl das hier eine statische Website ist, die mit Hugo betrieben wird.

Wozu überhaupt Kommentare?

Wenn ich einen Blogbeitrag auf Social Media verlinke, bekomme ich dort Rückmeldungen dazu. Diese sind aber nur im Kontext Social Media zu finden und nicht, wenn man Blogbeiträge im Browser liest.

Nicht gut – Kommentare via Fediverse/Mastodon

Letztes Jahr hatte ich bereits Kommentare via Mastodon bzw. dem Fediverse ermöglicht, was jedoch ein paar Nachteile hatte. Hauptsächlich war es umständlich, denn ich musste für jeden Blogbeitrag, für den Kommentare möglich sein sollten, einen Toot auf Mastodon erstellen und darin den Blogbeitrag verlinken. Dann im Front Matter (Header des Blogbeitrags) die URL zum Toot eintragen und den Blog neu generieren. Das hatte ich dann auch nur ein paar Mal gemacht.

Weitere Nachteile:

  • Keine Moderation.
  • Nicht wirklich transparent für Menschen, die im Fediverse kommentieren. Dazu hatte ich mein Setup dann noch etwas komplizierter gestaltet, siehe hier.
  • Dass ich meine Toots immer mal wieder lösche, war nicht gerade hilfreich.

Besser – Kommentare via Isso

Hingegen gibt es bei Isso, das ich jetzt verwende, einige Vorteile:

Vorteile für Benutzer:

  • Für einen einstellbaren Zeitraum lassen sich bereits gesendete Kommentare vom Absender ändern. Derzeit sind das 5 Minuten.
  • Wenn die entsprechenden Cookies im Browser des Benutzers noch vorhanden sind, kann er eigene Kommentare wieder gelöscht werden.
  • Man kann auf andere Kommentare Bezug nehmen und dies ist später auch in der Struktur erkennbar.
  • Markdown kann verwendet werden.

Vorteile für mich als Betreiber:

  • Die Daten liegen auf meinem Server und ich kann sie jederzeit einfach vom Netz nehmen.
  • Die Daten liegen in einer Sqlite-Datenbank, die man einfach sichern kann.
  • Die Sqlite-Datenbank kann man direkt bearbeiten, entweder mit sqlite3 oder mit litecli.
  • Es gibt keine Metadaten, die in Blogbeiträgen enthalten sind. D. h. aus Sicht von Hugo muss nur das Script zum Laden/Schreiben von Kommentaren eingebunden werden. Dadurch kann man Kommentare auch nicht über die Suche finden.
  • Es gibt eine Moderation für Kommentare. Ich kann einen Kommentar vor dem Freischalten bearbeiten.
  • Isso kann auf einem anderen Server laufen und beherrscht auch Multisite, also das Bereitstellen der Kommentarfunktion für verschiedene Websites.
Hinweis

Ein Nachteil ist für mich, dass jetzt wieder eine dynamische Komponente auf dem Server läuft, die für den Betrieb von comments.natenom.de zuständig ist und hinter einem Nginx-Proxy läuft.

Die kann ich aber jederzeit abschalten und es würden keine Probleme daraus entstehen.

Local Storage, Cookies und IP-Adresse

Sobald man einen Kommentar abschickt, speichert der Browser für weitere Kommentare den angegebenen Namen, die E-Mail-Adresse und die URL im LocalStorage des Browsers. Diese Daten können später clientseitig vom Script ausgelesen und verwendet werden.

Des weiteren wird für jeden abgesendeten Kommentar ein Cookie gesetzt. Dieses wird auch nur vom JavaScript clientseitig ausgewertet und nur zur Authentifizierung an den Server geschickt, wenn man einen abgesendeten Kommentar ändern oder löschen möchte.

Serverseitig werden vom Benutzer die offensichtlichen Daten des Kommentars gespeichert und zusätzlich auch die IP-Adresse, wobei der letzte Teil auf Null gesetzt wird.

Ich habe für die neue Kommentarfunktion die Datenschutzerklärung im Blog entsprechend angepasst.

An die URL des Blogbeitrags gebunden

Für jeden Kommentar wird die URL des Blogbeitrags (ohne https://natenom.de am Anfang) gespeichert. Wenn man also nachträglich den Slug eines Beitrags ändert, dann werden Kommentare nicht mehr sichtbar sein, wenn man nicht auch in der Datenbank von Isso diese URL in den entsprechenden Kommentaren ändert.

Kommentarfunktion in einzelnen Beiträgen deaktivieren

Dank des Themes, das ich hier im Blog verwende (siehe unten im Footer), kann ich für einzelne Blogbeitrag Kommentare deaktivieren. Dazu füge ich im Front Matter eines Beitrags comment: false ein.

Man kann natürlich trotzdem über die API Kommentare für solche Beiträge abgeben. Aber erstens sind Kommentare im Blog moderiert und zweitens werden sie in solchen Beiträgen gar nicht erst durch den Browser abgerufen/geladen.

Recht auf Vergessen

Da ich das Recht auf Vergessen gut finde, werde ich noch etwas einrichten, um alle Kommentare zu löschen, die älter sind als x. Wie lange x sein wird, habe ich noch nicht entschieden.

Gespannt

Da es auch schon in der Vergangenheit, als der Blog noch mit WordPress betrieben wurde, nur selten Kommentare gab, bin ich gespannt, ob jetzt jemand diese Möglichkeit nutzen wird. Und vor allem, ob ich irgendwann von Spam oder sonst etwas genervt sein werde, und Kommentare wieder abschalten werde.

Es kann jedoch im Zweifel etwas dauern, bis ich Kommentare freigebe.

Projektseite

Hier die Projektseite von Isso.

Speziell die Clientkonfiguation fand ich hilfreich, siehe hier.