Skip to main content

First "Official" ColdFusion 7 Upgrade

So today was the day--I kicked everyone off one of our development servers and upgraded from CFMX 6.1 Standard to CFMX 7 Enterprise. I've done the installation on several machines by this point but this was the first installation on a server at my company that "matters" (i.e. other people use it and would gripe if it was down for too long).

As expected everything went 100% smoothly! I just thought I'd share some thoughts about the installation and the improvements I'm already seeing in moving from CFMX 6.1 Standard to CFMX 7 Enterprise.


This installation was on Windows Server 2003 (Enterprise Edition), and I did the multi-instance/integrated JRun installation (option 2). The server supports three separate web sites, and we use IIS 6. We have maybe 20 datasources involved and a bunch of Verity collections as well, but nothing too out of the ordinary. I must admit when I upgrade things I actually tend to do a completely fresh installation, so I decided to do that here as well. Yes, probably unnecessary, but it gives me a bit more peace of mind. (Hey, that's just me--I've done the "co-exist" install on some other machines and it worked great as well.)

So step one was to move all our web app files to a backup directory and then uninstall CFMX 6.1. No problems, no lingering "stuff" after the uninstall, so that was all good.

Step two was to install CFMX 7, and as most of you probably know by know, the installer is really sweet. I know there are people on the Macromedia forums that are having problems with the download, etc. but I did a fresh download today just as a test, and I had no problems whatsoever with the installer I just downloaded.

As I said above, I chose option 2 which does an integrated JRun installation. The reason for this is that it includes the Enterprise Manager that allows you to manage multiple instances of ColdFusion from the CF administrator. I blogged about this feature briefly before, but to reiterate, this is seriously cool stuff. Now you can much more easily deploy and control multiple instances of CF, even on remote servers.

So after the installation succeeded I moved my web app files into their new home and everything just worked. This was for the first of the three sites this servers supports. Now here's where things get cool!

Next, I went to the Enterprise Manager and clicked on "Instance Manager." Then I clicked on "Add New Instance," gave my new instance a name, and away it went. A couple of minutes later I had a second instance of ColdFusion. This of course is to run the second site on this server, and this isolation is going to be fantastic for several reasons. First, if one site needs to be restarted it doesn't affect the other. Second, I have better control over access, security, etc. because the sites are now running completely independently of one another.

Since this is our dev server we just use a single IP address for the whole server and user host headers in IIS for the different sites, so I used the JRun web server connector tool and hooked CF server 1 into IIS web site 1, and server 2 into a different IIS web site that had a host header. Again, no problems, everything just worked! I'll sleep better at night now that all my sites are independent from one another.

That's pretty much all there is to report right now--once this setup has been running well on our dev server for a week or two we're going to schedule this same process on our two clustered production servers. I'm really encouraged by how smoothly this went.

How about the rest of you? Any installation experiences to share?


Don't tell me you had to re-add the 20 datasources all over again?

In this case I did, but I have all that stuff in a spreadsheet anyway so it only took a few minutes. Let me be clear and say that you do NOT have to manually re-add your datasources if you install CFMX 7 while CFMX 6.1 (maybe 5 as well, but I haven't done any 5 -> 7 upgrades) is still on your machine. I've done that on a few machines and it'll pick them up for you. I just decided to uninstall CFMX 6.1 first in this case so everything would be 100% clean. I know I'm being overly anal by doing that, so it's definitely not a case of having to do it if you don't want to.

The other thing I haven't looked into is whether or not you can use the neo-query.xml file (I believe that's the correct file anyway) from CFMX 6.1 and drop that into CFMX 7 so it'll pick up your datasources. Maybe I'll give that a shot on another machine and see what happens.

Yeah, just took a look at neo.query.xml. Now, I have a question: if I inserted portions into the xml file, will coldfusion see the datasource? could someone comprise that by using cffile to cause issues? are the folders protected????

I personally haven't ever done this, but I would think that if you manually add things to neo-query.xml and restart CF, it would pick up what you added. That's not to say it's going to work, however. I just haven't messed with it enough to know what happens. (You may have inspired me to try this out later just because now I'm curious.) The questions I would have are A) why would you want to do that vs. using the CF administrator (or in CFMX 7 now you can easily programmatically create datasources via the Admin API), and B) how are you going to handle password security? Here's some info on the Admin API in CFMX 7: If you're looking into creating datasources programmtically in CFMX 6.1, then I'd use the undocumented ServiceFactory method as opposed to modifying neo-query.xml. Here's one thing I found on that: Also, the passwords in the neo-query.xml file are encrypted somehow (hashed with MD5 or maybe blowfish?), so I'm not sure if you stick plain text in there it will work. Again, I haven't experimented with it so I could be wrong. As for the cffile issue, neo-query.xml is no more or less protected than any other file on your server. I'm sure that on shared hosting accounts they sandbox people in so they can't upload files to this area (which is outside the webroot), but I don't think there's anything inherent permission-wise or anything else that is put into place by default when you install CF to protect this directory. Then again, if someone's on your server and you're giving them access enough to use cffile with no restrictions, and you aren't using a sandbox, I hope you trust them enough not to do something like this! ;-)

The easiest way to get those 20 data sources over is to export the data sources to a .car file and then import them back in the new CF. Works really well.

Thanks Ben! Something else I just hadn't done yet, but I'll definitely do this on future installations.

I have manually edited the neo-query.xml file and restarted CF and the new datasource showed up, so that works. Not sure if it is a good way to upgrade datasources to a new version though. I've used the Administrator components that you linked to above, and they work great. You can import the datasource information from CF5 or CF6 and then just loop over all of them to create them again. I was able to pull all CF5 datasources even after 5 was uninstalled. I guess the registry entries don't get removed during uninstall.

how do you export datasources to a car file?

John2--if you're using CFMX Enterprise this is done in the CF administrator under "packaging and deployment" (at least that's the nomenclature in CFMX 7; unfortunately I don't have CFMX 6.1 installed on the machine I have access to at the moment). When you build your CAR file you can specify, for example, just to include the datasource information and reploy that CAR on another server, which will create your datasources on the new server for you.


pagerank said…
Thanks for share nice article post.worlds hardest game 2Great fun for all

Popular posts from this blog

Installing and Configuring NextPVR as a Replacement for Windows Media Center

If you follow me on Google+ you'll know I had a recent rant about Windows Media Center, which after running fine for about a year suddenly decided as of January 29 it was done downloading the program guide and by extension was therefore done recording any TV shows.

I'll spare you more ranting and simply say that none of the suggestions I got (which I appreciate!) worked, and rather than spending more time figuring out why, I decided to try something different.

NextPVR is an awesome free (as in beer, not as in freedom unfortunately ...) PVR application for Windows that with a little bit of tweaking handily replaced Windows Media Center. It can even download guide data, which is apparently something WMC no longer feels like doing.

Background I wound up going down this road in a rather circuitous way. My initial goal for the weekend project was to get Raspbmc running on one of my Raspberry Pis. The latest version of XBMC has PVR functionality so I was anxious to try that out as a …

Running a Django Application on Windows Server 2012 with IIS

This is a first for me since under normal circumstances we run all our Django applications on Linux with Nginx, but we're in the process of developing an application for another department and due to the requirements around this project, we'll be handing the code off to them to deploy. They don't have any experience with Linux or web servers other than IIS, so I recently took up the challenge of figuring out how to run Django applications on Windows Server 2012 with IIS.

Based on the dated or complete lack of information around this I'm assuming it's not something that's very common in the wild, so I thought I'd share what I came up with in case others need to do this.

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Assumptions and CaveatsThe operating system is Windows Server 2012 R2, 64-bit. If another variant of the operating system is being used, these instructions may not work properly.All of the soft…

Fixing DPI Scaling Issues in Skype for Business on Windows 10

My setup for my day job these days is a Surface Pro 4 and either an LG 34UC87M-B or a Dell P2715Q monitor, depending on where I'm working. This is a fantastic setup, but some applications have trouble dealing with the high pixel density and don't scale appropriately.
One case in point is Skype for Business. For some reason it scales correctly as I move between the Surface screen and the external monitor when I use the Dell, but on the LG monitor Skype is either massive on the external monitor, or tiny on the Surface screen.
After a big of digging around I came across a solution that worked for me, which is to change a setting in Skype's manifest file (who knew there was one?). On my machine the file is here: C:\Program Files\Microsoft Office\Office16\LYNC.EXE.MANIFEST
And the setting in question is this:
Which I changed to this: <dpiAware>False/PM</dpiAware>
Note that you'll probably have to edit the file as administr…