Micropublish v2.3.0

This weekend’s IndieWebCamp in London has sensibly been switched to online-only because of the current health concerns. A big well done to the organisers, Cheuk, Calum and Ana, for their initial...

As part of my attempt to work on something IndieWeb every weekend, I decided to do a bit of a dive into the code for https://github.com/kylewm/silo.pub. It’s known as being a (working) example of using Micropub as a means of syndication. Conventionally, people do this using Webmentions via brid.gy - but I am curious about having such a system automatically add syndication back-links to my posts as well as being able to dynamically use it back-fill posts to my site (since it can do the former with potentially less magic than Webmention parsing).

I notice that in order to use silo.pub, you forward the entire incoming Micropub request to the remote endpoint (we can call it ‘syndication endpoint’). This feels a bit tricky to implement because I can see it being simpler as the originating site of the request to only just send a URL of the post that needed to be syndicated - part of the appeal of Bridgy is that. But having to forward the whole thing feels interesting. But it also allows for a means of insuring that a particular syndication location only gets what it can support or what’s appropriate for that destination (bookmarks could be formatted more differently on Twitter or how reading progress is reflected).

I think I can “get” with this approach but I’m going to take a bit of a different approach. Instead of forwarding the whole body, I’m going to send it a request to update a post. Something like the following:

POST /syndication/twitter


{
  "action": "update",
  "url": "https://jacky.wtf/a-post-to-share"
}

With no other arguments, this would tell the Micropub-powered syndication endpoint that it should update the provided post. Being that this one is optimized for Twitter, it could do the work of sending the tweet (or replying, or liking) and then sending a Micropub update to the original post with the change in the syndication URL. A server noticing that could use that as a way to determine that the syndication was successful with no extra need to add asynchronous processing - we get it for free.

Okay, finally ready to make https://jacky.wtf a static site powered by this new Micropub server. You can peek at the code at https://git.jacky.wtf/indieweb/koype-next but I’ll be aiming to use it to redo a lot of sites (like even https://koype.net because if I can’t use it there then I’m kidding myself, lol)

Social Attention: a modest prototype in shared presence (Interconnected)

I love, love, love this experiment from Matt—messin’ around in websites!

#presence #select #sharing #indieweb #personal #publishing #social #experimental

It was a treat to chat with @jayeless who has so many interesting interests! Have a listen to the latest episode of the Micro @monday podcast, as we cover: Melbourne, indieweb, linguistics and regional English, Harry Potter houses, and of course, Gidget the cat.

Looking forward to talking about all things #IndieWeb, owning your data, and some of the cool open standards and tech we've worked on to take back a bit of control 🤓

Join us next month as we welcome @JamieTanna to talk about the #indieWeb and owning your data! 📅 Free and online Monday 12th April 6.30pm ➡️ nott.tech/tn-apr-2021
#public-speaking #indieweb
this is a very shiny list of webmentions, but it could be even better by using the h-cite pattern http://microformats.org/wiki/h-cite
 

Thinking about this again, it does feel like this could be something that the Micropub server does but would be invoked by some external process. Like if it’s a property (like) that needs to change, then the remote service could perhaps trigger this (could happen from getting a Salmention).

@weh_kaniini There are definitely some using Craft for IndieWeb. There's a plugin for v2, but I don't think it's been updated for v3 yet. Details/examples: https://indieweb.org/Craft
this is a very shiny list of webmentions, but it could be even better by using the h-cite pattern http://microformats.org/wiki/h-cite

Have you read over the IndieAuth spec? I did read the WebID spec some time ago, back when people were toying to expose it in Mastodon and it never went through because it’s not friendly to portability (people change names, identities [think trans, non-binary folks, ex-pats]) nor is it friendly to being used offline

According to this incubating spec https://www.w3.org/2005/Incubator/webid/spec/ and https://www.w3.org/ns/auth/cert, it does require certificates (I never said TLS) to insure that it’s secure. Otherwise, you’d be reintroducing the era of FireSheep https://en.wikipedia.org/wiki/Firesheep.

Also IndieAuth would literally require only one of those “rings”.

If you want something you can give to people tomorrow and keep using as long as the Web is around, use IndieAuth. If you want to yak-shave and use it with three people, WebID’s ideal for that!

WebID has to use certificates - you’d be fighting for provider support. It also ignores other clients like phones, CLI tools, etc. IndieAuth’s an extension of OAuth2 - used everywhere. You used it to post this tweet on your phone or sync your e-mail to your phone.

After a bit of a hunting, I think it’ll be very possible to continue building a Micropub server that uses Hypercore/Dat as a storage medium! My long term goal here is to lean on Hypercore to provide a controlled, distributed file system for the flat file storage of posts (instead of leaning on a centralized though self-hostable system like https://min.io/ with free versioning and a means of handling access control for the content. Truthfully, I’d want the Micropub server to have access to two “drives”. We can name them /public for the generated pages of one’s site that then can be automatically available to the general public (or not! the ACL should work on a file-level from the docs so something similar to protected posts could work here) and another /content drive that holds the more intimate details on one’s site - the preprocessed bits like the raw templates, database for just quicker indexing (maybe sticking to SQLite because I’ve invested a lot into SQL, lol) and the raw posts and images.

This is very exciting and potentially the basis of making it easy to automate publishing from your conventional Website into the distributed Web!

I want this as well so badly. I can see parts of this already being here in a way with something like https://commentpara.de/. But I think the other bits you mentioned are things we’d still need to investigate - especially in the IndieWeb. I could see https://www.blockpartyapp.com/ even doing some sort of integration to help with the automatic moderation and prevention.

Pitch: a discussion community you can add to any website with one line of code, or embed in any app. Advanced analytics, customization, SSO. Compatible with micropub. Full export. Abuse prevention and moderation. Optionally charge for entry to all or part.
#indieweb #microformats #micropub #microsub #webmention #community

Bumping this because I have an interest in using Hyperdrivers as a storage layer for my project’s Micropub server - all IndieWeb technologies.

I have seen https://github.com/kappa-db/multifeed but I’d like to see something a bit more supported - especially since https://github.com/kappa-db/multifeed/issues/19 doesn’t seem to be a feature; something that would be critical to this.