SWiM/services/edit-in-place

A service that provides Edit-in-place functionality within SWiM. Note that we need the sub-page structural annotations for that.

What is a section?
Also include metadata? Or even hide those sections and use a separate metadata editor (see IkeWiki)? --Christoph 14:24, 15 January 2007 (CET)

Setting

 * Special mode: presentation, with the ability to edit sections.
 * Maybe this can be done right in the presentation view, if the user has the necessary permissions!

Input

 * the current page p
 * from the system ontology (implicit): containment relations, section-like concepts

Output

 * a view of the page, with each section marked (box/frame) and prepared for editing (button/mouseover/...).
 * implementation: XSLT, embed JavaScript code into output

Input

 * the current page p
 * an identifier of the section (maybe xml:id or XPath to section)

Output

 * an editing box with the text of the section and buttons (save/delete section/cancel)
 * "save" and "delete" go to the server, "cancel" works on the client.

Input

 * the current page p
 * the section's ID
 * the command:
 * delete
 * save, and the changed text

Output

 * 1) to the database: XML code of the page with that section replaced
 * 2) to the client: re-rendered section
 * 3) * Does that work with the current OMDoc XSLT implementation? Or do we need to re-render the whole page? Maybe we could process the section embedded into its XPath-parents and "paste" the result :-)

Reasoning

 * None, could be done syntactically-only
 * … but need information from document ontology, which elements denote sections; OMDoc: omgroup, any statement, what else?
 * Do that by querying for subclasses of "section"-like things in the upper system ontology
 * Or should we query the knowledge base? No, I'd not think so. --Christoph 20:22, 11 January 2007 (CET)

After these preparatory steps, EiP only relies on the data structure