IkeWiki/storage

IkeWiki's savelet cascade
How an article (actually, an EditorArticle e) is transformed and finally saved when the user pressed "save" in the edit view:


 * 1) Dojo's RichText widget > EditContentAction.storeArticleRichText > RenderingPipeline.transformHTMLToArticle > RenderingPipeline.processSavelets
 * result: e contains crappy HTML
 * 1) NormalizeSavelet
 * 2) sanitize HTML
 * 3) transform  wiki links  to HTML links
 * 4) transform embedded scripts (Ruby/SPARQL) to  <![CDATA[...]]>  
 * e's text is almost clean HTML
 * 1) TidySavelet
 * 2) W3C-tidy the HTML
 * 3) convert HTML to WIF via XSLT (transform-html-wif.xsl)
 * e got a base DOM (WIF/XML)
 * 1) MediaWikiSavelet
 * 2) enrich Article object by Wikipedia-like wiki text (for backwards compatibility)
 * 3) RubySavelet
 * 4) process execute-on-storage ruby scripts
 * 5) StorageSavelet
 * 6) stores the article to the database (via StorageBackend.storeArticle)

The savelets that are invoked are configured in WEB-INF/renderer.xml as   elements