This repository has been archived by the owner. It is now read-only.


Ward Cunningham edited this page Sep 4, 2016 · 22 revisions

Project Goals

The Smallest Federated Wiki project wants to be small in the "easy to learn powerful ideas" version of small. It wants to be a wiki so that strangers can meet and create works of value together. And it wants to be federated so that the burden of maintaining long-lasting content is shared among those who care.

Project History

  • Create file hierarchy for client & server side code, persistent data, and system tests.
  • Create sample pages as flat json files. Make the first one really simple.
  • Implement a server that can render pages as html.
  • Implement client code for drag-and-drop refactoring.
  • Implement server code to accumulate edits via ajax requests.
  • Create sample pages that include images. Render images similar to paragraphs.
  • Create sample pages that include data. Render data similar to images.
  • Implement client code for rendering json pages as html.

Project Roadmap

Here we declare our intention, but stop short of commitment. We identify useful releases as demos or prototypes. We subdivide these into thrusts, and thrusts into bullets of activity.

Demonstrable Federation

Federate multiple instances of this wiki.

  • Create sample pages that reference federated servers, probably by journaling fork events. DONE.
  • Render fork events as clickable links, clicking views current state of remote version. DONE.
  • Fork remote versions locally so that they too can be edited. DONE.

Cross-page refactoring.

  • Render two pages in two lists that jQuery can sort. DONE.
  • Handle drag-and-drop between lists. DONE.
  • Implement server side ajax for updating two pages at once. DONE.
  • Resolve use of css IDs when viewing multiple identical paragraphs. DONE.

Engaging Prototype

Mobile Friendly Gestures.

  • Hover/Tap to expose actions.
  • Internal link adds a column, discard to right. DONE.
  • Side scrolling when active columns exceeds display width. DONE.

Paragraph Editor.

  • Tap or hover to bring up edit command.
  • Edit within pop-up dialog. DONE.
  • [+] to add new paragraph. DONE.

Generalized Editor.

  • Similar gestures open plug-in editors. DONE.
  • Image editor uploads images. DONE.
  • Data editor adds or removes datapoints.

Simple Site Builder

  • How-to guide for getting instance, domain, site running. DONE.
  • Plug-in machinery and repository. DONE.
  • Sync from local-storage to new site. DONE.

Data Publishing

Rich Datatypes

  • Multiple parameter time series. DONE.
  • Geographically based information. DONE.
  • Factor/label calculation. DONE.


  • Dynamically load specific libraries. DONE.
  • Loose association with datatypes. DONE.
  • Rollup/Mashup support. DONE.

Data feeds

  • Import from server-side scripts. DONE.
  • Selective sync to public site. DONE.
  • Stale data detection with guided refresh