An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Is Model-Glue Dead?

March 23, 2009 ·

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

  • 1 Tariq Ahmed // Mar 23, 2009 at 8:29 PM

    It's all about ColdBox.

    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

    I do not think so as MG is dead. If Fusebox is still there, MG will be there for a long time. :)

    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

    Well all I can say is that I stopped using Mach-II a long time ago, and instantly fell in love with Coldbox when I first heard about it some 2 years ago, or there abouts.

    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

    The ColdFusion community is too small to support so many frameworks.

    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

    This is one of the main reasons that I am a bit wary of using frameworks. I would like adapt one since I am growing beyond my capacities and need a central way to make the apps, I do have my own "framework" but it changes way to often to make it a standard and bringing in outside help won't be much help in updating the apps.

    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

    Well, I will be interested to be part of modelglue team by contributing sample applications. I have been using it since it was in first beta and developed many websites and webapps using it and It gave me my coding a and I don't want to make it die.. So lets get inspire from ColdBox and through collaboration we can make Model-Glue the best out of all the best CF frameworks!

  • 7 Peter J. Farrell // Mar 24, 2009 at 1:02 AM

    Sean, glad to see a post like this. There's a lot I could say about my personal views on open source in the CFML world, but I'll save that for post on my blog in the future. For now, I want to keep my comment on topic about why I think the continued development of MG is good for the community instead of diving into what people might call "framework politics" or the endless (and pointless) "my framework is better" debate...

    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

    " the hot web frameworks in other languages don't use XML"...

    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

    i don't think that model-glue is dead per say. i just think that joe has other more important things in his life and we should respect that.

    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

    @Bill - Heh, I was unaware that Transfer was dying. Someone ought to tell Mark ;)

    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

    Sorry ColdBox but we user Model-Glue VERY heavily. I believe Joe has called our extranet MG app one of the biggests MG apps out there. And we keep on using it for new projects. We can't wait for the next version. Sure the next version has been on the verge or release for a while but given the quality and thought that goes in to the framework I know its worth it.
  • 12 Chris H // Mar 24, 2009 at 6:09 AM

    i hope not, i'm using Gesture for some new projects and would love some updates ;D the alpha code is pretty stable, but it still is alpha, so i'm a little worried.
    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

    @All, first off, since these frameworks are open source, even if development stops, you can always still continue using the code you have - there are people still happily running Model-Glue 1.x (and Adobe is still running Mach-II 1.0.10 I think?).

    @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

    been using coldbox for the last couple apps I've been involved in, Im really getting used to the convention style xml-free, implicit views. Also was really excited about the "built-in" DI framework Luis has put together... One less xml file I have to deal with (coldspring)! Check it out Sean!
    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

    I'm in a meeting and can't type much other than "wait two days" - there's an MG announcement coming.
  • 16 Chris H // Mar 24, 2009 at 10:46 AM

    nice, you revived joe!
  • 17 John Mason // Mar 24, 2009 at 12:36 PM

    Here's a thought to help the open source community in CF which I've heard bounce around a couple of times before. Why not establish a CF Open source foundation. I think that is one of the main reasons the linux / apache world works so well. Sponsors can donate to the foundation which would make more sense than donating to individual developers. The foundation in turn pays the developers for their time and management of projects. Membership is based on actively working on the projects. A foundation can help popular projects when the main developer(s) can't put in the time. It would also be easier in terms of fund raising.
  • 18 Sebastiaan // Mar 25, 2009 at 3:47 AM

    I just read this on A List Apart and thought it may apply for the comment made by John Mason:

    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

    Writing my open source update each week, I can attest to the fact that we have *a lot* of one man tiny projects in the ColdFusion world. I used to try to not cover these but there are so many new projects coming along that I don't have time to investigate each one to the degree I need to (the updates still take a lot of time).

    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

    Wow, great idea. CF open source foundation.
  • 21 Sean Corfield // Mar 25, 2009 at 7:46 AM

    @Brian (and others) I find it very interesting - and very telling - that CFers think paying people to write open source software is the solution. As Brian notes, money doesn't create community and it is community that drives open source (not money).

    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

    Very well put, Sean.
    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.
  • 23 Sean Corfield // Mar 25, 2009 at 9:53 AM

    @Tony, yes, Matt hits the nail squarely on the head. Open source is about community and involvement.
  • 24 John Mason // Mar 25, 2009 at 11:00 AM

    I don't want the money thing to blur the vision of a foundation too much here. Naturally, as open source developers we put in a lot of free time. That's a fact and nothing will really change that. I do open source and use open source because of the philosophy behind it. However, we still have issues where money can help these projects. A foundation can help in documentation, publication, legal, marketing, hosting, etc. All the things that take, yep you guess it, money. So I don't think a foundation should change the underlining philosophy here, just help. The Apache Foundation is a good model to look at. A foundation is also good at organizing effort and building a roadmap. That I think is critical for these projects.
  • 25 adam // Mar 25, 2009 at 2:01 PM

    No matter what framework is hot: this war offers us, as a community, an amazing opportunity to learn from, and profit from, the true possibilities of mature open source CF OOP could be!

    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

    In doing some reading on the existing open source foundations, I really like the Apache structure but it has to be said that they don't directly compensate their developers. There are however developers within the Apache group that are paid instead by their company to work on the Apache project. So they basically donate programming resources rather than money. Mozilla is more of a typical non-profit with paid developers within the foundation. The Mozilla model is not what I'm arguing for. I don't think any of our CF related projects need full time paid development. Maybe we remove the money aspect out completely if that offends some people, but I maintain that some type of foundation would helpful.
  • 27 Sean Corfield // Mar 26, 2009 at 7:14 AM

    @John, thanx for clarifying that - I didn't think Apache paid developers but hadn't had time to research it to refute the claims made above! :)
  • 28 Jesse // Aug 12, 2009 at 3:54 PM

    @Dave, Why do you think you have to go back and replace the framework your apps run on if the framework stops being developed or supported? It's not like the framework code stops working when the framework developers let it die off. Thats a lame excuse, you should use at least one of the 2 or 3 standard CF frameworks (FB, MG, Mach ii or CB) so that you are at least writing apps on a framework that other developers working with you or behind you can quickly get up to speed on how your apps are structured due to the framework's community. If your rolling your own framework each time you build an app chances are your not writing much documentation on how it works which ends up taking allot of value away from the assets you are creating for your employer.