ORM Support
- Object Relational Mapping is key to RAD (you find it in Ruby, CFWheels, etc)
Hibernate: the number one ORM tool is included with CF9 (requires additional tool on development side –CFBuilder or others) - Requires use of application.cfc (will not work in application.cfm)
- At the very least, use of hibernate with a tool like cfbuilder will write 2/3 of your database queries for you. Frequently more than that.
FLEX and AIR Support
- More Flash Remote commands available without purchasing Flex. (Great for Flash users)
- Now integrated with Adobe Air allowing you to use your ColdFusion to power your Air apps.
Language Enhancements
- More commands available within CFScript (You can now write most of your app within cfscript):
- Basic language constructs: throw, writedump, writelog, location and trace
- Script functions: query, mail, http, storedprod, pdf and ftp
- Keywords: abort, exit, include, param, property, rethrow, throw
Operations: import and new
- New onServerStart() method to run only when server starts. Useful for configuring logging, instantiating applications, and setting up scheduler.
- Nested CFTRANSACTIONS
- Udf/cfc name conflict resolution
- Local scope/Var scope (helps with name conflicts between application and function) – also can use var anywhere within a cfc and not just at the top.
- Local is now a reserved word!
- Implicit getters and setters for cfproperty!
Product Integration
- Ajax Controls – extJS 3 now embedded (was extJS 2.x), google maps now embedded,.
- SharePoint integration: can use sharepoint signon in cf, can load sharepoint actions in CF application, can create web parts for sharepoint.
- MS Office interoperability – now can use cfspreadsheet and cfpresentation rather than cfcontent. Can convert word and powerpoint to pdf with cfdocument.
- OpenOffice support: if installed and the proper attribute is used, cfdocument will use openoffice engine to create pdf rather than cf engine.
- Search using Apache Solr rather than Verity!!
Performance Enhancements
- Improved clustering: supports serialization of query, array and datetime types in a cfc.
- Granular control over cacheing (can cache fragments of page, can cache in memory, can cache specific objects, etc)
- In-memory files: simplify execution of dynamic code.
- Other: Faster cfcs, faster java method invocation
Database Enhancements
- Now uses DataDirect 4.0 sp 1
- Support MySQL(enterprise and commercial), Oracle 11g, Informix 11, SQL Server 2008
- Support IPv6 (Internet Protocol).
- Set default query timeout value.
- Datasource attribute is now optional for cfquery, cfinsert, cfupdate, and cfdbinfo.
Code Analyzer
- Helps migrate from CF7 and 8 to CF9
Service Features
- More CF can be exposed as web service: cfpdf, cfimage, cfdocument, cfmail, cfpop, cfchart
Other Enhancements
- Server Manager – desktop version of CF Admin (runs on Adobe Air) with limited availability
- Built-in support for portlet standards: supports JSR-168, JSR-286, WSRP to help build cf powered portal content.
- PDF functionality: can support FDF, PDF Package, size optimization, headers and footers (in cfpdf), RGB/ARGB and cfimage support in cfpdf, improved thumbnails, image extraction from pdfs.
- IMAP support – can query imap servers for email, can run imap items like delete mail/folder, mark multiple as read, and manage folders.
- JRE specifications – JRE 6 update 14 for all platforms except solaris which uses JRE 6 update 12.
New and Updated Functions
- Visit livedocs for the full list
- Most notable: spreadsheet functions and isIPV6().
New Tags
- Visit livedocs for the full list
- Most notable: CFFINALLY: brings try/catch up to date with Java allowing a portion of code to run regardless of an error being caught.
Notes
- With the exception of extJS 3 from extJS 2, existing apps are unlikely to require many changes to continue to function.