Upgrading from ColdFusion MX 7 or ColdFusion 8 to ColdFusion 9
ColdFusion 9 is the best release of ColdFusion ever--so of course you want to run your ColdFusion applications on it! :) But how do you get there from where you are now? It depends on what release of ColdFusion you're on currently; this blog post is for those on ColdFusion MX 7 (the releases variously known as ColdFusion MX 7, ColdFusion MX 7.0.1, ColdFusion MX 7.0.2, ColdFusion 7, ColdFusion 7.0.1, and ColdFusion 7.0.2) or ColdFusion 8 (the releases variously known as ColdFusion 8, ColdFusion 8.0, and ColdFusion 8.0.1). If you're on ColdFusion MX (the versions variously known as ColdFusion MX, ColdFusion MX 6, ColdFusion MX 6.1) or earlier (releases such as ColdFusion 5, ColdFusion 4.5, ColdFusion 4, etc.) you should check out the companion blog post to this one.
If you're on ColdFusion MX 7 or ColdFusion 8, you are eligible to upgrade to ColdFusion 9 because, as noted in the following link, the valid upgrade paths to ColdFusion 9 are from ColdFusion MX 7 and ColdFusion 8:
The ColdFusion team has worked very hard to maintain backward-compatibility in ColdFusion 9 for applications coded for previous versions of ColdFusion: in many cases, your code will simply run without any changes when you move it to ColdFusion 9. But of course you shouldn't just deploy your production applications to ColdFusion 9 and hope they work: you should test your applications fully before deploying them to production. And to get you started with the greatest chance of success, you should first use the ColdFusion Code Compatibility Analyzer to determine if your code is valid for ColdFusion 9:
- http://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf3638e6-7fe0.html#WSc3ff6d0ea77859461172e0811cbf3638e6-7fd6
- http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec0d04c-7fee.html
I recommend reviewing the tag and function changes to ColdFusion. Be sure to note the addition of functions with names that collide with user-defined functions in your code (for instance, ColdFusion 9 introduced the SpreadsheetNew() function; if your code has a user-defined function called SpreadsheetNew() you will need to change the name of that user-defined function and all references to it in your code before upgrading to ColdFusion 9):
- http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec17576-7fef.html
- http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec1a60c-7ffa.html
It's very important to read the release notes for ColdFusion 9.0.1 and ColdFusion 9 in case some might apply to your environment:
- http://www.adobe.com/support/documentation/en/coldfusion/releasenotes.html#9
- http://www.adobe.com/support/documentation/en/coldfusion/releasenotes.html#901
There are a couple of blog posts that, while written for moving to previous releases of ColdFusion, are certainly worth perusing:
- http://www.sargeway.com/blog/index.cfm?mode=entry&entry=6DBD3FC6-C29F-05EC-8BC78715AD424685
- http://www.carehart.org/blog/client/index.cfm/2009/8/10/cf8_migration_resources
When you're ready to install ColdFusion 9, make sure your environment is in compliance with the ColdFusion 9 system requirements and systems support matrix, then review my blog post on the installers for ColdFusion 9, and then review the "Installing Adobe ColdFusion 9" documentation:
- http://www.adobe.com/products/coldfusion/systemreqs
- http://blog.joshuaadams.com/index.cfm/2010/6/3/ColdFusion-8-and-9-ColdFusion-Builder-and-Flash-Builder-4-Installers
- http://help.adobe.com/en_US/ColdFusion/9.0/Installing/index.html (HTML version, containing comments from users and Adobe employees)
- http://help.adobe.com/en_US/ColdFusion/9.0/Installing/coldfusion_9_install.pdf (PDF version with no comments)
Once you have installed ColdFusion 9, you'll want to install ColdFusion 9 Update 1 to bring your install up to ColdFusion 9.0.1; for more information, including links to additional information and the installer, on this free update for ColdFusion 9, see the following FAQ:
Next you'll want to check out the Hot Fixes and Cumulative Hot Fixes available for ColdFusion 9.0.1:
And finally, it's extremely important that you check out the security bulletins and advisories for ColdFusion and apply any relevant security Hotfixes--and while you're at it, consider signing up to receive security notifications via the Security Notification Service so you don't miss any security bulletins or advisories for ColdFusion in the future:
- http://www.adobe.com/support/security/#coldfusion
- http://www.adobe.com/cfusion/entitlement/index.cfm?e=szalert
Adobe has worked hard to make the upgrade process as smooth and easy as possible. The process involved varies depending on:
- Your current product version and edition as well as, in the case of ColdFusion Enterprise, your current deployment type.
- Your desired product version and edition as well as, in the case of ColdFusion Enterprise, your desired deployment type.
To upgrade to ColdFusion 9 Enterprise from ColdFusion 9 Standard while maintaining a Server (a.k.a. standalone) installation:
- Enter your license key for ColdFusion 9 Enterprise (or your ColdFusion 9 Enterprise upgrade license key valid for upgrading from ColdFusion 9 Standard) in the ColdFusion Administrator in the System Information section accessible via the link marked with an "i" Information icon in the upper-right. No reinstall of ColdFusion 9 is required and, since you will be using the same installation of ColdFusion 9, you will not need to import any settings (they'll already be there). This works this way because there is a single runtime (per platform and language; the same is true for the installer) for ColdFusion 9 which acts as a particular edition based on what license key(s) are entered: if you enter a license key for ColdFusion 9 Enterprise (or a valid combination of ColdFusion 9 Enterprise upgrade license key and appropriate upgradeable ColdFusion license key), the runtime will act as ColdFusion 9 Enterprise; if you enter a license key for ColdFusion 9 Standard (or a valid combination of ColdFusion 9 Standard upgrade license key and appropriate upgradeable ColdFusion license key), the runtime will act as ColdFusion 9 Standard.
To upgrade to a Server (a.k.a. standalone) installation of ColdFusion 9 from a Server installation of any release of ColdFusion MX 7 or ColdFusion 8 (NOTE: the process is the same for Server installations of both ColdFusion Enterprise and ColdFusion Standard):
- Run the ColdFusion 9 installer to install ColdFusion 9
- Browse to the ColdFusion 9 Administrator to launch the Configuration Wizard and allow it to import the settings from ColdFusion MX 7 or ColdFusion 8
To upgrade to ColdFusion 9 Enterprise from multi-server and J2EE installations of any release of ColdFusion MX, follow this documentation and TechNote (written for upgrading from ColdFusion MX 7 to ColdFusion 8 but the principles apply for upgrading from ColdFusion MX 7 or ColdFusion 8 to ColdFusion 9):
- http://help.adobe.com/en_US/ColdFusion/9.0/Installing/WSe9cbe5cf462523a0-b18e31f121c8f9f003-8000.html
- http://www.adobe.com/go/kb405205
If as a part of your upgrade to ColdFusion 9 you wish to switch to an installation type you are not currently using (for instance, if you wish to switch to a Multi-Server installation from a Server installation), you must perform a new installation of your chosen ColdFusion 9 installation type and then manually migrate your settings from your current ColdFusion installation.
As long as you choose to use the built-in web server during installation of ColdFusion 9, your installation of ColdFusion MX 7 or ColdFusion 8 will not be altered or removed by the installation of ColdFusion 9. You will therefore be able to continue running ColdFusion MX 7 or ColdFusion 8 while you test your new ColdFusion 9 installation.
If during installation of ColdFusion 9 you choose to use the same external web server as you are using for ColdFusion MX 7 or ColdFusion 9, note that the CFIDE and CFDOCS directories in the root of your external web server will be replaced by the CFIDE and CFDOCS directories for ColdFusion 9. If you wish to avoid this, you must instead choose to use the built-in web server during installation of ColdFusion 9. As Michael Collins explains in the following blog post, you can later use the Web Server Configuration Tool to configure your external web server for ColdFusion 9:
If you wish to configure your external web server to work properly with both ColdFusion MX 7 and/or ColdFusion 8 and ColdFusion 9 on an ongoing basis (as opposed to working with only one release of ColdFusion), you can do so, but you will need to do some manual configuration of your web server; see the following blog post by Adobe Community Expert Charlie Arehart for more information (even if you're not using Microsoft IIS and Microsoft Windows XP, the principles described will apply):
Installing ColdFusion 9 will not uninstall ColdFusion MX 7 or ColdFusion 8; this is by design: it is possible, and desirable in some circumstances, to run multiple versions of ColdFusion at once. There is no need for you to uninstall ColdFusion MX 7 or ColdFusion 8 once you are no longer using it (note that if you simply stop it from running, the only resource it uses is some space on your hard drive). However, if you wish to uninstall ColdFusion MX 7 or ColdFusion 8 after installing ColdFusion 9, you should first make a backup copy of the CFIDE and cfdocs directories in your web root folder because the uninstallation of ColdFusion MX 7 or ColdFusion 8 can remove these directories. After you uninstall ColdFusion MX 7 or ColdFusion 8, simply restore these directories from backup. The uninstallation of ColdFusion MX 7 or ColdFusion 8 can also remove "index.cfm" from the list of default documents in your web server. Therefore, if having "index.cfm" listed in your web server as one of the default document is required for your ColdFusion application, you may have to add this listing to your web server after the uninstallation of ColdFusion MX 7 or ColdFusion 8. See your web server's documentation for information on adding default document listings. Alternatively, you may be able to use the ColdFusion 9 Web Server Configuration Tool to do it for you:
Still have questions? First, visit the Installation section of the ColdFusion Support Center. If you can't find your answer there, feel free to contact me or, particularly if your question is one you believe would benefit other readers of this post, add a comment on this post.
One final note: Adobe offers implementation consulting for a fee and in addition, we have a number of partners who can help you with implementation and troubleshooting; if you would like more information on these offerings, please contact me.