MML - A Taste of What's to Come...

I've been using MML on a variety of my own sites for around half a year now, along with some friends, but the fact is that the code is clunky, inefficient and unfit for public consumption. It's for this reason that I've not actually released the current MML so far.

Instead, I've been planning a complete recode of MML which is, for now, called MML-NG. This new version will be a whole lot more efficient, a lot less clunky and much more easily configurable.

On top of that, I'm adding a bunch of new features which will in some cases make it much easier to work with, and in other cases make it work better from the end-user's point of view...

Server-side Caching
This is particularly important if the site content is mostly static content. The MML processor can optionally keep a cache of rendered content and templates which it will have to do minimal processing of to produce the finished document to send to the client. The processor will track the last-modified times of the various files it pulls together to complete document rendering to determine when it is necessary to re-render documents.
Custom Tags
Current MML allows you massive control over the template's own HTML, but does not allow manipulation of the content document at all. Custom tags remedy this by allowing your own HTML tags to produce other HTML or allowing you to override standard meaningful HTML tags with more stylistic tags.
Better Embedded Perl
The current embedded perl system is clunky and irritating to use, requiring you in most cases to build a large string and then return it to produce anything useful. The new embedded perl system will allow you to print content instead, and code output from code blocks will now be subject to HTML processing including custom tags.
Compressed Output
MML-NG will support gzip encoding if the client supports it, so long as the Zlib perl module is installed. Some copies of the current MML that my friends are using have gzip support, but it's not very elegant or efficient so it doesn't officially exist...

I've been planning this in my head while I've been preparing for and taking my terminal exams. Once the exams are over, I will begin work on actually coding MML-NG.

People have asked me to release the current MML, but it truly isn't fit for it. The code is unpolished and undocumented, and changes must be made to the code to actually get it to work in a given situation. I don't have the time just now to package it up in a usable way, and once I do have time (when exams are done) I'll be starting on NG...

Just another month or so, folks!

MML and this site are © Martin Atkins 2000-2001