IndieConnector Stand der Dinge

Beim IndieConnector Plugin tut sich gerade einiges, hier ist der Stand der Dinge.

Ich arbeite jetzt schon seit geraumer Zeit an der neuen Version des IndieConnector-Plugins. Mit dem Ziel, unabhängig von webmention.io zu werden und Webmentions ohne dessen Nutzung empfangen und verarbeiten zu können.

Nicht falsch verstehen, webmention.io ist großartig, und ich bin froh, dass es das gibt und ich es nutzen kann. Aber immer wieder wenden sich Benutzer:innen an mich, weil sie Schwierigkeiten haben, es einzurichten. Das Ziel meiner Plugins ist, dass sie einfach funktionieren sollen. Ich möchte, dass sie mit minimalem Aufwand funktionieren. Natürlich müssen immer mal Dinge konfiguriert werden, aber die Kernfunktionalität des Plugins sollte meiner Meinung nach mit einer minimalen Konfiguration funktionieren.

Native Webmentions sind also der nächste Schritt für IndieConnector. Das bedeutet, dass du das Plugin installierst, einen Endpunkt zu deinem HTML-Head hinzufügst und dann funktioniert (hoffentlich) alles. Wenn du mehr tun möchtest, webmention.io verwenden, Einstellungen verfeinern usw., kannst du das tun, musst du aber nicht.

Außerdem möchte ich, dass das Plugin zumindest in Bezug auf seine Hauptfunktion unabhängig ist, was derzeit Webmentions sind. Wenn webmention.io irgendwann in der Zukunft den Dienst einstellen sollte - was ich nicht hoffe - möchte ich nicht, dass IndieConnector unbrauchbar wird.

Also arbeite ich schon seit einiger Zeit daran, Webmentions auch ohne externen Dienst zu empfangen.

Ich dachte ja, ich würde viel Zeit damit verbringen, URLs zu validieren, Requests zu verschicken, Queues zu erstellen… Stellt sich aber heraus, dass es eher darum geht, Microformats (mf2) zu verstehen. Und ja… Ich bin da wirklich tief eingestiegen. Es hat einige Zeit gedauert, die Struktur und die Möglichkeiten zu verstehen. Das kann man mit mf2 machen?! Und dann die Erkenntnis, dass ich unbedingt an meiner eigenen Website arbeiten muss, um die mf2 zu verbessern…

Aufgrund der Möglichkeiten mit mf2, wird die nächste Version von IndieConnector auch einige Kirbytags mitbringen, mit denen du mf2 zu deiner Website hinzuzufügen kannst. Auf diese Weise kannst du nicht nur Webmentions senden, sondern auch angeben, was mit deiner Webmention passieren soll. Es wird Kirbytags für Likes, Lesezeichen, Veranstaltungen… geben. Richtig spannend!

Das Verarbeiten von Webmentions bringt auch einige andere Dinge mit sich, an die man nicht sofort denkt. Wie Moderation. Du möchtest möglicherweise spammende Hosts blockieren.

Derzeit empfängt IndieConnector Webmentions von webmention.io. Das Blockieren und ähnliche Dinge passieren dort. Dann nimmt es die Webmentions, analysiert sie, transformiert sie und sendet einen Kirbyhook an andere Plugins (wie das Komments-Plugin), die etwas damit machen können, z. B. die Daten in einer Kirby-Page speichern und als Kommentar anzeigen.

Das wird sich in Zukunft ändern. Zumindest ein wenig. Wenn du eine hoch frequentierte Webseite hast und viele Webmentions erhältst, möchtest du diese möglicherweise in einer Queue ablegen, anstatt sie direkt zu speichern. Das wird kommen. Ich bin mir aber noch nicht sicher, ob es Teil des nächsten Releases sein wird oder eine Ergänzung dazu. Du kannst Webmentions dann moderieren - oder sie einfach automatisch veröffentlichen lassen, wie es jetzt schon der Fall ist. Natürlich bleibt der Kirbyhook bestehen!

Das ist wichtig, weil du vielleicht den IndieConnector verwenden möchtest, aber nicht das Komments-Plugin. Oder vielleicht möchtest du dein eigenes Plugin erstellen und Daten von IndieConnector verwenden. Das ist bereits möglich. Du könntest also ein Plugin für das IndieConnector-Plugin schreiben!

Also ja, es steht viel an. Und IndieConnector wächst stetig von einem Plugin, das einfach Webmentions von webmention.io an andere Plugins weitergibt, zu einem zentralen Plugin für all die großartigen IndieWeb-Möglichkeiten. Derzeit kann es Webmentions senden und empfangen, Beiträge über die API an Mastodon senden oder sogar als ActivityPub-Instanz fungieren.

Was in naher Zukunft kommt, habe ich dir gerade erzählt. Das wird noch einige Zeit dauern, es gibt viel zu beachten, weil du Daten von da draußen empfängst und wir möchten ja nicht, dass jemand das für Unfug nutzt. Im Moment fühlt es sich an, als würde ich fünf Minuten am eigentlichen Code arbeiten und dann zwei Stunden an Unit-Tests. Ich möchte aber sicher sein, dass ich nichts kaputt spiele, bevor ich Änderungen veröffentliche. Ich bin gerade sehr hippelig und ich würde alles gerne jetzt sofort veröffentlichen, aber es wird noch ein bisschen dauern… soll ja gut werden.

Sobald das Release fertig ist, werde ich hier ganz bestimmt drüber schreiben, ich arbeite auch gerade an einer Seite für das Plugin mit einer Roadmap und weiteren Infos.

Wie geht's von hier aus weiter?

Wenn du diesen Beitrag (nicht) gut findest, kannst du ihn kommentieren, woanders darüber schreiben oder ihn teilen. Wenn du mehr Beiträge dieser Art lesen willst, kannst du mir via RSS oder ActivityPub folgen, oder du kannst kannst dir ähnliche Beiträge ansehen.