24 February 2010

ColdFusion 9 Disappointment

We always quickly adopt new technologies and looked to migrate to ColdFusion 9 on immediate release. But there are things that have changed between version 8 and 9 that break our application. I really cant remember that ever happening before. It is related to changes with the DHTML ExtJS components.

We were actually told that this would be fixed in a hotfix, and to my disappointment the latest hotfix hasn't fixed anything.

So we have a purchased copy of ColdFusion 9 that we cant use, with no easy workaround or solution or even timeline to a solution.

I'm starting to think that Adobe has no interest in support of legacy ColdFusion features, they have really dropped the ball over the last few releases, we use these new features only to find out later that they have no plans to fix, maintain or update them going forward. This isn't the first time this has happened to use either. Some examples.

1. We wrote a large part of our application in Flash Forms, found an issue with dates, and Adobe never addressed or fixed it. And seem to have dropped updating this technology.
2. We wrote a large number of reports using ReportBuilder and adobe seem to have left this product in the trash also, the blog for the product hasn't even had a post since 2007
3. We do a lot of HTML to PDF conversion for reports etc, and every time there is an update to this, the scale or layout changes and we have to go and fix everything.
4. Been burnt multiple times by this one, CFGRID. Its gone from a Java version to a Flash version to an ExtJS version and none of the previous versions ever get any attention.

It begs the question, that perhaps I should just abandon ColdFusion for front end applications the rapid development benefit of ColdFusion for this purpose is quickly eroded by applications that break with new releases.

I really like ColdFusion and there are lot of things in ColdFusion 9 we would like to take advantage of, such as hibernate, but how do I know Adobe wont just stop updating or supporting this going forward also.

Disappointed.

10 comments:

  1. y Dale, I certainly feel your pain in a lot of respects. I have been there numerous times with the UI components, specifically.

    The approach I have taken is not to rely on the built-in CF UI components. Primarily this is because they are derived from other projects that are updated more frequently, and also independent of the CF engine. For example, utilizing jQuery rather than extJS has avoided any complications with upgrading.

    I definitely believe that these built-in components are useful for quick, one-off apps and demos. But I also believe Adobe should let them exist as plugins only. This would allow those of us who do not use them to avoid having the extra bloat in our app server.

    ReplyDelete
  2. My $0.02c

    We usually upgrade as soon as the versions start to come out. But after some huge pitfalls in the past, I just decided I'll avoid at maximum using ColdFusion on the front end.

    Obviously, my pages will still be powered by CF, but I won't use flashforms or any of those "tempting" pretty features.

    I'd rather build everything myself, and use ColdFusion heavily on the backend.

    That is also good for when you wanna change your engine (i.e. going from CF to Railo).

    Railo has just recently released it's cfajax functionality, which although great, is constantly changing, and bound legacy conflicts.

    Also, you won't get bug-fixes on the ColdFusion server as often as you would get if for example jQuery found a major security flaw.

    Cheers

    ReplyDelete
  3. @Dale,

    I tell everyone in my sessions that the CFAjax components are great for rapid prototyping, but a straight ExtJs implementation will travel farther in the end run.

    ReplyDelete
  4. Dale,

    This is actually funny to me, in a way. I don't mean to laugh at your pain, but I'll say, you have had some bad luck in picking the CF features to focus on.

    For some reason, the UI features have just seemed like things to NOT use. I always hated the Java form elements, have been relatively against the Flash forms, and am skeptical about the ExtJs elements, though with CF9, I would at least consider applying some of them.

    I guess it boils down to this question: Do I want CF to do the things I should be doing?

    Flash & Java forms are lame, ignore. ExtJS is cool but I should be doing that myself, it's fun (try it). Either that or go around it and do plain HTML and jQuery.

    Reports? I don't see why a CFR should be doing that (I guess I've never been introduced to the value of the report builder).

    Talking to a database is in a gray area still, but if I were to use an ORM anyway, the built-in one is the way to go. I would bet on Hibernate for the future of CF.

    It just sucks that you picked all the losers. I dunno, man. Don't play the lottery.

    ReplyDelete
  5. I would prefer it if coldfusion stayed on the server side, I decided a while back not to use their built in display options and come up with alternatives to them instead. As cool as they may seem they can never be as good as you just doing the work yourself for the UI components.

    ReplyDelete
  6. I LOVE LOVE LOVE ColdFusion, but have always been very hesitant to use their UI-based stuff. Partly because I love jQuery, partly cause I never learned it thoroughly. I'm sorry to hear that it is giving you upgrade issues.

    Don't leave CF, though :)

    ReplyDelete
  7. Dont get me wrong, im also a big fan of ColdFusion and am not planning on dropping it anytime soon.

    It's just disapointing that we keep doing this. Sounds like the consensus is that noone is using the UI components for this reason, if thats the case they should stop wasting time and effort on these and focus on the core backend.


    I think in reality there are lot of people who do adopt the new things they introduce.

    ReplyDelete
  8. May be its time to move on abd try some other technology, like .Net or PHP.

    ReplyDelete
  9. I agree with everyone who says to stay away from the UI features of Coldfusion. jQuery and other 3rd party libraries work great for all of that and are simple to maintain. However, we have been burned by some of the features like cfprint when it comes to printing PDF's. We ended up going back to making a call to acrobat reader on the server to print documents due to inconsistencies in PDF's not printing correctly. Hopefully they get that fixed soon now that they are Adobe.

    ReplyDelete

All comments are moderated.