New in ColdFusion 11
ColdFusion 11 has gone through a lot of changes and enhancements and this section highlights those changes:
End-to-end mobile development
The ColdFusion Mobile Platform aims at providing a server and development infrastructure that facilitates rapid and robust mobile application development, debugging, packaging, and deployment. The ColdFusion 11 release introduces rapid application development through ColdFusion Builder. This release of ColdFusion introduces full-fledged on-device debugging to quickly debug your ColdFusion-based mobile applications on devices.
You can quickly build a mobile application by reading the information provided in the following sections:
- Building Mobile Applications
- Debugging Mobile Applications
- Inspecting Mobile Applications
- Packaging Mobile Applications
- Troubleshooting Mobile Applications
- Device Detection
- Client-side CFML
- Mobile Templates
- Getting Started Examples
A new lightweight edition
ColdFusion Express enables you to quickly setup a development or demonstration instance of a Server without following the installation procedure. ColdFusion Express is a new ‘lighter’ version of the ColdFusion Server and is ideally suited for developers to quickly setup and run a ColdFusion Server for testing and debugging purposes.
See Installing ColdFusion Express
Language enhancements
ColdFusion 11 has gone through various language enhancements that will provide a better development experience for ColdFusion developers. The core CFML language enhancements in ColdFusion 11 includes new language constructs, extended tag support, enhanced script functions, and support for new operations.
See ColdFusion Language Enhancements
WebSocket enhancements
ColdFusion 11 has introduced the proxy support for WebSocket. There is a new proxy module (that runs inside IIS and Apache Web Server) that can intercept the ColdFusion WebSocket requests and redirect the requests to the ColdFusion Server.
PDF generation enhancements
To generate high quality PDFs from HTML documents, 2 new tags, <cfhtmltopdf> and <cfhtmltopdfitem> have been introduced in ColdFusion 11.
See PDF generation enhancements
Security enhancements
ColdFusion 11 has a lot of security enhancements and bug fixes. This update fixes a few security issues and has strengthened the Server to a large extent. Some notable security enhancements are described in the following document:
See Security Enhancements (ColdFusion 11)
Social enhancements
ColdFusion 11 has introduced the support for dynamically generating Like button, Tweet button, and Comment box for social media sites.
REST enhancements
ColdFusion 11 now supports site-level REST applications and enables pluggable serializer and deserializer.
See REST Enhancements in ColdFusion 11
Charting enhancements
The server-side charting introduced in ColdFusion 10 that allowed you to create highly interactive charts has been further enhanced to produce visually more appealing charts.
Compression enhancements
The following sections describe the enhancements made to the <cfzip> and <cfzipparam> tags:
Spreadsheet enhancements
New spreadsheet functions have been added to support page breaks and auto filters. Some existing spreadsheet functions have been enhanced to support auto resizing capabilities, and others to support datatype specification for columns.
New functions and tags
See New and Changed Tags/Functions in ColdFusion 11.
Restrictions
When you are using ColdFusion Scheduler, output can be saved only as .log or .txt files. However, the extension limitation can be changed by modifying the file cfusion\lib\neo-cron xml, and its string which by default reads "<string>log,txt</string>".
ColdFusion 11 has introduced a few file extension restrictions for the cfinclude tag. You can specify a list of file extensions, which will get compiled when included using the cfinclude tag. You can specify the extensions as:
- A wildcard (*) value – Specifying a wildcard in the list makes the cfinclude tag to compile any file.
- None – Only the files with the cfm and cfml extensions get compiled when included using the <cfinclude> tag. All the other files when included using the cfinclude tag will not get compiled but their content will be statically included.
- A list of file extensions – Files with the extensions specified, gets compiled when included using the cfinclude tag along with the other CFM/CFML files. All the other files when included using the cfinclude tag will not get compiled but their content will be statically included.
A setting has been added at the server and application-level. While processing the <cfinclude> tag, ColdFusion checks for this application-level/server-level setting to decide whether to compile the content or to statically include the content. The setting value is a comma-separated list of file extensions. If file extensions are specified at the application-level, the server-level file extension list will be ignored and the application-level file extension list will be used. A new key/tag attribute compileextforinclude has been added to the application CFC/CFM to specify this file extension list. The server-level setting can be modified using the ColdFusion Administrator (Server Settings > Settings page).
By default, ColdFusion11 has the server-level setting with the wildcard (*) value. So, all the files included using the cfinclude tag gets compiled. It is very important to identify all your non CFML files, remove the wildcard and add those identified extensions to the compileextforinclude list. The ideal practice is to refactor the code to reduce the usage of non-CFML files in the cfinclude tag.
Deprecated
See the full deprecation list.
New in ColdFusion Builder 3
ColdFusion Builder has gone through a lot of changes and enhancements and this section highlights those changes:
ColdFusion Debugging Perspective
The ColdFusion Debugging perspective ( invoked through Run > Debug Configuration > Perspectives) contains tools to debug your ColdFusion applications as well as client-side applications. There are different views that let you add breakpoints to your code, step into functions, step over functions, or examine and evaluate expressions in your code. The editor works with the debugging tools to locate and highlight lines of code that need correction.
Debugging mobile applications
See Debugging Mobile Applications