http://www.pjk.us/paul/rss.cfm?mode=full
The #coldfusion channel is often all over the shop and sometimes politically incorrect in the extreme but the framework-related channels are generally much quieter and much more on-topic.
Don't forget that there are also full-day classes being run on the Wednesday before the conference (9/28):
- (FB103 Intro to Fusebox - Simon Horwith - cancelled)
- FB301 Advanced Fusebox - Jeff Peters
- (MT101 Mach II - Hal Helms - cancelled)
Paul Kenney will be introducing the Tartan Framework, a service layer framework for ColdFusion that helps you leverage your domain model in isolation from your application-level logic. Tartan's service management allows you to manage data consistently across multiple MVC frameworks, such as Fusebox, Mach II, and Model Glue, as well as Flash/Flex via Flash Remoting and SOAP web services. This lecture is a preview of Paul's upcoming lecture for the FuseBox conference.Note that this is a preview of the talk Paul will be giving at the Fusebox & Frameworks Conference.Wednesday. Aug 17, 7pm This meeting is in our new location: 601 Townsend (the new Macromedia building) corner of Townsend and 7th St., across Townsend from the old location
Unfortunately, this means no outside food or drink (even beer, sniffle). Please eat before you come or eat with us after the meeting. If the "no beer" policy doesn't work out for us, we'll have to come up with a new plan of some sort.
I'm going to be in Salt Lake City so I'll miss this year's conference which I'm fairly bummed about - it really looks like a great lineup!
Only a week left to get the early bird price too so hurry up and register!
Read Ray's enthusiastic response to Wayne's blog posting about the technique.
This should apply to other frameworks that use XML configuration files but I haven't tried it.
And, no, I will not be there this year - it clashes with a cat show in Salt Lake City so I'll be on the road from California to Utah while the conference takes place!
The first stumbling block is that BlueDragon does not support WEB-INF.cftags.component as the universal base class for all components. It's mentioned several times in the CFMX documentation so this is at best a compatibility issue that New Atlanta should document and at worst a bug they should fix. Workaround: change WEB-INF.cftags.component to any.
The second stumbling block I hit was that the pseudo-constructor of a derived CFC could not access variables set in the pseudo-constructor of the base CFC. New Atlanta just released a Hot Fix that fixes this bug. You'll need it to get Tartan running.
Then I tripped over <cfbreak/>. BlueDragon thinks that's an illegal tag. Add a space and it's happy: <cfbreak />.
I found the same problem with <cfrethrow/>. Changing it to <cfrethrow /> made BlueDragon happy.
Finally, BlueDragon does not allow derived CFCs to call private methods in the base CFC via super. Since private methods are accessible to derived CFCs (because CFML's private really means protected), this should definitely be valid. Workaround: change ServiceFactory.getServiceArgs() to be access="public".
At this point my sample application (for my frameworks talk) runs on BlueDragon in all seven variants.
Oh, and this exercise did highlight a bug in my code! My Tartan configuration file did not have a <parameters> tag around my DAO factory parameters which caused them to be ignored. This meant that my queries were being run with username="" password="". On CFMX, blank credentials are ignored and the values in the data source (in the CF Admin) are used. On BlueDragon, the blank credentials are used (so the queries failed).
I've already added a comment in response to several other comments there but I want to highlight a couple of observations he makes.
He draws a clear distinction between the primary application frameworks (Fusebox, Mach II, Model-Glue) and the "supporting" frameworks (Tartan, CFHibernate, ColdSpring). This is important to understand: you can use the supporting frameworks on their own, i.e., with your own ad hoc code, but they really work well when used with the primary application frameworks. Indeed, Tartan includes a Mach II listener and Model-Glue includes a Tartan proxy.
He also notes that Mach II gives the appearance of a framework that is not evolving very fast and compares it to Model-Glue, saying the latter "might very well take over". It will definitely be an area to watch closely.
More on this topic when I speak at SacCFUG, BACFUG, CFUNITED and PDXCFUG over the next few months. After CFUNITED, I'll make seven variants of a sample application available - each variant shows a different framework or a different style within a single framework.
I'm hoping to find the time between now and MXDU to create a Fusebox + Tartan version of the sample application that I'm using to illustrate the frameworks talk.


