XmlWiki
From Organic Design wiki
xmlWiki is an object-oriented Wiki
File:Xmlwiki wht.jpg Old logo: File:Xmlwiki old.jpg
xmlWiki is a modification of the index.php page offering new features which are all maintained from editing normal wiki articles.
- All articles are objects stored in XML
- An additional xml page allows editing the data aspect of an article as a tree.
- A permissions structure offering basic read/write control over articles with users and groups.
- PHP Functions can be created and maintained by developers and can be dynamically applied to articles before rendering.
- Articles can made to automatically publish remotely over HTTP or FTP when edits are saved.
The general model of the xmlWiki layer are as follows:
INIT (called after main-misc-setup)
- get wiki/request env
- get article
- permissions
INPUT (called before processing $action)
- if valid xml posted, update article-dom
- put into POST as text for MediaWiki
OUTPUT (called instead of $wgOut->output)
- trap MediaWiki output
- extract content and links
- add xml link (action=xwXML)
- render transformed article if view/preview
- render description-textarea if editing
- render xml-textarea(xw.xml) if $action=xwXML
- render wiki content if special
- publish transformed article if saving
FUNCTION (common functions)
- get article as dom
- extract hrefs from text
- message
ADMIN (executed when xmlwiki.php requested directly)
- enable patch
- disable patch
Implimenting the Hack
Use the xmlwiki.php script to enable or disable the xml parsing of MediaWiki content.