IndieConnector current state
I have been working on the new major release of the IndieConnector plugin for quite some time now. The goal is to become independent from webmention.io and be able to receive and handle webmentions without relying on it.
Don't get me wrong, webmention.io is great, and I am happy it's there, and I am able to use it. But users always reach out to me because they struggle to set it up. The goal with my plugins always is that they should simply work. I want them to work with minimal effort on the user's side. Of course, there will always be things that have to be configured, but the plugin's core functionality should, in my humble opinion, work with a minimal set of configurations to be made.
So the next step for IndieConnector is "native" webmentions. Which means that you install the plugin, add an endpoint to your HTML head, and then everything works. If you want to do more, use webmention.io, fine-tune settings, etc., you can do that, but you don't have to.
Also, I want the plugin to be independent, at least regarding its core feature, which currently is webmentions. If webmention.io — I hope it won't — at some point in the future has to shut down, I don't want IndieConnector to become useless.
So receiving webmentions without any external service is what I have been working on for quite some time now.
I thought I would spend a lot of time on validating URLs, making requests, building queues… But it turns out receiving webmentions is more about understanding Microformats (mf2) in depth. And yep… I went down that rabbit hole really deep. It took some time to understand the structure and the possibilities. You can do that with mf2?! Also, realizing that I have to work on my own site to improve the mf2 I use…
Because of that and what's possible with mf2, the next release of IndieConnector will also come with some Kirbytags to add mf2 to your site. This way you can not only send webmentions but also tell what to do with your webmention. There will be Kirbytags for likes, bookmarks, events… This is really exciting!
Handling webmentions on your own also comes with some other things you might not think about in the first place. Like moderation. You may want to block spammy hosts, for example.
Right now, IndieConnector receives a webmention from webmention.io. Blocking and things like that happen over there. It then takes the webmention, parses it, transforms it, and sends out a Kirbyhook other plugins (like the Komments plugin) can listen to and do something with it, like storing the data in a page file and showing it as a comment.
This will change in the future. At least a little bit. If you have a popular site and receive a lot of webmentions, you might want to queue those instead of writing them directly to your page. So this will come. I am not sure if it will be part of the upcoming release or an addition to that. You then will be able to moderate the webmentions - or simply let them be published automatically as it does now. Of course, the Kirbyhook will stay!
I think this is important because you may want to use IndieConnector but not the Komments plugin. Or maybe you want to build your own plugin and use data from IndieConnector. This is already possible. So you could write a plugin for the IndieConnector plugin!
So yeah, there is a lot to come. And steadily IndieConnector growed from a plugin simply handing down Webmentions from webmention.io to other plugins to a central plugin for all the great IndieWeb possibilities. Right now it can send webmentions, receive them, send posts to Mastodon via the API, or even act as an ActivityPub instance. It sends out hooks other plugins can listen to.
What will come in the near future I just told you. This will still take some time, there is a lot to keep in mind, because you are receiving data from the outside world and we don't want your website to be harmed. At the moment, it feels like I am working five minutes on the actual code and then two hours on unit tests. I want to feel safe before pushing changes out there. So I am very excited about all this, and I would love to release it right now, but it'll take some more time because I want it to work well.
As soon as the release is ready, I will update you here. I am also working on a page for the plugin, including a roadmap and further information.
I encourage you to publish what you learn about MF2 and WebMention. The more of us who do that, the better the chances that someone will make something new, cool, or helpful for end users with the technology.
Hey Matt,
I will absolutely do so, thanks for the encouragement!