Difference between revisions of "XmlWiki"
From Organic Design wiki
Line 14: | Line 14: | ||
'''The general model of the xmlWiki layer are as follows:''' | '''The general model of the xmlWiki layer are as follows:''' | ||
− | '''INIT''' | + | '''INIT''' (called after main-misc-setup) |
*get wiki/request env | *get wiki/request env | ||
*get article | *get article | ||
*permissions | *permissions | ||
− | '''INPUT''' | + | '''INPUT''' (called before processing $action) |
*if valid xml posted, update article-dom | *if valid xml posted, update article-dom | ||
*put into POST as text for MediaWiki | *put into POST as text for MediaWiki | ||
− | '''OUTPUT''' | + | '''OUTPUT''' (called instead of $wgOut->output) |
*trap MediaWiki output | *trap MediaWiki output | ||
*extract content and links | *extract content and links | ||
Line 30: | Line 30: | ||
*render wiki content if special | *render wiki content if special | ||
*publish article if saving | *publish article if saving | ||
− | '''FUNCTION''' | + | '''FUNCTION''' (common functions) |
*get article as dom | *get article as dom | ||
*etxract hrefs from text | *etxract hrefs from text | ||
*message | *message | ||
− | '''ADMIN''' | + | '''ADMIN''' (executed when xmlwiki.php requested directly) |
*enable patch | *enable patch | ||
*disable patch | *disable patch |
Revision as of 10:57, 26 May 2005
xmlWiki is an object-oriented Wiki
xmlWiki is a hack not done the proper way: it 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
- render transform article if view/preview
- render description-textarea if editing
- render xml-textarea(xw.xml) if $action=xwXML
- render wiki content if special
- publish article if saving
FUNCTION (common functions)
- get article as dom
- etxract 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.