Spent the morning after a bit of reading to hash out the new idea I had for Webmention storage. In an attempt to stick to using the filesystem as a form of truth, I'll be writing out to a index.txt that'll have the URL and relationship type of the Webmention as it stands. That way, if I ever need to, I can use that list to refresh all the relationship from a backup if the database was missing. I'm thinking about adding another field to represent the relative path on disk to a serialized representation of the Webmention, but for now, it'll be (hopefully) expanded when it's added to the MF2 property.

I'm excited for all of these changes to work across the temporary destination storage approach—people would be able to get this full Micropub experience with little commitment or sync it to Dropbox or the ilk to have file backups and edit things in real time. I think allowing for two-way sync (editing a file triggers an update in the database) would be a nice thing to have in the future and would allow for scripting (generating a bunch of files for entries that are backfed from an archive that can then be imported into the database). To be honest, if I continue to treat the database as mainly a caching and indexing layer over the filesystem, then it doesn't seem odd to have a “duplicate” write of everything (to SQLite and the filesystem). I just don't want it to result in duplication of storage.

Engagement is powered by Webmentions — a premier standard of the Web to let other sites know you've mentioned them. Learn how to reply from your own site. or from a supported silo Aaron has an interactive post about this. If you've mentioned this URL via another one, use the form below to submit it.

If you don't currently own your replies, then you can click below to do so.

I currently aim to own my comments and plan to eventually show those I've received once I finish Lighthouse.