Model Glue Caching - patch update
Posted by Andrea Campolonghi in cfml , coldfusion , ModelGlue , railo on January 8, 2010
Two days ago I have posted some code that solve ( in part ) an annoying bug regarding caching in Model Glue framework.
As per MG docs the caching declaration can be used on any event-handler and include tag but, in practice. caching is only working if applied to the initial event-handler ( the first invoked by the url ).
Since we want to use MG on our project, and we absolutely need a granular caching system, we are implementing what we think can be a good solution and we would like to share for feedback and testings ( of course the MG team is the first in receiving our code for review and possible inclusion in future releases ).
We have made a new review to the first patch and now MG can support the following instructions:
<event-handler name="page.index"> <broadcasts /> <results> <result do="views.one"/> <result do="views.two"/> <result do="template.main" /> </results> <views> <include name="three" template="pages/three.cfm" cache="true" /> <include name="four" template="pages/four.cfm"/> </views> </event-handler>
<event-handler name="views.one" cache="true"> <broadcasts /> ....... <views> <include name="one" template="pages/one.cfm" /> </views> </event-handler>
<event-handler name="views.two"> <broadcasts /> ...... <views> <include name="two" template="pages/two.cfm" /> </views> </event-handler>
As you can see from this code MG can cache a single views but , and this is the best feature I guess , is also able to cache a full event.handler even if that is not the initial event handler.
This solution can really speed up yout MG app reducing dramatically the effort you ask to your server to what your page exactly needs. Any time you are able to cache an "inner request" event MG will just include a bunch of html skipping any broadcasting and this can really save a lot of unnecessary server stress.
Over that imagine you can easily cache a full page excluding just the single lines that ( for example ) are reserved to logged user info/panel ( and of course skipping any unnecessary message broadcasting ).
You can find the patch here ( replace file /ModelGlue/gesture/eventrequest/EventContext.cfc)
Let me have your feedbacks and suggestions.
REMEMBER : THIS IS CODE SHARED FOR TESTING AND NOT FOR PRODUCTION USE.
jQuery 1.4
Posted by Andrea Campolonghi in Jquery on January 8, 2010
I am quite interested in what is happening in jQuery for the next 2 weeks.
With the release of version 1.4 the jQ team has announced 14 days of news, code relaeases etc.
The website created for the event is nice and as pre release day news we got a brand new api browser site that looks most efficient and organized.
So let's wait and see what news will come in teh next weeks.
Model Glue Caching patch

started last week a very big project where we decided to use the MG framework as rendering engine.
The site will have a huge traffic and will need to display many 'heavy portlets' different by user or context etc...
We started to make some test and investigations on how we could implement pur rendering architecture using the MG view caching system. In short time we discovered that the cache declaration based on the include tag was not processed and considered by the framework.
Replace CfDocument with Flying Saucer Xhtml renderer
Posted by Andrea Campolonghi in cfml , coldfusion , railo on December 23, 2009
As per my previous post about Xhtml Railo capabilities I will post my firsts experiences using Flying Saucer as enhancements of cfdocument tag.
Now, cfdocument is not bad but the rendering capabilities are quite limitated and when I discovered that cfdocument, up to cf9, do not support justified text alignment I decided to give a try with Flying Saucer.
The library works taking your xhtml and rendering that into a pdf processing your css.
Bad html to Xhtml. The Railo way.
I have worked quite hard in the last period with an interesting xhtmlrendering java library called "flying saucer" ( I will post more about that in the next future).
This library takes a valid xhtml string and is capable to convert it into a pdf ( and more formats ) document. What makes this lib special is the ability to format the output using css 2 and 3 stataments. And I could not imagine ahow many things css 2 and 3 is capable of....