[MKDoc-dev] Status of MKDoc-1.6 & MKDoc-1.8
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
- 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
- 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
- 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