Interesting Places

Here we consider some areas where this wiki is ready to grow, even if that growth isn't specifically wanted or needed right away. We ✔ those we've done and move them to Finished Work.

Client Side

Data and method plugins produce "radar" bindings with enough information to trace back numbers to their source.

Changes to numbers in one method propagates to all dependent methods on the page or even beyond. Maybe even scrub any number in range of 1/3n to 3n (one order of magnitude).

Traverse methods to construct a javascript function that does the same calculation very fast. Run the calculations a zillion times while varying all parameters to discover sensitivities. ✔ See About Reduce Plugin

Introduce deferreds to sequence the plugin emit/bind when a story's plugins are rendered. Perhaps emit creates the dom skeleton and tags it with more deferreds that will be resolved once it binds. Look to emitItem in refresh.coffee to see where this starts.

emitItem = (i) -> return if i >= page.story.length item = page.story[i] $item = $ """<div class="item #{item.type}" data-id="#{item.id}">""" $story.append $item plugin.do $item, item, -> emitItem i+1 emitItem 0

Invent a javascript testing framework that lets SFW test itself. Add functionality to client or server to make necessary mocking trivial.

Create an Available Data Analyzer that can tell you interesting things about what might be going on inside the SFW data environment. ✔ See About Method Plugin's debug switch

Replace the Exploratory Parsing web environment with SFW plugins.

Login without loosing open pages. Push local edits after login.

Don't put ghost pages in history. Refreshing the browser looses ghost pages. Um, what about _rev?

Create pages that describe how to scrapes sites when dropped into federated wiki. See BBC World Service for a mockup.

Server Side

✔ Replace Tracebacks for OpenID logon error messages.

Integration tests can fail on slow networks because the journal for the default welcome visitors page has a reference to new.fed.wiki.org in the journal.

Create a version of sitemap that includes internal links. Use this to cross-reference pages, possibly with a visualization.