2022-05-14 Agora is going to enter a new phase: multi-Agora epoch. There are going to be new instances. How should they interoperate with each other? In this little essay I show some possible approaches. This essay is written for Flancian.
TODO: Mycorrhiza has interwiki links now, update the hypha
Interwiki
Wikis had this for ages. They have this special table called interwiki map, that lets you set mapping to wikis you care about. For example:
id |
url |
---|---|
mycorrhiza |
|
melanocarpa |
|
anagora |
After the map is loaded, all links that are prefixed with ids from the table above, along with a special separator, will link to the target site. The classic syntax had :
. For example, [[anagora:wednesday]]
would link https://anagora.org/node/wednesday. Doku Wiki chose a different character: >
. Mycorrhiza will follow the suite, and wants Agora to choose it as well. [[anagora>wednesday]]
.
Mycorrhiza is going to encode the table as a JSON. Read the ideas:
I think Agora could copy this approach completely. Every Agora would have its own interwiki map. Closer Agorae would interwiki each other. Also, for node a
it would make sense to link nodes with the same name on interwiki wikis in the related nodes section.
Prefix-less interwiki
What if you drop the prefix? [[wednesday]]
would link a local node, if there is one, or one in a different Agora, if there is one. This approach is liberating, because it doesn't make you think about places, you only care about the names.
A very similar idea is twin pages AKA sister pages. See Bill Seitz twin pages. See how Odd Muse did it. But can you have multiple twin sites? I think of a queue of twin sites. One site is the closest, the other one is a little farther, and one is very far away. Each of them is checked for the node one-by-one, until it is found. Of course, this is network-heavy.