New Features In MG3
Bean Injection
Automatically inject model components that are managed by ColdSpring into the application's controllers.
Typed Events
This feature allows developers to easily create sets of XML which would have traditionally been spread across many event handlers.
Event Generation
By calling undefined events in the URL, we can tell Model-Glue to do all the needed setup and free us from having to modify the ModelGlue.xml file directly or create the files to handle the event. All of this is done by naming convention and makes the setup process very easy.
Event.copyToScope()
How To Use Event.copyToScope()?
Search Engine Safe Urls
In previous versions of MG there was no built in SES URL handling. However, it could be manually implemented using a number of techniques. In many cases the user may or may not have been using the "myself" value which held the path to the index.cfm. If you're using SES URL features in MG3 you won't want to use myself any more. Instead, you'd use the event.linkto() function.
Actually, you'll want to use event.linkto in place of self and myself now as this will allow you to switch your entire app to SES URLS quickly and easily.
How To Use Search Engine Safe Urls?
Application.CFC Integration
How To Use Application.cfc Integration
Content Caching
Model-Glue has historically provided some basic caching features. Model-Glue 2 introduced a set of basic functions on the base Controller object that allow developers to cache values for a configured period of time. Model-Glue 3 builds significantly on top of the caching features of Model-Glue 2. Model-Glue 3 has a granular way to cache the outcome of event handlers and views. However, Model-Glue 3 intentionally does not have an object caching system. This is really a feature of your model and is not one of Model-Glue's concerns.
Helpers
You can drop a CFC or CFM in the helpers folder of a Model-Glue application. Once you've done this, any Controller or View can run a method in the CFC or UDF defined in the CFM by using helpers.X.Y, where X is the name of the file and Y is the name of the method.
Formats
Often web sites are built for multiple front-end clients. One site may serve up pages to web browser, mobile devices, Flex or AIR applications, or AJAX requests. Typically these clients all want the exact same data, but each will need to format the data in a slightly different manner. In the past, Model-Glue would typically require you to build multiple events to serve different flavored data results, or one event was used and the Controller fired a different result based on the other parameters.
Model-Glue 3 formalizes this with a new requestFormat attribute. The requestFormat attribute is now a special value in the Event context. Both the <results> and <include> tag now support a Format attribute. If specified, the result/include will only be executed if the request format value matches.
Remoting
Make use of the binary protocol AMF and the FlashRemoting gateway in MG3!
![(please configure the [header_logo] section in trac.ini)](/ModelGlue.com/trac.cgi/chrome/site/your_project_logo.png)