Viewing Entries For May 2008  [clear date selection]

When is Mach-II 1.6 going to be released?


Ah, the age old question. While we could say "it will come when it comes," this is a bit of a cop-out phrase, and we also feel it promotes secrecy and uncertainty as opposed to the openness and transparency that is required for a great, community-driven open source project.

We could easily go into a Beta of Mach-II 1.6 today, but since Kurt and I are both going on vacation (independently of course), we'd prefer to wait on an official beta so we are able to better respond to your questions and comments. Remember that you can grab the bleeding edge release (BER) from SVN or our nightly builds, so don't feel as though you have to wait for the beta in order to start gearing up for version 1.6.

Our plan at this point is to release the Beta in early June once the both of us get back, since Kurt and I will be the point people when it comes to discussing the particulars on how logging, caching and the new ColdspringProperty.cfc works.  A nice side effect is that both our brains will be fresh from all the relaxing we get on our vacations, so we'll be ready and eager to handle all the beta activity.

Mark your calendars for early June, 2008 for the Mach-II 1.6 Beta! In the meantime, be sure to download the BER Zip of Mach-II 1.6 available from the code page of our website.

0 Comments  |  0 Trackbacks  |  Mach-II 1.6  |  Send
Posted 5/12/08 @ 6:35 AM by Peter J. Farrell

What's New in Mach-II 1.6 and 2.0?


Peter gave an extremely well-received presentation at cf.Objective() covering what's new in Mach-II 1.6 and even a bit about what we have in mind for version 2.0, and if you've been curious, be sure to download his presentation! We'll have an official beta for 1.6 available in mid-June, and development on 2.0 is already underway.

Some of the highlights for 1.6 include:

  • Improved Application.cfc bootstrapper
  • Publish/subscribe listener method invocation
  • Caching package
  • Logging package
  • ColdSpringProperty.cfc (replaces the ColdSpring plugin)
  • Miscellaneous fixes and improvements

The caching and logging packages in particular are extremely flexible, powerful new features in 1.6. Mach-II 1.6 ships with two caching strategies and three loggers, but we've made it very easy to extend and implement your own. For example, if you want to use MemCache, Mach-II 1.6 does not ship with that functionality, but it's very simple to add this--or any other caching strategy--yourself.

There's much more information and details in Peter's presentation, so grab it now and learn all about the fantastic new features in 1.6, as well as what we have planned for Mach-II 2.0!

0 Comments  |  Mach-II 1.6, Mach-II 2.0  |  Send
Posted 5/9/08 @ 8:12 AM by Matt Woodward

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