Is Model-Glue Dead?
March 23, 2009 · 28 Comments
Back in Summer 2005, Peter J. Farrell asked is Mach-II dead? There had been very little action on the framework for ages and Model-Glue was the "new kid on the block" and was surging in popularity. A few days later, he proclaimed Mach-II is dead as a call to arms. The result was that Matt Woodward took over the Mach-II project and Peter became lead developer. Since then Mach-II has gone from strength to strength with 1.8 in development now and 2.0 in the planning stage.Model-Glue 3 aka "Gesture" was previewed at cf.Objective() 2008, nearly a year ago, and Ray Camden praised it as awesome! Auto-generation of event infrastructure, event types, Application.cfc integration, SES URL support, UDF helpers, bean injection without setters, content caching, view formats, built-in remoting. And it pretty much all worked, nearly a year ago.
Fast forward a year and Dan Wilson just posted a status update to the Model-Glue mailing list. The hope is to have a beta at cf.Objective() 2009 but right now Model-Glue 3 has no scaffolding engine (remember that it's a complete rewrite of Model-Glue 2, just as that was a complete rewrite of Model-Glue 1) and essentially zero documentation. And no sample applications that demonstrate the new features. He admits getting those things done in time is a bit ambitious and has asked for volunteers to help get things together for a beta release.
I'm a long-time Model-Glue fan - many people accused me of contributing to the "Mach-II is dead" situation because of my enthusiasm for Model-Glue and "switch" from Mach-II. Since then, I've primarily used Model-Glue to build web applications but I've also built a number of applications for clients using both Mach-II and Fusebox - and I was the lead developer for Fusebox for two years (now handed over to Adam Haskell's capable hands),
Even tho' we're using Model-Glue 3 at Broadchoice, I'm very concerned about the future of the framework. While Joe Rinehart was at Broadchoice, we kept him very busy working on Flex, AIR and Groovy stuff. I almost feel guilty of contributing to the lack of progress on Model-Glue. Since he left Broadchoice and returned to BAH, he seems to have been even busier - and Model-Glue doesn't seem to have moved forward.
So, like Peter before me, I'm going to stir the pot and ask if Model-Glue is dead and whether you, the community, can step forward and help revive it? Dan and the MG Team really need volunteers. They need folks to help with documentation, they need folks to help with sample applications and they need folks to help with the scaffolding. Lots of opportunities, lots of different skills so you're bound to have something to offer.
I also have to ask, is it time for the "hot" torch to pass to a new framework? I've hardly mentioned ColdBox here. I've tried it a couple of times and it just hasn't "gelled" for me. However, lots of people whose opinions I respect think ColdBox is amazing. There's no doubt that the documentation is phenomenal - Luis has done an incredible job and produced something that all open source projects in the ColdFusion community should aspire to. I've been working on a Fusebox 5.5 application recently and loving the convention-over-configuration approach without the "burden" of XML and what can often feel like duplication of wiring in Model-Glue (and Mach-II). ColdBox has long touted its lack of XML and of course the hot web frameworks in other languages don't use XML. It's about time I added ColdBox to my arsenal of frameworks so I'm picking it up and will be blogging about it as I get to know it, sharing my mistakes (and, hopefully, my successes) and looking for your feedback.
Tags: coldbox · coldfusion · fusebox · machii · modelglue

28 responses so far ↓
1 Tariq Ahmed // Mar 23, 2009 at 8:29 PM
It's the first true professional grade CF MVC toolkit. Emphasis on the tookit part, because it's more than just a framework.
Professional debugger, professional documentation, professional website, all kinds of plugins, actively supported and developed, tons of sample applications, etc...
ColdBox is the jQuery of CF MVC frameworks.
2 Ouz Demirkap1 // Mar 23, 2009 at 8:33 PM
While I was an old FB deveveloper, I did MachII move when it was announced and then MG. Now mostly using ColdBox. But, as a professional who is not a framework 'fanatic', I prefer whichever works for my project best.
The team status/capabilities, standards and the tools which come with frameworks are important for a decision and MG is still there as a great tool.
Thanks Dan and other guys for their great support!
3 Andrew Scott // Mar 23, 2009 at 8:56 PM
I am about to release an Application in the next few months, that will be based on that as the framework and it is awesome (Coldbox that is).
Although there are many features that I still don't fully use, and thats because I am still getting my head around the majority of the included stuff. Which I am sure that in time I will begin to use more as I begin to pick those features up.
The Application I am working on at the moment, includes a few nice little plugins that help automatically install modules into my application. Which includes hooks that will help uninstall such modules as well as installation of them, and hopefully when its finished and finalised. I can release these plugins separately from the Application for others to user as well.
I must admit when Mach-II began to take of again, I got a little excited with the scaffolding features that were planned. But due to time constraints I was never able to sit down and install it to have a play with. I never liked Fusebox 3/4 and stopped using it, and found Mach-II so much nicer back then. But found Coldbox even nicer.
4 Bill Smythe // Mar 23, 2009 at 9:50 PM
Fusebox is dead, Transfer & Reactor are about to die
Its one of the problems with adopting a framework, you never when development stops and you have to change ship.
5 dave // Mar 23, 2009 at 11:45 PM
Really it would be nice if the cfm community would agree on one of them and make a commitment to make make it the standard framework so that it will be here now & in the future.
If you only work on 1 or a few apps then it isn't a huge deal but when you are spitting out 2-6 apps a month and are using a framework for a few years and then it dies it becomes a very big issue to go back and replace.
6 Shimju David // Mar 24, 2009 at 12:27 AM
7 Peter J. Farrell // Mar 24, 2009 at 1:02 AM
I think the hardest part of building a framework is *not* the software development part of it, but how to build a community that can sustain the project and contribute to the future evolution of the framework. As an example for those of you that have not followed Mach-II in the recent past, there has been amount of time spent on the wiki/documentation and the great thing is that members of the community have contributed to it (because our wiki is publicly editable without an account). I believe our efforts to become more community sustainable is demonstrated by our wiki and the expansion of Team Mach-II.
As you mentioned in regards to the history of Mach-II, at some point in time -- the "baton" needs to gets passed on and that is what happened a few years ago with Mach-II. Maybe Model-Glue is facing a similar cross-roads at this point? In the end, I'm sure it comes down to pure economics of time for Joe and the fact that at some point the efforts of one person cannot possibly sustain all of a project's needs. I hope that others will volunteer and help Dan Wilson out to achieve the goals that have been set forth. I'm sure there a many people that have a vested interest in MG because they have applications in production -- the continued development of the MG is good a thing!
Lastly, I always encourage everybody that uses open source software (OSS) to become involved in some way in process of open source. Either with the open source project you're using or another (for instance I use Apache but contribute to other projects obviously). OSS is free (as in $) and your contributions not only help you but help countless others in ways you'll never know (the whole concept of contributing 10 minutes of your time save an exponential amount of time for others theory). You don't have to contribute code -- there is plenty to do from wikis to documentation to answering questions on mailing lists. Be a good open-source citizen. And with that last part, I'll get off my OSS soapbox.
8 Andrew Powell // Mar 24, 2009 at 3:51 AM
Well, even though Spring is moving towards annotation based configuration, most Spring apps still rely heavily on the XML config files. Spring is arguably the strongest web framework in the Java world.
That being said, I agree, for the most part, with your points.
9 tony petruzzi // Mar 24, 2009 at 4:19 AM
also i think that more people are moving away from the XML based frameworks (model-glue, mach-ii, fusebox) and looking at the frameworks that utilize cf through out (coldbox and cfwheels).
it just a shift in mindset and let's face it; what's hot today is not tomorrow.
10 Nic // Mar 24, 2009 at 5:51 AM
As for the frameworks... I wish MG was not a full rewrite each version, it does seem to have hurt the framework's growth. I was a big MG supporter. It seems to me in CF that when it comes to frameworks, developers are always looking for the new shiny offering, and that they would rather attach their name to their own framework than help develop an existing framework. Developers need to get behind a single framework or two and begin contributing otherwise the frameworks will each only grow a bit at a time and none will mature. If we had the community base of Java, we could pull 10 frameworks along at once, but we are a smaller community.
2 examples - 1. Phill and I did this a few years ago with MG. We stripped out what we didn't need to lighten it up, added a few features and kept in contact with Joe the entire time. When Joe released a stable build with those features we let our project dry right back up. 2. ObjectBreeze came out at the same time as Arf! and Reactor. When Reactor seemed to have the time to make the big push I deprecated oB to a prototyping ORM and Joe killed Arf!.
Just my 2c ;)
11 RyanTJ // Mar 24, 2009 at 5:54 AM
12 Chris H // Mar 24, 2009 at 6:09 AM
anyway, if noone is continuing the MG development, then that should be announced so people would have the choice of moving to ColdBox or some other solution...
13 Sean Corfield // Mar 24, 2009 at 7:31 AM
@Nic, interesting observation. Looking around the CF open source landscape we see a lot of half-baked "one-man projects" that would all do much better if people collaborated instead of rolling their own. I think CF is big enough to support a handful of frameworks (and Mach-II is doing nicely these days despite its "death" in 2005).
@Tony, MG is not just Joe - in fact, I don't think he's contributed much beyond the initial code base for MG3? MG has a team of people working on code, documentation and examples. But they're volunteers and need help from the larger community. Open source is all about community involvement - see my comment to Nic above.
@Andrew, Spring is a wonderful solid framework (I love it!) but it isn't what I meant by "hot" - I was thinking Grails, Rails, etc which are XML-free.
@Peter, amen brother! I know we share opinions on open source and CFML :)
@Bill, Fusebox is far from dead. It's advanced a huge amount over the last few years and is probably more popular than ever - probably more popular than any other CFML framework - and is still advancing under Adam Haskell. Reactor is seeing renewed vigor under Mark Drew's stewardship and Transfer is going to be a mainstay for a good while - it'll be a long time before CF9's Hibernate-based approach becomes mainstream enough to "kill" Transfer.
@Andrew, Oguz and Tariq - good to hear praise for ColdBox... I'm interested to see what I think of it this time around.
14 salomoko // Mar 24, 2009 at 9:04 AM
I've gotten my apps down to just the coldbox configs, with the help of datamgr and the built in queryHelper, I don't even need datamgr's active schema xml config! real real nice!
15 Joe Rinehart // Mar 24, 2009 at 9:25 AM
16 Chris H // Mar 24, 2009 at 10:46 AM
17 John Mason // Mar 24, 2009 at 12:36 PM
18 Sebastiaan // Mar 25, 2009 at 3:47 AM
http://www.alistapart.com/articles/coachingcommunity
Good on you all open source guru's, thanx 4 all your efforts in making my programming days easier ;-)
19 Brian Rinaldi // Mar 25, 2009 at 4:58 AM
John's mention of a "foundation" of sorts was something I discussed with some people a while back (maybe 2-3 years ago). As I mention on John's blog though, there are a lot of complicated issues there, not the least of which being that money can grease the wheels of projects but doesn't actually create the movement - that part needs community. When we are each releasing our own micro-projects as such a small community that effort and time gets dispersed and could probably be put to better use.
I'm sure I will have more thoughts on the topic, but those are my initial impressions. Thanks for stirring the pot Sean, it needs it sometimes. :)
20 RyanTJ // Mar 25, 2009 at 7:20 AM
21 Sean Corfield // Mar 25, 2009 at 7:46 AM
One of the reasons often touted for the innovation in the open source world in general is that no one is paying those developers to write this stuff - they write it because they love writing software.
22 Tony Garcia // Mar 25, 2009 at 9:43 AM
I'd also like to point out what I think is a very well written blog post by Matt Woodward about (among other things) the philosophy of open source software on the Mach-II blog.
http://www.mach-ii.com/index.cfm/go/blog:showEntry/entryId/3A472929%2DA064%2D33A6%2DF42AD186CE733BD9/
23 Sean Corfield // Mar 25, 2009 at 9:53 AM
24 John Mason // Mar 25, 2009 at 11:00 AM
25 adam // Mar 25, 2009 at 2:01 PM
As long as Adobe holds up their end of the bargain - I don't see anything that are each doing dying off anytime soon!
This is as agile education, people.
I think we are collectively learning what we need to learn, when we need to learn it, as we need to learn it, where we need to learn it, and sharing it when we need to share it.
As our client bases and OOP understanding grows, so does our desire to learn the next shiny new thing.
This is all good for growth as a community, and a call to arms for more organization is surly in order at this point!
Who better then to do it then Corfield!?
Also due, is more recognition to the current gurus supporting these frameworks with their time on testing, lists, blogs, samples, docs, utils, plugins, patches, tweaks, etc...
The work these people do in supporting their particular fw of choice also gives creditability to the choices we make in our fws, and really in what are all trying to do with our work in ColdFusion.
The closer we get as a group, the more powerful we become, possibly even more profitable.
CF maybe a small *niche* community, but is that really a bad thing, is it?
Thanks for the comment space :-/
26 John Mason // Mar 25, 2009 at 4:39 PM
27 Sean Corfield // Mar 26, 2009 at 7:14 AM
28 Jesse // Aug 12, 2009 at 3:54 PM
Leave a Comment