Mach-II Roadmap Redux

Today was I going through some old Google documents that contained some plans/discussions by Team Mach-II on features to be released in future releases of Mach-II.  This specific document was last editted on January 7th, 2007 which is over 16 months ago as of the date of this blog post.  I'm happy to say that 95% of the ideas in the document have been implemented in either Mach-II 1.5 or Mach-II 1.6.

Here's a brief list of ideas that were in the document that we've already implement in recent version of Mach-II:

  1.  "Per event caching"
    That was the whole note in the document.  It was voted on and passed.  I'm glad to say that this feature turned into the new caching package that is in Mach-II 1.6.  Based on my memories of our discussions, the caching package that was designed is much more robust and feature complete than the one we originally discussed.
  2. "Dynamically build URLs in a framework aware format (including SES)"
    The document included some crude syntax on how it would work.  This statement ultimately made it into Mach-II 1.5 which was released as a stable in the Fall of 2007.  I'm glad to see that Model-Glue is following suite with similar functionality [LinkTo()] in the up and coming version 3 of the framework.
  3. " Ability to split XML config file and/or include XML chunks in main config file"
    This turned into the <include> and <module> features that we added in Mach-II 1.5.  Personally, <include> is a sleeper hit of Mach-II 1.5.  It's a powerful feature that is easy to miss and <module> has become the life-saver of my current applications.
  4. " Persist complex args across redirects"
    Before Mach-II 1.5, you could not use the <redirect> command to persist complex datatypes across a redirect.  So if you needed a CFC, struct or array on the other side of the <cflocation> you were just out of luck.  With 1.5 and beyond, you don't have to worry about that since you can use the persist="true" attribute of the redirect command and your complex arguments will be on the other side of the redirect.
  5. "Allow for complex datatypes defined within Mach-II XML"
    I was against this idea when Matt Woodward orginially introduced this idea.  I'm glad Matt was right and my fears about this was wrong about adding top-level support for arrays, structs and CFCs.  The introduction of MachII.framework.Property.cfc allowed us to create both a simple and high-level configuration for both the caching and logging packages we added to Mach-II 1.6.  I'm very happy in the way you can add either caching or logging packages to your Mach-II application.
  6. " Inline execution of events"
    This one idea turned into the subroutines feature that was added in Mach-II 1.5.  The Google doc shows a bunch of syntax ideas including on that called subroutines <block name="something"> which you indicate in your event-handler by using the a "do" command <do block="something"/>.  I'm glad we didn't go with this syntax, but the concepts behind "blocks" is essentially the same as subroutines.

All in all, we stayed very true to the ideas listed in this particular Google doc and what was ultimately implemented in Mach-II 1.5 and 1.6.

0 Comments  |  0 Trackbacks  |  Announcements  |  Send
Posted 5/5/08 @ 10:00 AM by Peter J. Farrell