Difference between revisions of "XmlWiki"

From Organic Design wiki
Line 50: Line 50:
 
# - etxract hrefs from text
 
# - etxract hrefs from text
 
# - message/log
 
# - message/log
 +
# - geshi syntax highlighting
 
# ADMIN
 
# ADMIN
 
# - enable/disable patch
 
# - enable/disable patch
 
</php>
 
</php>

Revision as of 10:45, 1 June 2005

File:Xmlwiki old.jpg        Old logo: File:Xmlwiki wht.jpg

A Wiki of Objects

xmlWiki is a modification of the index.php page offering new features which are all maintained from editing normal wiki articles.

  • Objects can be objects stored in XML
  • 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.

If the browser is fully XML-capable, then requested articles can be returned as XML for the client to transform with an XSLT and render. If not, xmlWiki can transform the document before returning it to the client.

The structure of xmlWiki

The xmlWiki layer is composed of a single PHP script called xmlwiki.php which, when called directly hooks or unhooks itself from three places in the MediaWiki index.php script.

The eneral structure of the xmlwiki.php script is as follows:

Current script here <php>

  1. INIT
  2. - do admin and exit if running directly
  3. - get wiki/request env
  4. - get article
  5. - permissions
  6. - build env (if action=raw, env is empty but a header is added)
  7. INPUT
  8. - validate xml and report error or,
  9. - process form-input (backslashes etc if necessary)
  10. OUTPUT
  11. - trap MediaWiki output
  12. - extract content and links
  13. - if view/preview/raw, do transform:
  14. - replace view/preview with transformed article
  15. - render output
  16. - if saving, foreach in publish-list,
  17. - do transform but with specified env
  18. - publish
  19. TRANSFORM
  20. - process dom-article (pass PT,XSLT list and DOM-article, returns DOM-result)
  21. - if docType is an xwArticle, see above
  22. TRANSFORMS
  23. - document transforms
  24. - image transforms
  25. - layout transforms
  26. - database table transforms
  27. FUNCTIONS
  28. - get article
  29. - etxract hrefs from text
  30. - message/log
  31. - geshi syntax highlighting
  32. ADMIN
  33. - enable/disable patch

</php>