I forgot to say that I have the day off from work today as time off in lieu for incident response during the weekend, so I'll be working on Agora stuff :)

Next up: either [[agora rss]] or [[stoa subnodes]]. Both sound good, might pick which one by throwing a die.
RT @flancian
In the spirit of working in public and trying new things:

I pushed an update to [[agora graph]] to make them maybe less pretty but more functional, nodes havi…

Shipped v1:

- returns a RSS feed for node [[foo]].

- is special cased, the same as /latest, to return a feed to the latest changes to all nodes across the Agora.

Now on to [[stoa subnodes]]!

This means that, whenever the default Stoa of an Agora has something in it, it should be integrated into the Agora like a first-class resource.

In current terms, this means that if someone has written something in the public (world writable) document associated with a node, it will be imported.

The rough implementation plan (prior to hitting bugs/changing my mind) is:

- run a [[hedgedoc]] batch exporter in the server that is running
- set up a process that syncs the export to a git repository
- import the git repository in the Agora like any other


Welp, this one is harder than I initially assumed. Turns out there's no ready-made way to list all notes in a hedgedoc server, nor a very solid looking export process. I'm a bit surprised.

I solved the first gap with a simple sql query, now writing a shell script.

Now running the script for the first time; it turns out that

1. there's 45k "documents" in
2. the export script exports only about 5 documents/second the export will probably take about 3 hours. Not great for a process that should be continuous.

The 45k documents are not real documents though, so there's hope yet: most of these were created empty or with boilerplate text, automatically, when any user visited any node in the Agora (when this functionality was enabled by default).

So I'll probably just filter stubs out.

...and that was easier than I initially hoped, nice for a change :)

[[hedgedoc]] stores creation and last change times for every note; filtering out notes where the two times are the same (notes that were never edited) yields the correct grand total of only 68 notes :)

Sign in to participate in the conversation

A Fediverse instance for people interested in cooperative and collective projects.