[MKDoc-dev] Status of MKDoc-1.6 & MKDoc-1.8

Bruno Postle bruno at mkdoc.com
Thu Sep 23 15:37:56 BST 2004

We have had a fair amount of recent correspondence about MKDoc 
off-list, this is a description of the two branches of code that I 
thought should go to this list..

The mkdoc-1-6 branch is the stable code that we have had in 
production for quite a while, it is relatively problem-free in 
operation - This is the code in the mkdoc-1.6.28 tarball.

There has been a certain amount of modularisation in this branch, 
but not much:

- Text to html processing has been split into the 
  MKDoc::Text::Structured module.

- Document content is stored in XML-ish format within the MySQL 
  database (Document.Body), processing this and various other XML 
  handling such as cleaning attributes from submitted html and the 
  'magic hyperlinking' functionality has been split into the 
  MKDoc::XML module.

- Template processing became the Petal module (which has been quite 
  a success).  Petal now has i18n translation capabilities - 
  Processing for this is in the bizarrely named I18NFool module.

- Automated Email templating became Petal::Mail - This works quite
  well producing very clean wrapped-text email.

- MKDoc generates pages dynamically, obviously dynamic pages don't 
  scale for busy sites.  The 1.6 branch contains an internal 
  half-baked cacheing mechanism which should be removed since it was 
  superceded by the generic MKDoc::Apache_Cache and 
  MKDoc::Control_List modules which are much more effective.

Each of these CPAN modules has reasonable documentation and test 

What remains in the MKDoc tarball is a lot of CMS related code of 
varying quality and documentation - This is very stable and performs 
without problems on some very large sites - It doesn't however have 
any kind of integrated test suite.

The 'unstable' CVS trunk (otherwise known as mkdoc-1.8) has some new 
features (like versioning and single-domain-name operation), but 
mainly it has undergone some more modularisation:

- Authentication and authorisation have been put into MKDoc::Auth 
  and MKDoc::Authz (and MKDoc::Control_List).

- There is an application framework module called MKDoc::Core, my 
  understanding is that this is a generic web-app framework in the 
  same vein as OpenFrame - I haven't had as much to do with this as 
  I would have liked.

- The forum/web-board functionality that uses IMAP as a message 
  store, was split into MKDoc::Forum that plugs directly into 
  MKDoc::Core - This was never reintegrated into MKDoc and is 
  currently broken.

- MKDoc-1.6 has a custom SQL backend which you can find in lib/sql/. 
  For MKDoc-1.8 this was removed and put onto CPAN as MKDoc::SQL.

These newer modules have varying levels of documentation and test 
suites.  This 1.8 code does work but it has had nowhere near as much 
testing and bugfixing as 1.6.

That's it - If anyone has any questions, please ask.


More information about the MKDoc-dev mailing list