πŸ“• Node [[agora plan]]
πŸ“„ agora plan.md by @flancian οΈπŸ”— ✍️

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 . It is kept in the [[go/agora-server]] repo.

  • A set of bridges to connect other platforms to the [[agora]], and the Agora to to [[other platforms]]. These are kept in the [[go/agora-bridge]] repository.
  • 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]].
    πŸ“„ agora plan.md by @agora@botsin.space
    πŸ“„ agora plan.md by @anagora@matrix.org

    Loading pushes...

    Rendering context...

    πŸ“• Node [[agora]] pulled by user
    πŸ“• Node [[feature requests]] pulled by user
    πŸ“• Node [[push]] pulled by user