Ready, set, CFUnited is a go - ColdFusion 9 Sneak Peaks!

After muddling through the first 30 minutes at the start of an introductory keynote, Ben Forta and Adam Lehman from Adobe really took off during their keynote talking about the future of ColdFusion. This is early sneak peaks, so this may or may not be in the final product and will likely change in syntax and functionality along the way. Here are some highlights that stuck out in my mind:

  • ColdFusion is doing very well; the best since Adobe has taken over the product
  • CF Open Process Initiative - Public bug database and enhancement requests' Customer Advisory Boards: community leaders, focused committess on CFML Language, RIA, frameworks and more; early access to alpha/beta releases
  • Centaur (ColdFusion 9) - advancing CFML, improved integration story, improving the developer experience (more this last point at MAX); integration: especially flex, air, etc.
  • Growing the ColdFusion base (problem of the lack of ColdFusion developers) - [new announcement] ColdFusion will be freely available for students and faculty for academic use, similar to the model to Flex Builder for Education; plus training materials, etc.; product is full unrestricted version; coming soon;
  • Protecting the integrity of CFML (problem of language framentation and inconsistency over the years) - [new announcement] Newly formed "CFML Lnagugage Advisory Committee" to help define the rules and guidelies around the use and evolution of CFML; include Adobe plus outside community leaders (Sean Corfield, Ben Forta [Adobe], Sanjeev Kumar [Adobe], Gert Franz [Railo], Ray Camden, and Rob Brooks-Bilson)

They also gave a plug for the upcoming ColdFusion 9. It looks like it will be released in 2009.

  • Create UDFs and CFC methods using <CFSCRIPT>
    • argument definition and validation, roles, access, return types
    • create CFCs using cfscript
  • Explicit LOCAL scope keeps local variables local
    • <cfset LOCAL.var=1>
    • using "var" still works
    • var statement can be used anywhere within function
  • default settings within a CFC (so all variables will be scoped within that setting)
  • New tag: CFFINALLY - always runs, located right after a <CFCATCH>
  • New tag: CFCONTINUE - brought in from cfscript; sends back to top of loop without breaking out of loop
  • new and import keywords: creating components
  • implicit constructors: <cfcomponent init="functionName">, or method named init(), or a method with same name as component
  • implicit getters and setters using <cfproperty> attributes; hand-written methods overwrite implict methods
  • new server.cfc file with OnServerStart and OnServerEnd; one per instance; all applications inherit from it
  • Centaur will make AIR integration easy
  • New Flex-CF integration - import com.adobe.coldfusion.*
<cf:DataSource id="myDs"
dataSource="cfartgallery
offline="
true"
valueObject="
com.adobe.demo.artgallery.Artist">
<cf:Query name="create" sql="INSERT INTO artists..." />
<cf:Query name="read" sql="SELECT * FROM artists where artistid="@artistid" />

...
</cf:DataSource>
  • When online, it will update the CF datasource directly; when offline, it will update a local SQL Lite copy, then sync when the app goes online again--cool stuff!
  • Databases will have an integrated ORM using 100% hibernate using CFCs
artist.cfc:
<cfcomponent orm="true" datasource="cfartgallery"></cfcomponent>

index.cfm:
<cfsript>
hibernate=request.getORMSession();
artist = hibernate.getById(33, "com.adobe.demo.artist");
artist.setFirstName("Mark");
artist = hibernate.save(artist);
</cfscript>
  • That's all you need! CF will draw the table name from the name of the CFC.
  • it will generate hibernate XML behind the scenes
  • it will also add table columms on the fly based on new cfproperty tags and attributes
  • they will somehow integrate cfquery with this ORM technology to be able to go back-and-forth between the two (if I understood them correctly)

All-in-all some very cool stuff. Thanks for the demo guys!

Arrived at CFUnited 2008

I realized today that I have blogged very little recently. And once again I purpose to blog during the CFUnited conference. I usually blog a bunch during the conference then taper off again as I get back into my daily routine. Someday I'll get blogging into that routine..

For now, I'll be enjoying the palatial Washington Convention Center. Flights went well, but then it took several hours to actually get downtown from BWI. Reagan airport is MUCH more convenient. Oh well! Off to check in to the hotel and find some dinner before MiniMax 8.

Macromedia MAX 2006?

At work we are trying to plan out our conference schedule this year since the early bird special for CFUnited, The Premier ColdFusion Technical Conference, ends on January 31. Three of us from work went last year and thoroughly enjoyed it. I probably won't be able to go (because of summer scheduling conflicts), but am looking to send at least one of my co-workers. We have also thought about going to MAX (never been) and have been wondering what 2006 holds for the conference. I can find ZERO information about what annual conference Adobe may have to take the place of MAX, or even if they are planning on keeping MAX around for another year or more. Even my trusty friend Google hasn't helped me in this situation. Is no one talking about this? Does no one plan ahead? What are your thoughts? Anyone from the company formerly known as Macromedia want to comment (even anonymously :-)?

CFUnited 2005 - Day 2 - post 2

Day two at the CFUnited 2005 ColdFusion conference is starting to wind down for me now. It was another great day! The highlight for me was an afternoon session by Hal Helms on Domain Model. I almost didn't go because I wasn't sure what the talk was about. After reviewing the slides, I booked to the session because it was exactly what I needed. I am interested in moving toward using a ColdFusion framework for new development and likely using OO prinicples at the same time. The domain model is the entity/object/model part of MVC. Hal's overview was great. Basically the domain model is a software description of real world objects, such as customers, products, orders, etc. Creating a domain model has little to do with the programming language or framework you are using, but rather just describing the entity with something such as a UML (Unified Modeling Language) tool. I have a lot to learn, but Hal certainly whet my appetite. Thanks Hal!

CFUnited 2005 - Day 2 - post 1

Day 2 of this ColdFusion event is turning out to be another great day. This morning we had an interesting keynote from a Microsoft rep named Bill. No, not Bill Gates, but the less known Bill Staples. He talked about many cool new features in the upcoming IIS7. It doesn't apply much to my work at Cedarville since we run Apache on Linux for our main web servers.

While Ray Camden had good things to say about IIS7, I found it interesting that many of the things he was discussing have been available in some form in Apache. One of the biggest new features is the ability to send a webapp-specific config file that allows module, user, default-file, etc. configuration per directory. Apache has been doing this for years (forever?) using .htconfig files. I find it ironic that IIS is just now catching up with Apache in this area.

CFUnited 2005 - Day 1

My jump start back into blogging begins with CFUnited. I've never been to a CFUnited (formerly CFUN) event, and from what others have said, this is the biggest and best one ever (obviously since this the premiere ColdFusion technical event).

Wednesday was a very long, but interesting and profitable day. The day started with Ben Forta and Tim Buntel talking a bit about CF7 and then announcing two important things: official Macromedia support for CFEclipse (yeah!) and the code name for CF8: Scorpio. After that, my day was full of sessions: Verity in CF, SQL Server 2005, design patterns, regular expressions, CF frameworks, taxonomy, and model glue. Whew! I also went to a BOF with about 10 of the Macromedia CF7 team. One of the cool things about being here at the conference is putting faces with names that I see blogging, in forums, etc.

BlogCFC was created by Raymond Camden. This blog is running version 5.8.