Instead of building the book with publican as static HTML, instead: 1. Build a skeleton using publican 2. Send the skeleton to the client 3. Assemble the book in the browser by pulling the xml directly from skynet and rendering it in place using client-side XSLT Next: 1. When the editor is invoked, open the editor as a child window 2. When the editor's save action is invoked, inform the parent, and pull the xml for that topic from skynet again What this will achieve: a wikipedia-like experience of live book editing in the browser. Next: 1. Hook either the node.js server or the browser itself to skynet's topic event queue. If you can subscribe to a queue and specify which topics you're interested in, then the browser could register for the topics in the spec and the spec itself. BZ #839100 What this will achieve: the ability for the book to reload its structure or the xml of a particular topic whenever any of those change from a source other than the current user's browser Next: 1. Dynamically assemble the TOC in the browser from the content, rather than relying on publican's skeleton. Investigate this approach: http://www.alistapart.com/articles/building-books-with-css3/ What this will achieve: full dynamic assembly in the browser, at which point we're in for some serious magic.
Nearly there. We can use the publican-generated skeleton to "live patch" the html of the book at the moment. With off-line editing, solving the skeleton generation is the next piece.