0

Mach-II 1.5 Beta 1 is released and new website!

ColdFusion

Well... all of the blood, sweat, and tears from the developers of Team Mach-II has paid off, with  Peter, Kurt, and Matt going non-stop.  Tonight, Mach-II 1.5 Beta is officially released and available for download from the brand spanking new website!  Kyle Hays has done an absolutely spectacular job redesigning the project's home and there is now a blog incorporated as well so that the team well be able better communicate news about the project to the ColdFusion community at large.

So, why all the hype about Mach-II 1.5?   Here is a list of the new features that are now available from the framework.

  • XML includes
    The Mach-II application is built around a common XML configuration file in which you can define Events, Filters, Plugins, Listeners and other components and specify how they work together to manage the flow of your application.  In larger Mach-II applications, it is common for config files grow to several thousand lines, making them more difficult to maintain.  With Mach-II 1.5, you can now break apart pieces of your main XML file into smaller XML documents and include them from the main configuration file using the new <include> tag.

  • Modules (sub / peer applications)
    Mach-II 1.5 ushers in a powerful new feature with the addition of Modules.  Modules are stand-alone reusable sub-applications that you can plug into parent Mach-II applications, which then share the application scope of the parent.  For example, if you have a common login application that you use throughout your application development, you can add that as a Module to an existing Mach-II application.  With this feature, developers can easily create and share Modules for other developers to add to their own applications.

  • Subroutines
    Subroutines can be though of as a resusable block of configuration XML that you can define and then execute at various points in your Mach-II configuration file.   If you have a series of listeners that are announced in multiple events, you may wish to create that series as a subroutine and include them where you need to with the new <execute/> tag in the configuration file.

  • <redirect/> command enhancements
    Until the release of Mach-II 1.5, the <redirect/> command has offered a way to perform a clientside redirect to a new URL by performing a <cflocation/> call under the covers.  Due to the redirect being a clientside request, one challenge that has existed was the inability to copy complex arguments to the new event.  With the new <redirect/> tag, you can add the attribute persist="true" which copies the current event arguments to the target event. 

    Additionally you can now define the status type of your redirect.  By default, ColdFusion's <cflocation/> command does a 302 redirect ("moved temporary").  With the new redirect functionality you can specify the status type that you wish to return to the browser.  For example you can set the statusType attribute to "Permanent", "Temporary" and "PRG" for post-redirect-get.

  • Complex property datatypes
    The release of Mach-II 1.5 also brings with it the ability to define complex data types as properties in your Mach-II configuration file.  Until this release this was often managed through use of Plugins that existed only to set these properties.  With 1.5, you can now define Properties in your XML of types Array, Structure, and even ColdFusion Components (CFCs) with the use of the new Property.cfc.

  • URL management features
    New to Mach-II with the 1.5 release is the ability to bind and manage URL formatting within the framework.  With the new BuildUrl() and BuildUrlToModule() functions in the framework, the developer has the ability to format URLs in countless ways.  This means no more having to use custom code outside the framework to apply SES URLs to your application.

  • Bindable placeholder support
    Another feature that is part of the Mach-II 1.5 release is the ability to have bindable placeholders.  While Mach-II has long afforded the ability to define parameters to Plugins, Listeners, and Filters, the value had to be hardcoded in the XML which offered limited benefits.  With 1.5, you can now define bindable parameters that can be assigned at runtime.  For example a DSN parameter could be set like this:   <parameter name="Dsn" value="${MyDsn}" /> where "MyDsn" is a Mach-II property.

  • Other enhancements
    Numerous other enhancements have also been added such as a more detailed Trace Plugin, optional "reinit" attribute for event-beans, enhancements to how defaultEvents and exceptionEvents are handled.  Major performance enhancements have also been added in the initial loading of Mach-II applications, and several small bugs have been addressed.

 

With all these features it is important to note that none of these features came at the cost of backwards compatibility.  As of the time of this blog posting, there has not been a single report of 1.5 breaking older Mach-II applications, and several large applications have been running on the 1.5 for the past few months.

What are you still doing here?  Go download it now!

 

tags:
ColdFusion
Michael Sharman said:
 
Wow Dave that's quite a list, I can't wait to get my teeth into this new release.

A BIG thanks to you and the rest of the team for all the out of hours work you've all put it.

Do you have any documentation at this stage for the URL management feature? I'd love to use this, particularly when on a shared-hosting environment.

Man that list of new features is so big it could almost be a 2.0 release :)
 
posted 863 days ago
Add Comment Reply to: this comment OR this thread
 
 
Michael, check out the section on URL Management in here:
http://docs.google.com/Doc?id=dhshbm3s_56dd4wkr

Thanks!
 
posted 863 days ago
Add Comment Reply to: this comment OR this thread
 

Search