Kay lives here

working with the web

ColdFusion_iconperformance3d_pie_chart

ColdFusion 8 — what’s all the fuss about?

scorpio.jpg

The answer to that ques­tion is, of course: a lot.

There’s been much cov­er­age else­where, and I have book­marked a ver­i­ta­ble ton of blog posts explor­ing this new fea­ture and that new fea­ture. It cer­tainly sounds like the Adobe engi­neers have been busy imple­ment­ing a great num­ber of lit­tle things that alto­gether, make for a great release.

It’s now in pub­lic beta, but I’m wait­ing for a free CF8 beta host­ing account from FastHit in order to try it out, rather than mess­ing around with vir­tual machines and what have you.

There are a few fea­tures that are of par­tic­u­lar inter­est to me:

  1. Image manip­u­la­tion with a built in CFIMAGE tagMy part­ner Dave wrote a CFX tag in Del­phi for manip­u­lat­ing images back in CF4.5 days. It served our needs well, even after the release of CFMX, when the abil­ity to call Java libraries made native image manip­u­la­tion a possibility.

    The rea­son I stuck with the CFX was qual­ity — the built in image resiz­ing, at it’s most basic level, looked hor­ri­ble (no smooth­ing) and didn’t have great com­pres­sion rates. Later, other devel­op­ers released CFCs that called more com­plex Java meth­ods and ref­er­enced other libraries, and they were much bet­ter — some free, some commercial.

    How­ever, a built-in image manip­u­la­tion tag is some­thing that a lot of devel­op­ers have been request­ing for a long time, and it seems Adobe has decided to lis­ten. Pos­si­bly, the fact that Cold­Fu­sion engine com­peti­tor Blue­Dragon has a CFIMAGE tag was a fac­tor. It will be very inter­est­ing to see what the qual­ity and com­pres­sion of CFIMAGE is like com­pared to the third party tools avail­able — given that this is Adobe we are talk­ing about, I’m sure it will be very, very good. Also whether the tag’s attrib­utes match what Blue­Dragon has implemented.

  2. Native Ajax wid­gets and JSONAuto­mat­i­cally gen­er­ated Ajax ter­ri­fies me. Tra­di­tion­ally, any kind of auto­mat­i­cally gen­er­ated code has sucked — CFFORM, any­one? — and given the usabil­ity and acces­si­bil­ity dif­fi­cul­ties Ajax tech­niques have to start with, I can eas­ily image devel­op­ers dig­ging them­selves a mas­sive pit with tools given to them by CF8, from which there is no easy escape.

    Maybe that sounds a lit­tle dra­matic. I’ve become a con­vert to the Hijax tech­niques advo­cated by Jeremy Keith in Bul­let­proof Ajax, a most excel­lent book. Essen­tially, the idea is you build an appli­ca­tion that works in the tra­di­tional page refresh man­ner, and then add a behav­iour layer that “hijacks” your nor­mal requests and replaces them with XML­HTTPRe­quest calls. That’s the tech­nique we used for the “My Fes­ti­val Plan­ner” on the Perth Inter­na­tional Arts Fes­ti­val 2007 site, and it works beau­ti­fully. I don’t know whether that kind of approach would be pos­si­ble with CF8’s built in Ajax wid­gets. It’s some­thing I intend to explore further.

    Oh, and native func­tions to read and write JSON-formatted data will be really use­ful too.

  3. Improved PDF inte­gra­tionI’m hop­ing for PDF forms here. Not that I have a use for them cur­rently, but have had in the past and will no doubt have again in the future.

There are some other fea­tures that are note­wor­thy, but which I won’t get to use myself:

  1. Report­ing Improve­mentsAs some read­ers may know, I used to be the Report­ing queen — how­ever I haven’t had a need to use CF inte­grated report­ing for some time. I was highly crit­i­cal of Report­ing when it was first released, but for­tu­nately most of my con­cerns were addressed in the 7.0.2 update. I under­stand that there are new enhance­ments and fur­ther fixes to report­ing in CF8, but I don’t have a really demand­ing report­ing project to try them out on.
  2. Debug­ging with EclipseI can see that some peo­ple are excited about this. I used to use debug­ging back in CF4 days with Cold­Fu­sion Stu­dio, so I under­stand it’s pretty cool. How­ever, I sim­ply can’t bring myself to use Eclipse as an IDE. I’m just… I don’t know… aller­gic to Java inter­faces? Obvi­ously I’m in the minor­ity (although I do know some other devel­op­ers who can’t stand Eclipse either) and Adobe no longer con­sider Dreamweaver their Cold­Fu­sion IDE or the sup­port might have been in there.

Of course, there are count­less other fea­tures that are new or improved that I’m not men­tion­ing. The admin­is­tra­tive inter­face and API in par­tic­u­lar have been improved a great deal, and I hear that per­for­mance has received a boost too.

So much to dis­cover! I’m really excited about this release. I’d love to know, what’s your top feature?

5 Comments

  1. Yeah it is good. Awe­some really. But still only Release Can­di­date so if you find any issues let Adobe know so they can be addressed.

  2. I asked about the AJAX issue at WebDU, I got a very blank stare and few, “what is Pro­gres­sive Enhance­ment?” looks. Senior peo­ple in Adobe telling me it was not pos­si­ble to do this with Javascript. The usual sales brush off. Finally I get the truth out­side in a one to one. No its not unob­tru­sive at all, espe­cially the Dreamweaver Cold­Fu­sion 8 hooks. But it is very mod­u­larised so it can be “enhanced” I’m look­ing for­ward to Cold­Fu­sion 8 too, just need to find a host and a project to use it on.

  3. I don’t know much about CF but I feel the same way about Java inter­faces. With one excep­tion though: Adobe’s use of Eclipse as a Flex 2 IDE. I’ve been Flexing-it-up for a while now and while it’s true that Eclipse guz­zles mem­ory, I’ve found it to be a sta­ble and invalu­able tool (on a meaty sys­tem that can han­dle it). The debug­ger is par­tic­u­larly useful.

    I don’t know how or how well Adobe’ll imple­ment it for use with CF but they seem to be quite keen on Eclipse lately. It seems to be a key com­po­nent for bring­ing together many of their dif­fer­ent web techs.

    It’s all very inter­est­ing over in the Adobe camp these days I think. With Apollo, Flex/Flash, CF, the whole design suite… they’ve got all angles of the indus­try nailed. Apollo in par­tic­u­lar really excites me… on many lev­els that has the poten­tial to take on .NET and Microsoft. Who are no doubt aware of this threat and have already responded with Sil­verligh? Can’t wait to see how it all unfolds over the next 5 years.

  4. Hijax” really is the best way to develop any DOM/Ajax apps. It just ensures acces­si­bil­ity and func­tion­al­ity for your app. I believe since CF8’s Ajax func­tion­al­ity is fairly tag-intensive, that may have been the rea­son that incor­po­rat­ing some form of pro­gres­sive enhance­ment wasn’t viable. I asked about dynam­i­cally bind­ing events to DOM ele­ments and was told it wasn’t doable. But since they’re using YUI & Ext, I’m fairly con­fi­dent that with some work, it can be accomplished.

    I also believe that CF8’s time con­straints may have be a con­sid­er­a­tion when look­ing at allow­ing hijax-style development.

  5. Shame to hear that you are no longer the “Report­ing queen”, Kay. I was about to send some­one to you who was look­ing for a talk on Report­ing as of CF8, but when I saw this entry, I real­ized you may not want to take up such an offer. If you do, and have got­ten back into it since when you wrote this in June, please do say so.

    Or if not, can any­one rec­om­mend any­one else who’s big into the report builder? Even Dean’s blog (cfreport.org) has been silent since June, per­haps with the focus on get­ting 8 out the door. Any­one else?