Difference between revisions of "XmlWiki"

From Organic Design wiki
Line 24: Line 24:
 
*trap MediaWiki output
 
*trap MediaWiki output
 
*extract content and links
 
*extract content and links
*add xml link
+
*add xml link (action=xwXML)
*render transform article if view/preview
+
*render transformed article if view/preview
 
*render description-textarea if editing
 
*render description-textarea if editing
 
*render xml-textarea(xw.xml) if $action=xwXML
 
*render xml-textarea(xw.xml) if $action=xwXML
 
*render wiki content if special
 
*render wiki content if special
*publish article if saving
+
*publish transformed article if saving
 
'''FUNCTION''' (common functions)
 
'''FUNCTION''' (common functions)
 
*get article as dom
 
*get article as dom

Revision as of 22:38, 26 May 2005

xmlWiki is an object-oriented Wiki

Xmlwiki.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
  • 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.