📚 node [[tasks]]
⥅ node [[agora-plan]] pulled by user

Agora Plan

Introduction

The [[Agora]] is a project with a large [[scope]], so it takes a minute to explain what it's all about, and what the vision this plan tries to advance is.

If you'd like a quick introduction to the Agora as of mid 2021, please check out [[go/agora-slides]].

You can also refer to [[go/agora]], that is the documentation in the [[root repository]] currently hosted on [[github]].

What this node is for

This node is used as a project planning page for the [[Agora]] implementation you're likely reading this in now: https://anagora.org.

As you might know by now, an Agora is a beast with multiple legs:

This node might deal with development of any and all of them. We will try to list past major developments below, but this node will try to also be [[future focused]].

Next

Previously

  • On [[2021-11-06]]:
    • Lots have happened. I gave up trying to maintain this for a while, instead using my journals and a transitive subset of the [[Agora]] to document the development process.
    • See [[flancia collective]], [[agora discuss]], [[journals]].
  • On [[2021-01-30]]
  • On [[2020-01-02]] I implemented [[jump]]
    • I said: "I'll implement the action and a 'jump'/ dialog always available in the Agora, perhaps replacing search in the [[toolbar]]."
    • Done!
    • Q: is 'go to' better than jump? I don't think so, and it could be confusing due to go links. But unsure.
  • On [[2020-01-01]] I fixed node titles.
  • On [[2020-12-29]] I pushed a quick patch that upranks all my subnodes, as some top subnodes in relatively popular nodes had formatting issues / were distracting. I intend this to be temporary; better ranking and formatting fixes are coming.
  • On [[2020-12-27]] I released [[agora 0.5.6]] with [[pull]] support, better db code, caching... quite a bit :)
  • On [[2020-12-20]] I worked [[agora 0.5.5]], which adds simple [[hypothes.is]] integration.
    • Fixed the fact that [[back]] [[links]] didn't work in non-existent nodes (even when there are backlinks, that is).
    • Prepared CSS/html for pull, push, forward links.
  • On [[2020-12-04]] I released [[agora 0.5.4]], with some improvements:
    • New data model (digital gardens are not subtree'd in the main [[agora repository]] anymore, stay wholly independent)
    • Index page is now just another node, subnodes can be contributed by users.
  • On [[2020-11-29]] I integrated the first community contribution ever.
  • On [[2020-11-27]] I fixed some bugs, like wikilinks with periods on their names not working.
  • On [[2020-11-22]] implemented count of subnodes in user pages.
  • On [[2020-11-17]] implemented [[latest]].
  • On [[2020-11-16]] I implemented [[agora fuzzy matching]] and full text search, adopted a div based layout, improved the CSS, improved user pages.
  • On [[2020-11-15]] I implemented dark mode (press on 'theme' on the top right corner to switch dark <-> light).
  • On [[2020-11-14]] I released [[agora 0.5.1]].

Signups

Integrations

Next

  • all http mentions should be auto linked, not only some: https://twitter.com/notverapetrova/status/1346258737204400128
    • Worked around this, but I should probably send an upstream PR to [[bleach]]
  • try rendering notes with [[marko]], see if it's a bit more forgiving with list indentation and other kinks that seem common.
  • add support for org mode gardens
  • I should make node [[0.5.6]] work
  • graph the whole Agora -- sounds fun!
  • Implement pull and push.
    • Define divs for 'pulled' and 'pushed' sections
    • Write functions that return [[pull]] and [[push]] entities in each subnode
  • Make more links default to node instead of subnode.
    • For example those in latest, those in user pages.
    • Might require 'upranking'.
  • set up [[agora]] hot spare in [[dorcas]], this is an experiment but I already find it very useful so I don't want to not have it available for a while if there's a server failure
  • add monitoring -- [[munin]] or something more modern? [[prometheus]]?
  • Implement /node/foo/selector as more resilient/uniform alternative to /subnode.
  • Implement user upranking/pinning.
    • Perhaps nodes visited from a user scope uprank subnodes by that user?
  • https://twitter.com/s5bug/status/1334686375275163652?s=09
  • Provide a link (GET) for the search for '[ ]', useful for [[do]].
  • Add better backlinks, showing some context.
  • Make the site header be marked as an actual header (div with a class, etc.); Google seems to think it's part of the site text (it's showing up in results).
  • Fix markdown list formatting issue with different tab widths.
  • add footer.
  • Implement preview-on-hover?
  • Implement "around the Agora".
  • add /latest or some other chronological view
  • User profiles: perhaps just note [[flancian]] as written by user [[flancian]]? Unsure.
    • [[s5bug]] suggested using [[README]] in gardens for this. Makes sense.
  • Make the index be just another note [[ding-levery]].
  • Improve backlinks: show snippets as well as just the link.
  • Improve pull loop to also support arbitrary hooks, like that needed to implement [[agora go links integration]].
  • Multi user improvements:
    • Better sorting (right now all my notes show up at the top, doesn't make sense).
    • Ability to "zoom into" a user, to navigate just their garden for a while.
    • Perhaps ability to "uprank" users, pinning their notes to the top of any sorting order.
    • Perhaps sort+uprank can be integrated?
    • usernames could have a 'pin' emoji that upranks all their posts?
  • Implement search (full text).
  • Add support for media serving (useful for pictures of [[ocell]]).
    • assets/foo end up at node/assets/foo; just adding a handler for node/assets/ seems like it could be enough.
    • It would conflict with a node named 'assets' though, so perhaps it's not ideal.
    • Perhaps it'd be better to just serve images/media as subnodes?
  • Add monitoring/alerting.

Some day:

Feature requests

History

  • fix bug: backlinks should be shown even in yet non-existent nodes, such as [[deceased]].
  • Clean up stale journal pages which don't follow [[iso 8601]].
  • Add config.py file with things such as paths.
  • Add user handler: /u
    • /u/flancian -> all nodes by flancian
    • /node/flancia/u/flancian -> flancia by flancian
    • Also added @flancian. Shorter is better, and it's a common convention.
    • perhaps /g/ for groups later? or /s/ for stoa.
  • Add 'link to this note'.
    • Now called subnode.
    • Subnode rendering is ready, just need to add links.
    • Perhaps I need to fix subnode paths; right now they are the actual filename. It'd be better if there was at least possible to specify the filename base (no extension) and have the right file be resolve, a la nodes.
  • add some search support -- a simple textbox + GET?
  • better css
  • Improve the [[index]].
  • Implement [[agora fuzzy matching]].
    • Done
    • but backlinks don't work in some cases, like http://dev.anagora.org/node/abstract%20fairy.
    • Probably not worth fixing that right now as it only triggers for nodes that are not canonical, perhaps better to just redirect to a canonical node.
    • could help with disambiguation and acronym expansion
  • Wow, it's been long since I was here.
  • Long enough that last time I was here I wasn't yet using the Agora in its current configuration, so my writing was going to an all lower case filename in my digital garden.
  • So, well, I guess I could take this opportunity to start anew :)

The Agora is a Knowledge Commons built for the benefit of sentient beings.

⥅ node [[chores]] pulled by user

chores

  • Things that are [[maintenance]] and can't be automated.
  • Pushing entropy back; [[cleaning]], although cleaning can be fun.
⥅ node [[do]] pulled by user
  • a [[list]].
    • [[irregular]].
    • [[meditate]] now.
    • process inbox (pushes to this node).
    • configure [[probing]]
      • I never get to this, can you tell it reminds me of work? :)
      • I need to just set a pomodoro and do this, but I feel like running the agora at low slo is OK. It's supposed to rely on distribution later on for reliability gains.
      • Doesn't really apply as an argument to [[moa]] though -- although for [[moa]] we have [[sentry]] set up so that seems reasonable.
      • -> As of 2024 moa is no longer supported, we shut it down when Musk closed down the API. I intend to bring it back, maybe for [[Fediverse]] <-> [[Bluesky]] -- but [[Ryan Barrett]] solved that with [[Bridgy Fed]]. So now I'm back to trying to make it work for Twitter again, even if it means paying, and running an instance for a closely knit community.
      • Hmm, I should still do this :)
      • I also need to do something similar for [[social coop]] ideally, so maybe I could try to solve both at a time.
    • [[push]] [[agora]]
      • implement [[auto pull]]
      • fix toggle switch for [[auto pull]]
        • this refers to /settings which has a toggle
        • hmm, maybe I should just embed the settings page in the burger. that also frees up /settings for the actual node about [[settings]] :)
        • I already have the burger menu working in a branch, which is nice
        • implement a toggle in the burger menu :)
        • implement [[auto push]]
      • ...I wrote at some point in time. Now it's implemented, both when you say #push [[example]] and when you use a colon.
      • So I'll think about it but maybe this is done-for-now.
        • client side pulling
          • done for: mastodon, twitter, wikipedia
          • need to test general URL pulling, see how many sites allow iframes
        • This is done :)
        • improve [[agora graphs]]
          • I like what logseq does: show link direction as particles. push/pull could be different particles. hmm. particle diagrams. check out [[feynman]] for inspiration?
      • this is still a good idea honestly, and I always want to work on graphs - could get inspiration from some diagrams in [[a rosetta stone]]
        • [[wikilinks everywhere]] -> [[agora ext]]
          • I really want to move wikilinking to on-demand (push button/ctrl-shift-l) or cronjob-like behaviour but right now it just wikilinks everything every time you click, and some sites break
            • this is already better after a quick PR to linkify on click instead of mouse movement
            • twitter still sort of breaks though
            • [[vera]] is on this though
        • [[agora server]]
        • parse agora protocol
          • recognize (match) and style differently
    • [[push]] [[agora interlace]]
      • [[agora social media integration]]
        • write [[agora bot]] for [[mastodon]]
        • write [[agora bot]] for [[twitter]]
          • fix auth
            • restore context
            • this could be a great workaround for the worse of the re-replying behaviour, and probably will be needed even if I want to support zero state best effort
          • fix deduping
            • need to do this again
        • test [[vera]]'s code for pulling tweets and toots
          • only pulled some for some reason
          • figure out what's up, try again and get the context back
      • [[agora bot]]
        • fix twitter so it doesn't keep re-replying
        • the API doesn't feel great, I wonder if I'm missing something
          • I thought I'd done this but it's still failing in some cases, [[s5bug]] gave me a test case, I think I put it in [[agora twitter bug]]
        • refactor mastodon<->twitter so they share code? I don't want to implement everything twice, and I certainly don't want the mastodon version to suffer because I'm addicted to twitter (great people there as well, and there are more of them)
      • [[push]] [[agora bridge api]]
        • build/release [[agora bridge api]] for the storing posts in the agora.
          • we want to create a git repository for each calling users, which the users could then [[claim]].
          • could be flask, included in [[agora bridge]] repo, copy/paste from [[agora server]] to begin with?
            • nope, it is typescript thanks to [[vera]], looking forward to set this up :)
          • but hopefully they can just communicate through yaml? or perhaps set up and write to sqlite to begin with
          • thought of consolidating everything into [[agora server]], but it feels cleaner to have writers and readers split. should scale better; if the write path goes down, the agora keeps serving just fine without having to do anything special.
            • probably keeps it simple to run a read only agora (mirror).
        • yes, going with [[read]] ([[agora server]]) and [[write]] ([[agora bridge]]) apis
        • request new git integrations (e.g. mount git repo X in path Y)
        • accept other inputs? like perhaps subnodes, which could go into a managed repo.
        • configure sources from social media (from agora bot)
        • in general this unlocks better [[signup]]
    • [[push]] [[moa]]
    • [[slay moloch]]
    • [[write]] - [[flancia]]
    • [[patterns]]
    • [[read]]
      • what [[will walker]] told me about
        • link it here
        • this is past due
    • [[push]] [[weekly]]
      • run [[weekly review]]
      • it turns out I do a run through [[do]] weekly at best as of late, so this is my weekly. I'd love to make it daily though. perhaps I could auto-pull [[do]] from the journal page? just the subnode for the 'active' user.
      • promote [[do]] to nav item?
      • we could also have 'this week', 'this month', 'this year' in the agora, have it rank top nodes in time scope, allow users to pull specific nodes from each view
  • an [[agora action]]
  • [[research]]
  • Please tell me what you think I should [[do]] next (or instead of the things I'm doing or planning to do) below in the Stoa, via social media, or via any of the channels listed in [[flancian]]. All feedback is welcome!
  • [[push]] [[done]]
⥅ node [[later]] pulled by user

later

⥅ node [[next-action]] pulled by user

--

Here again on [[2024-10-12]]. My next actions are:

  • experiment with Agora UI w.r.t. stressing the place and action components.
  • maybe make agor.ai work (the root Agora for that network/domain)
  • write to Maitreya and others
  • I still like that [[CHF]] idea
  • fix [[org mode]] e.g. [[@jakeisnt]] garden
    • update orgora?

--

Here again on [[2025-04-08]]. I keep looking for a [[root node]] that I defined at some point; I think my problem is that I have several of those -- but maybe also my potential ;)

In any case, I think I may stick with this one and add to this one as a sort of "todo journal".

  • Bring up tar.agor.ai or similar in [[tara]] (to get away from remote development, which just isn't working for me as of late -- I spend too much time solving connectivity issues in vscode)

--

[[2025-04-13]]: tar.agor.ai is up since a few days ago :) Now I'm about to start pushing updates to it, and eventually push something to prod after quite long without updates in the reference Agora.

--

I had forgotten about the idea of noding in the yearly node for some stability but also some time anchoring. [[2025]] is that :)

📖 stoas
⥱ context
⥅ related node [[2004 04 26 tasks pro 1 1]]
⥅ related node [[linked tasks]]
⥅ related node [[tagged tasks]]
⥅ related node [[moa tasks]]