Migrating from ColdFusion MX7 to ColdFusion 9. Any issues?
I'm planning a migration on a server from ColdFusion MX7 to ColdFusion 9. Does anyone know which steps I should take in order to achieve this without major issues? I can't find anything on the web that talks about this and I don't want to jump into this task without knowing what I'm up against.
Any suggestions, link to articles, etc. would be very much appreciated.
By and large, Adobe (and Macromedia before them) have gone to great lengths to ensure backward compatibility where appropriate; so the rule of thumb is that you should be fine.
First and foremost, I would make use of ColdFusion's Code Compatibility Analyzer. It is available as part of the free Developer Edition, if you want to check before upgrading.
You can find it in the ColdFusion Administrator, in the Debugging & Logging section, as "Code Analyzer".
As it says on that page:
The Code Compatibility Analyzer helps migrate your applications to ColdFusion from earlier versions of ColdFusion.
The Code Compatibility Analyzer reviews the CFML pages that you specify and informs you of any potential compatibility issues. It detects unsupported and deprecated CFML features, and outlines the required implementation changes that ensure a smooth migration.
If the Analyzer doesn't find any issues, I would then encourage you to install the developer edition and run your unit tests. (You have unit tests, right?)
If you don't have unit tests, your only other option is just to test everything manually. Good luck!
One final approach is to read the release notes for versions 8 and 9, as well as the 8.1 and 9.1 point-releases. Adobe and Macromedia were meticulous about documenting precisely what changed, which should prove helpful for you. The release notes are available as PDF for both versions 8 and 9 from Adobe.
We've just recently completed the exact same upgrade, going from CF 7 to CF 9. We didn't encounter any major issues even with old application dating back to CF 5.
As Adam pointed out the Code Compatibility Analyzer is great to find potential issues such as new signatures for existing functions or scoping problem with the new local scope.
You don't want any errors as those as sure to break with CF 9, after fixing the errors you should be left with a bunch of warnings, check them to make sure it will still do what you intended. You should not ignore them and make sure you understand the implication of ignoring one.
This page by Josh Adam's http://blog.joshuaadams.com/index.cfm/2008/9/4/Upgrading-from-ColdFusion-MX-to-ColdFusion-8 has a lot of good resource on upgrading CF in general. It's for CF 7 to CF 8 but most of it still applies to CF 9.
Before starting, the most important step of all would be to backup everything. You'll want a quick way to go back to CF 7 if you ever need to so you should have a copy of the unmodified code, configurations and CFusionMX/jRun directory. I just ended up ghosting the machine in case.