ColdFusion X Writeup

This post is more than 2 years old.

Today at Scotch on the Rocks, Adam Lehman released some tidbits about the upcoming new release of ColdFusion, ColdFusion X. I tweeted as much as possible, but for those who don't use Twitter, and for those who want a general one page summary they can comment on, here is what he said and my opinion where applicable. Please note that anything announced today could easily change between now and the real release. Also remember these notes are based on my memory of what Adam said. Any mistakes are my fault.

  1. Verity will be removed.

Not much to say about this. Adam suggested anyone using Verity now should begin looking into transitioning to Solr. Even if Verity wasn't being removed I think most people would recommend this anyway. Verity was a good product. I don't think it got the credit it deserved. But it's ancient now and Solr is much more capable.

  1. JRun is being removed in favor of Tomcat.

Not much to say about this one. I've used Tomcat before and it seems ok - but I've had issues with it and Apache. Hopefully that won't be a problem. Adam said - multiple times - that Adobe would be supporting Tomcat so that if you had issues with ColdFusion and Tomcat you won't be left out in the cold. I'm guessing this will be a slightly painful transition the first time and then after that - not much of a big deal. Unofficial reports are that ColdFusion runs much faster over Tomcat so any 'free' speed boost is a good thing.

  1. Webservices updated to Axis 2.

Anyone who does much with web services in ColdFusion will know that it's use of Axis 1 leads to issues with many service providers. ColdFusion X will upgrade Axis to 2.latest while keeping support for Axis 1 as well. It was suggested that in ColdFusion 11 Axis 1 would go away completely. This update will help enable Exchange 2010 support.

  1. Scheduled tasks updated.

Scheduled tasks will support chaining (run task B when A is done), conditions (don't run if CPU is 80% busy), priroty, and grouping (consider A, B, and C a group and do this to them as a whole). Also - finally - you will be able to make them application specific.

  1. Jobs

Basically you wrap a set of code in a cfjob tag and it runs asynchronously. It gets added to a queue you can introspect and modify. Basically a shorthand for cfthread but with more control over the queue stack.

  1. Java loader/proxies.

No more need for JavaLoader - you can now load jars/classes via a This scope attribute in the Application scope. On the Java side, your Java code can create an interface from a CFC. Both seem like really nice, useful updates.

  1. Closures.

Ok, I'm on the fence on this one. I load closures in JavaScript. I honestly don't know how much I'd use them in a server side language. I'm sure I'll regret saying that though and I bet I'll wonder how I ever lived without them. Then again, it could end up being the next cfinterface. It was hinted that the implementation could be similar to what Mark blogged about a few months ago.

  1. HTML5/jquery

Nothing concrete was said here, but it was stressed that HTML5 and jQuery would be supported in big ways.

Finally, I was told, under NDA, that the release date would be

Raymond Camden's Picture

About Raymond Camden

Raymond is a senior developer evangelist for Adobe. He focuses on document services, JavaScript, and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA https://www.raymondcamden.com

Archived Comments

Comment 1 by Zarko Susnjar posted on 3/3/2011 at 4:27 PM

Thanks for "almost realtime" update for us unlucky guys coding in the offices right now! :)

Comment 2 by James Hull posted on 3/3/2011 at 4:29 PM

We're already using CF 9 in Tomcat so more support is a bonus.

Like the tasks/jobs stuff, really useful.

BTW what's a closure?

Hope you enjoyed the haggis Ray!

Comment 3 by jfrobishow posted on 3/3/2011 at 4:30 PM

2) JRun is being removed in favor of Tomcat.

Best. Update. Ever.

The "jobs" section seems nice too, I can see many places where it would be useful for batch processing.

Comment 4 by Pritesh posted on 3/3/2011 at 4:30 PM

Thanks for updates....
Good to hear about Tomcat as since last month I was working with coldfusion and tomcat.

Comment 5 by andy matthews posted on 3/3/2011 at 4:48 PM

@james...

a closure is a way of declaring local variables inside a function but having them available to the rest of your routine. Here's a link on how ppl use them in JavaScript:

http://www.javascriptkit.co...

Comment 6 by Tony Garcia posted on 3/3/2011 at 6:18 PM

Here's a great explanation of closures by Marc Esher that made them "click" for me:

http://blog.mxunit.org/2010...

Comment 7 by Misha posted on 3/3/2011 at 6:33 PM

How about ExtJS/Sencha is it will be included?

Comment 8 by Jeff posted on 3/3/2011 at 7:23 PM

Nice to see the Tomcat upgrade. Dropping that and verity should make it less of a pain to get it to run more distros of linux. Now hopefully this will let them fix the Installer so it's not such a pain. Any word on that?

Comment 9 by Aaron DeRenard posted on 3/3/2011 at 7:45 PM

In short:
When building large applications with frameworks like ExtJS, you are much better off learning the framework and using it directly. You free yourself to upgrade CF without breaking your ExtJS apps, and you have the opportunity to implement regular framework fixes for problems you may encounter instead of waiting for Adobe to dispatch a hotfix (which probably will not come until a new major release of CF)

Explanation:
Having worked with ExtJS very heavily over the last 4 months... While it may be convenient for little things here and there to be included in CF, it is generally not a good idea to build entire ExtJS applications using the CF implementation. The CF implementation is updated extremely infrequently, and new browser versions are always breaking the rendering and behavior intended.

Another big problem is most CF implementations of ExtJS are not upgrade safe. When you upgrade CF, your old app code may or may not work. This is not really Adobe's fault, because there's plenty of things from say Ext 2.x that do not work in Ext 3.x. But to be free to upgrade ColdFusion any time you want and not break your ExtJS apps, use the framework directly instead of the CF implementation.

If they did include ExtJS, I am mostly certain it would be ExtJS 3.x (probably 3.3.x). The problem with that is ExtJS 4 preview is out right now, and everything changed.

If you want ExtJS, I recommend you grab the framework and work with it directly.

I am excited about CF X though! New toys!

Comment 10 by Simon Romanski posted on 3/3/2011 at 7:46 PM

As a developer who is more than happy with CF9 (on JRun). Why should I care about Tomcat being the new J2EE engine? Performance wise CF9 does just fine for me (and that was one of the big aspects of CF8-9)

Comment 11 by John Farrar posted on 3/3/2011 at 7:57 PM

@Simon, JRun is fine but it has been years (perhaps a decade) since it was updated. By virtue of time and use Tomcat currently offers more promise both now and in the future. The transition of course will be a matter of QA to be considered. I wonder why we are not dropping Flash Forms, unless of course we are finally going to open that door to a full Flash enabled (Flex, etc) option in the new server.

Comment 12 by Az posted on 3/3/2011 at 8:26 PM

If they are removing JRun in favor of Tomcat, I REALLY hope they will port the connector developed for JRun over to work with Tomcat. The native Tomcat connector does not work as well, especially with IIS 7.x in Server 2008/2008 R2. There are also problems with properly co-existing with URL Re-Write modules and other nagging issues that "just work" with the native JRun connector shipped with ColdFusion 9.

If they (Adobe/ColdFusion team) could contribute a connector back to the Tomcat project that is as robust as the JRun connector it would be a BIG benefit both to ColdFusion, since it will maintain that same level of connectivity to the web server, but also to Tomcat in general (especially anyone using Tomcat on Windows with later versions of IIS).

Later,
Az

Comment 13 by Jeff posted on 3/3/2011 at 8:40 PM

@AZ Seconded for Linux as well the JRUN connector is great. Once it's installed :)

Comment 14 by Simon Whatley posted on 3/3/2011 at 8:58 PM

These updates to ColdFusion will be great. I've long since binned Verity in favour of Solr, albeit as an external implementation and it performs really well. The scheduled task updates seems like a really sensible and useful idea.

Regarding the dropping of JRun, it's been a long time coming, especially since Adobe dropped support of the product a while ago. I only hope that CF10 on Tomcat will further improve performance when instantiating CFCs etc.

Comment 15 by Gary F posted on 3/3/2011 at 9:01 PM

Ray, you're going to become a drip-feed-tease for the next 12 or so months! I can live with that! :-)

The scheduled task updates sound useful. Dumping Jrun is a good idea. It wouldn't look good if CFX sat on top of a long dead product. Maybe CFX can utilise features that Tomcat has that Jrun didn't, on top of the speed improvements. I'm guessing it could include revamped clustering under the hood.

Comment 16 by charlie arehart posted on 3/3/2011 at 9:05 PM

While most will be glad (and reasonably so) to see CF move on to a more modern underlying java server platform, I just want to correct John F's comment that it's been "perhaps a decade" since JRun was "updated".

To be fair, it was updated as late as 2007 (in its updater 7, more at http://tjordahl.blogspot.co.... How many people still run in Windows 2003? Or even use Outlook 2007? :-)

But yes the base JRun 4 did come out in 2003, and no question, the consolidation of the J2EE server and servlet engine market left JRun behind, and it was indeed EOL'ed finally in 2009.

It served CF pretty well even after that (though many would argue to the contrary), but it is indeed finally time to move on. There will surely be benefits, though as Ray says it will likely be rough going at first as we make the transition, though I'm sure the CF team will try very hard to avoid that if possible.

Anyway, I just wanted to salute JRun and play Taps one last time before the party starts over its gravesite.

Comment 17 by Simon Romanski posted on 3/3/2011 at 9:12 PM

Well it seems like the Tomcat update is more of a fix than a new feature. I was hoping Adam's big news was that CF would finally have a free version, especially given the momentum of OpenBD and Railo. That would be a HUGE game changer for the CF community.

Comment 18 by John Farrar posted on 3/3/2011 at 9:32 PM

@Charlie, was the JRun release an update or a patch? Would that be like ColdFusion 9.0.1 type update. I do agree it has been 'touched' and with meaningful benefits. Seems we all agree it's time to move in a new direction on a living platform. (After all CF is not dead... but LOL)... this is the right thing to do.

Comment 19 by Raymond Camden posted on 3/3/2011 at 10:03 PM

@James Hull: Look like others got you covered.

@Misha: Nothing was mentioned in terms of ExtJS/Sencha.

@Jeff: No mention of other Linux distros were mentioned.

@Simon: Think John F got you covered.

@Simon 2: CF is free for development. Free for staging. I've got no issues paying for it in production. It saves money in development time overall. If a manager can't understand that then I don't think there is anything Adobe could do to convince them. Just my two cents - I don't set policy for Adobe.

Comment 20 by Charlie Arehart posted on 3/3/2011 at 10:37 PM

@John, it was in fact less than the sort of updater 9.0.1 was, in terms of added functionality. Was just clarifying that it had been updated in the past decade. Anyway, let's all look forward to moving on. :-)

Comment 21 by Jody posted on 3/3/2011 at 10:40 PM

Ah, man com'on you can't tell us the date we get to be graced with CFX? is it soon?-- :( sad so sad. Freaking NDA.

Comment 22 by jfrobishow posted on 3/3/2011 at 11:16 PM

Ray left an easter egg, the release date is in a invisible <span style="display:none"> after "Finally, I was told, under NDA, that the release date would be".

Comment 23 by MikeG posted on 3/3/2011 at 11:31 PM

@jfro - evil mann ---just evil <snicker>

Comment 24 by Doug posted on 3/3/2011 at 11:47 PM

Thanks for the update - that's some great news.

IMO, most of the JS stuff rolled up into CF is a bad idea. Although I'm glad to see jQuery used instead of Spry and the like.

Comment 25 by Morgan Wood posted on 3/3/2011 at 11:51 PM

Did they mention anything about cfdocument???

Comment 26 by Sami Hoda posted on 3/4/2011 at 12:35 AM

Solr currently uses Jetty. I wonder if they will move that to Tomcat as well. Anything is better than JRun at this point. Woo-hoo!

Comment 27 by Felix posted on 3/4/2011 at 1:00 AM

I hope there is coming more news about CF X and more features. The change from Jrun to Tomcat is good, ScheduledTask and cfjob features nice, but for me i can not find any big announcements or something great.
We are using CF 9. It works well. The change to Tomcat is nice, but not important for me and i think for many other developers too. I hope they make some changes to cfdocument, cfimage, cfpdf or things that bring CF to another level and more interesting for PHP or Java developers. With the features above there is no need for an upgrade. We have more than hundreds CF Projects on our server and only 5 ScheduledTasks running!
Hope to hear more in the near future.

Cheers

Comment 28 by Charlie Arehart posted on 3/4/2011 at 2:06 AM

To folks asking, "is that all there is?", no, it's not. If past experience is any guide, they let out a little here and a little there in the months leading up to a release. And they do NOT always lead with "the most impressive" or "most substantial" changes. These are what Ray said: "tidbits". More will come, I'm sure, over the coming weeks and months.

Comment 29 by Dave Wheelock posted on 3/4/2011 at 2:51 AM

All excellent news! The JRun to Tomcat will be great! Looking forward to hearing more as well as planned updates to CF Builder...

Thanks Ray

Comment 30 by Brad posted on 3/4/2011 at 3:00 AM

Personally, I never ever used JRun anyway on production servers. Tomcat6 has always been my goto, it's a far cry in configuration -- and it makes many CGI variables useless when using apache in reverse proxy mode.

But, even with jquery, jquery ui and over 200 files being loaded and various objects and queries running... my entire page loads in under a second according to both chrome and firefox. So, speed? It definitely has it.

Comment 31 by Gary Funk posted on 3/4/2011 at 4:45 AM

I hope the issue of extending Application.cfc in a sub folder with Application.cfc in the root folder. There NEEDS to be an easy way to do this.

Comment 32 by Sebastian Zartner posted on 3/4/2011 at 5:39 AM

Unfortunately I couldn't participate at Scotch on the Rocks, but sounds really nice to me.
Didn't try Tomcat yet, but as I can read from the comments people welcome this change.
Some of the scheduled task improvements were already overdue in my eyes. Good to hear, that there's a big step forward.
It's also fantastic, that jQuery seems to be integrated. I already use it for some years and don't want to miss it anymore.
I also just know closures from JavaScript, but I am also sceptical how useful they will be in CF.
Besides all that I'm really curious about which other new language features will be integrated.
If they also implement some of the suggestions I made in the bug tracker, I'll be completely satisfied! ;-)

Sebastian

Comment 33 by Eapen posted on 3/4/2011 at 11:40 PM

Closures in CFML should allow for more abstraction and thereby less repeated code. Another benefit of closures is that it will allow Map-Reduce type of functionality which is what Google and other large-scale apps uses to handle scalability.

Comment 34 by Kerr posted on 3/6/2011 at 6:53 AM

Thanks for the writeup, Ray. I am excited about the new features in ACF X! Closures and HTML5/jQuery support will be awesome.

OT, but have you seen this awesome Death Star infographic?
http://www.geeksaresexy.net...

Comment 35 by Raymond Camden posted on 3/6/2011 at 11:35 AM

I had not seen that Kerr. Thanks.

Comment 36 by Ed posted on 4/28/2011 at 7:33 PM

Any plans on a new replacement for Coldfusion Report Builder ? It would be great if Adobe would develop a plug in for this into CF Builder.

Comment 37 by Raymond Camden posted on 4/28/2011 at 7:41 PM

I could have sworn, but have no proof in front of me, that the Evangelism PDF mentioned this for CF11.

Comment 38 by Daniel Budde posted on 4/29/2011 at 6:20 PM

What about application specific RAM:// space? That would be a real benefit.

Comment 39 by Raymond Camden posted on 4/29/2011 at 6:21 PM

I can't comment on anything not listed here. But yea - I'd like that feature. I've asked for it before.

Comment 40 by Alex posted on 6/25/2011 at 6:38 PM

No one has yet mentioned yet on any website WHEN ColdFusion 10 will be released. Any ideas ?

Comment 41 by Raymond Camden posted on 6/25/2011 at 6:39 PM

Adobe has not announced the date yet. It's not being released today. I can say that much. :)

Comment 42 by Jean-Luc posted on 11/23/2011 at 3:58 PM

Will it be released in 2011 ? Not much time left...
I used to be a part of private betas back in the days, and lost interest in the latest release.
But the X looks really great with some game changing features.

Starting a new project with ExtJS 4 and would love to know if I should wait a little more to get back to CF or not.

Can you give us one more little hint, without breaking your NDA in any ways ?
Last time you wrote about X is more than 6 months ago ? Pretty please ?

Comment 43 by Raymond Camden posted on 11/23/2011 at 5:14 PM

It will be released on a day that ends with Y. Promise.