We ask, what is the least code with which a community can collaborate with each other and the larger federation?
We imagine two files to make a read only wiki: host and view. We supplement this with two more files for authoring: edit and update. github
One additional and optional file will configure both client and server for a community: start.
We manage assets used to launch federated wiki servers with no download beyond the deno runtime.
Install deno then run start. install
tip: Run start.js from inside your .wiki directory.
deno run --allow-net --allow-read=. start.js
Browse from welcome visitors. start
This makes good on a ten year old challenge: the smallest federated wiki. We will try a few new things hoping to inform Principles for Version Two.
We have no configuration other than that in the server bootstrap start.js.
We make the server ignorant of the lineup. The client is thus independent of the server and ready to be reused in federation outposts.
We distinguish a "page" on the wire or in an object from a "panel" that is a page rendered in the lineup.
We distinguish a "site" that is a domain and a "where" that is a remote domain or a keyword view, origin or local. We add ghost for pages from nowhere.
We separate path?query#fragment where query params will be available to users for customizing client and server. See Client Type Modules
Wiki based authoring environment for new and limited circulation plugins. See Make Plugin Page
Experiments proliferate and implementations diverge. This may or may not be too soon for unity. See Guidance for a Small Wiki
Alias item ids when duplicated.