Adobe
Products
Acrobat
Creative Cloud
Creative Suite
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
Student and Teacher Editions
More products
Solutions
Creative tools for business
Digital marketing
Digital media
Education
Financial services
Government
Web Experience Management
More solutions
Learning Help Downloads Company
Buy
Home use for personal and home office
Education for students, educators, and staff
Business for small and medium businesses
Licensing programs for businesses, schools, and government
Special offers
Search
 
Info Sign in
Welcome,
My cart
My orders My Adobe
My Adobe
My orders
My information
My preferences
My products and services
Sign out
Why sign in? Sign in to manage your account and access trial downloads, product extensions, community areas, and more.
Adobe
Products Sections Buy   Search  
Solutions Company
Help Learning
Sign in Sign out My orders My Adobe
Preorder Estimated Availability Date. Your credit card will not be charged until the product is shipped. Estimated availability date is subject to change. Preorder Estimated Availability Date. Your credit card will not be charged until the product is ready to download. Estimated availability date is subject to change.
Qty:
Purchase requires verification of academic eligibility
Subtotal
Review and Checkout
Adobe Developer Connection / ColdFusion Developer Center /

What's new in ColdFusion 9.0.1

by Terry Ryan

Terry Ryan
  • terrenceryan.com

Created

13 July 2010

Page tools

Share on Facebook
Share on Twitter
Share on LinkedIn
Bookmark
Print
ColdFusion

Requirements

User level

All

Adobe ColdFusion 9.0.1 is a giant release of enhancements along with a few important bug fixes. The enhancements run the gamut from small tweaks to near full-fledged features. The ColdFusion team fixed over 170 individual bugs in this release, in addition to the enhancements the team added.

Amazon S3 integration

One of the most exciting enhancements added in this updater is support for Amazon S3 as the location for both storing and consuming files in your ColdFusion applications. You use your S3 bucket as the file location in ColdFusion tags that interact with the file system. Then, you can configure your S3 instance in your Application.cfc file, setting your access key and secret for authentication, and to specify your starting location within your S3 bucket. This makes interacting with the bucket easy within a cffile tag, for instance:

<cffile action="write" output="S3 Specification" file="s3://testbucket/sample.txt"/>

ColdFusion takes care of interacting with your S3 bucket securely. In addition to writing and reading to the S3 space, you will also be able to delete files, set permissions, and add S3 specific metadata to your files.

ORM enhancements

ORM is the runaway hit feature of ColdFusion 9. It’s no surprise that in ColdFusion 9.0.1, the team would add number of features around it: The first being multiple data sources. ColdFusion 9.0.1 will allow for multiple data sources in the same application. This enhancement affects many of the ORM functions: You can now specify an optional data source argument. Additionally, in ORM settings, you can specify structures that define ORM properties for all of your application data sources. Finally, the Application.datasource property has been updated to accept either a string or a structure. This enhancement allows you to set username and passwords in code, rather than in the Administrator.

Another enhancement is the ability to specify HQL as a dbtype in the cfquery tag. This functionality returns an array of ORM entities, much like an ORMExecuteQuery call. This enhancement allows you to write out long complex SQL in the familiar setting of a cfquery tag instead of within a function call.

The EntityNew() function has been updated to allow you to pass a struct of properties to be passed in. For instance, you can now take a form posting and pass it into an ORM entity on creation, allowing you to populate it without having to call all of the setters in sequence.

Finally, a significant bug in ORM transactions has been fixed. In ColdFusion 9, transactions caused the underlying ORM session to close before and after transactions. This caused ORM objects to become unusable both inside and outside of a transaction on these pages. The default behavior has been changed to reuse sessions before and after transactions.

Server enhancements

The ColdFusion Server Monitor gives a great amount of information, but has one Achilles heel: It runs on the ColdFusion server, so if the server becomes unresponsive so does the monitor. In ColdFusion 9.0.1 the monitor has been upgraded to run as a separate server.

Logging has been added to many of the protocols that handle communication between ColdFusion and another server. Now in addition to server logs for mail, administrators have access to logs about the following:

  • cfhttp or http object
  • cfftp or ftp object
  • webservice calls
  • Portlet calls
  • Derby databases calls
  • RSS feeds

These logs are optional and you can turn them off in the administrator.

ColdFusion 9.0.1 adds support for IIS 7 on Windows server. It no longer requires that the IIS 6 metabase compatibility features of IIS 7 be turned on to work with ColdFusion. The IIS 6 Compatibilty mode is still supported however, and upgrading ColdFusion does not require altering your already-configured IIS server setup.

Finally for the security conscious, the team has added a feature called "Configurable seed for password encryption". Before ColdFusion 9.0.1, data source username and passwords were encrypted using a common key, meaning that if someone grabbed the data source configuration file from your server, he could place the file that on to his own ColdFusion server and have access to your database. Now you can set a seed in your Administrator that will cause your encryption routine to be unique to that seed.

Flash Platform integration

ColdFusion is the perfect server to provide a back end for client applications written using other products in the Adobe Flash Platform. However, we can always improve on perfection--thus we have added features to achieve that.

First, in ColdFusion 9, we added features that made it easy to synchronize local databases in AIR applications with ColdFusion data sources. To do that, our engineers basically built an ORM for SQLite as AIR applications. In 9.0.1 many features in this ORM have been improved. ORM tables can self-join in either one-to-many or many-to-many relationships. Additionally, you can set operations against the SQLite store to autocommit, forcing changes to the back-end database immediately upon saving to prevent data collisions. This is especially important in the new automatically-generating primary key feature that allows you to use SQLite on AIR like a more traditional database that can automatically generate unique keys for your records. Finally, you can log all of these operations to see all of the SQL that SQLite ORM generates.

To connect with the rest of the Flash Platform, ColdFusion 9.0.1 is compatible with LiveCycle Data Services 3 and BlazeDS 4. Flash Remoting has been updated to allow control over the serialization of arrays from ColdFusion to either Arrays or ArrayCollections on the Flash Remoting client. This will allow for easier manipulation of related records in the client. Finally, the exposed service for the CFPDF tag in Flex has been updated to allow for service clients to use the extracttext and extractimages action attributes.

Language enhancements

The second most popular feature in ColdFusion 9 has been the expansion of the cfscript tag to allow for much less verbose back-end code. While it was a huge expansion, there were some language constructs that we missed. ColdFusion 9.0.1 fills in some of those gaps.

We’ve added the ability to loop through arrays with the for-in construct. Meaning that instead of the following code:

for (i=1;i > ArrayLen(myArray); i++){ writeOutput(myArray[i]); }

One can write the following instead:

for (var item in myArray){ writeOutput(item); }

This is less verbose and in line with other languages. You may have also noticed the var statement in the for-in loop within my second code snippet. This is because var statements are now allowed in loop conditions, which means I could have also written the following for the loop:

for (var i=1;i > ArrayLen(myArray); i++){ writeOutput(myArray[i]); }

In addition to syntax changes in the cfscript tag, we also added certain tag features to the cfscript tag using objects instead of sets of functions. A good example of this was the cfquery tag, which was enabled in a query CFC that could then be called in script. We’ve expanded the scriptable objects to include:

  • dbinfo
  • imap
  • pop
  • ldap
  • feed

Finally, the cffile tag’s action attributes of fileupload and fileuploadall now have corresponding functions for use in the cfscript tag.

Ajax enhancements

In addition to improving client applications made with the Flash Platform, ColdFusion 9.0.1 improves several features of ColdFusion Ajax components. The team has updated the CFGrid tag to allow for multiple selections and features that better control look and feel. The CFMap tag has been updated to support easily hiding the map, as the developer chooses. Finally, the plumbing of ORM objects passed to Ajax features through remote web services has been improved to handle complex objects and relationships properly.

Spreadsheet enhancements

ColdFusion’s ability to interact with Spreadsheets also got a boost in ColdFusion 9.0.1. The SpreadsheetRemoveSheet() function allows you to remove individual worksheets from a spreadsheet. As well, the SpreadsheetFormatCellRange function allows you to target a rectangle of cells using starting and ending columns and rows. Finally the performance of applying formatting to large numbers of columns and rows has been significantly improved.

Other enhancements

There are enhancements that don’t fit into neat categories. For instance, the Lucen SOLR search engine has been updated, bringing a few extra small options to search. Finally, EhCache has been upgraded, and the ability to directly access the cache object for native access to EhCache features has been added.

ColdFusion 9.0.1 is a monster update with an enormous amount of enhancements and fixes. Go get it today and enjoy the plethora of new goodies. Both the ColdFusion 9.0.1 New Feature Notes, and ColdFusion 9.0.1 Release Notes go into more details about the various enhancements and bug fixes.


This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.

Tutorials & Samples

Tutorials

  • Using Axis2 web services with ColdFusion 10
  • Serving HTML5 videos with ColdFusion 10
  • HTML5 WebSockets and ColdFusion -- Part 2

Samples

ColdFusion Blogs

More
07/06/2012 Adobe ColdFusion 10 on CIO.com
06/22/2012 Elishia Dvorak Joins as ColdFusion Solution Consultant and Product Evangelist
06/19/2012 Outstanding contributions to the ColdFusion 10 and ColdFusion Builder 2.0.1 pre-release
06/18/2012 CF html to pdf service - consume from node.js using rest api

ColdFusion Cookbooks

More
04/01/2012 Send multiple mails with the adresses from database
07/27/2011 Passing a list with with STRING values
05/27/2011 AUTOMATED SANITIZED Resultset with ColdFusion
03/16/2011 Using Metadata To Add Static Variables to ColdFusion Components

Products

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • Mobile Apps
  • Photoshop
  • Touch Apps
  • Student and Teacher Editions

Solutions

  • Digital marketing
  • Digital media
  • Web Experience Management

Industries

  • Education
  • Financial services
  • Government

Help

  • Product help centers
  • Orders and returns
  • Downloading and installing
  • My Adobe

Learning

  • Adobe Developer Connection
  • Adobe TV
  • Training and certification
  • Forums
  • Design Center

Ways to buy

  • For personal and home office
  • For students, educators, and staff
  • For small and medium businesses
  • For businesses, schools, and government
  • Special offers

Downloads

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

Company

  • News room
  • Partner programs
  • Corporate social responsibility
  • Career opportunities
  • Investor Relations
  • Events
  • Legal
  • Security
  • Contact Adobe
Choose your region United States (Change)
Choose your region Close

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

Terms of Use | Privacy Policy and Cookies (Updated)

Ad Choices

Reviewed by TRUSTe: site privacy statement