Hi Arlen
The primitive operation underlying federation is the ability to pull in tiddlers from an external wiki, potentially with the ability to transform them as they are imported (eg, to add a title prefix or a tag).
Jed’s work supports standalone wikis to fetch content from other standalone wikis (with some restrictions on matching http vs. https). Rather than using a straightforward xmlhttprequest, it avoids CORS issues by using a mechanism first developed for the implementation of the plugin library: the remote wiki is loaded into an iframe and then window.postMessage() is used to request and extract tiddlers from it.
Earlier this year, I added the “fetch” command which allows Node.js wikis to fetch content from standalone wikis:
The piece that is still missing is support for Node.js wikis to fetch content from other Node.js wikis using the API rather than retrieving the entire html file. (Jed’s robot work might yield a useful start for this).
I’m also now interested in an implementation of federation based on the peer-to-peer Beaker Browser (
https://beakerbrowser.com). It would allow us to build a community of intertwingled, sovereign wikis without any centralised hosting.
So, I think we already have sufficient primitives for experimentation with federation. The challenge has been figuring out a compelling use case and then building a usable user interface on top of it. We started by exploring recreating a conventional threaded discussion forum. The logic was to try to prove that the federation model was sufficiently rich to subsume existing collaboration tools. In practice, common feedback was to be puzzled why we were excited about an inferior copy of something that already exists.
Best wishes
Jeremy