Migrating to a new server

New Here ,
Dec 12, 2017 Dec 12, 2017

Copy link to clipboard

Copied

We have CF9 and want to move to CF 2016, but on a new server.  I have been trying to digest the CF2016-Migration-Guide.  I am not real familiar with CF, but I am pretty familiar with Windows Server, IIS, etc...

The migration guide is catered for someone doing an in-place upgrade and there appears to be some sizable gaps on steps if you are moving to a new server.

I have successfully:

- Installed CF 2016 on the new server

- Copied the neo*.xml files from the old server and allow them to migrate

- Copied the \Inetpub\wwwroot files and folders from the old server to the new

- Copied the database folder that the datasources point to from the old to the new

What I am missing:

- Do you I need to recreate the ColdFusion Collections or is there a way to migrate them?  (note: recreating wouldn't be horrible, but I am not sure what folder was specified on the old server when you tell the collection to index)

- I am not sure if I a missing anything else.  If I hit my website on the new server, it appears to be missing some style sheets; the header and footer load; and I get a 404 error in the middle of the page.

Thanks for any help you can offer.

TOPICS
Server administration

Views

1.9K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Dec 12, 2017 Dec 12, 2017

Copy link to clipboard

Copied

I don't think it's a good idea to copy the neo*.xml files from CF 9 to CF 2016. Instead, you can simply export your configuration using the ColdFusion Archive functionality. You do need to have an Enterprise or Trial license available to do this, but I seem to recall a way to temporarily set your license back to Trial to get this. Of course, if copying the files worked for you, I guess you can skip this.

I'm a little worried when you mentioned "the database folder" because you should be using a real database server, and that should ideally be somewhere else. File-based databases are not very good for production use.

The actual locations of the CF collections doesn't really matter.

It looks like you have some IIS virtual directories on the old server that aren't on the new one.

Dave Watts, CTO, Fig Leaf Software

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 12, 2017 Dec 12, 2017

Copy link to clipboard

Copied

Copying the neo*.xml is part of the Adobe suggested migration.  So what is your concern about that?  The Migration program reads the old files and applies the settings to the new files.  I didn't overwrite the new files with the old.

Unfortunately, I have CF 9 Standard, so I don't have the archive option.   i guess I could try flipping back to a trial, but I hope that doesn't break my production server.

Database folder:  The developer has some Access databases that CF uses.

>>The actual locations of the CF collections doesn't really matter.

When you go to index, it wants to know the folder you are indexing. (If I understand it correctly). Not where the collection is stored.   I don't know what folder she specified for indexing on the older server.  It apparently doesn't store that information.

Thanks for the tip on the virtual directories. I should have thought to check that.  I will check that and clean it up.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Dec 12, 2017 Dec 12, 2017

Copy link to clipboard

Copied

I didn't know that was now part of a suggested migration, to be honest. And if it works for you, that's all that matters!

I would move those Access databases to MySQL or something. Access is just not good for CF.

As far as the indexing goes, no, the folder being indexed is not intrinsically part of the collection itself. It's controlled by the use of CFINDEX or a manual index operation from the CF Administrator. So you'd need to go to the old server and run some searches to find out where the files are that you want to index.

Dave Watts, CTO, Fig Leaf Software

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 12, 2017 Dec 12, 2017

Copy link to clipboard

Copied

Thanks again for your input. 

I guess I a missing something or having a brain-lockup on this indexing.  My understanding (from the Help file) is that after I create the CF Collection, then I need to Index.  When I click on Index it it wants a Directory Path.  If don't supply one it says "•Please enter a valid Directory Path for this collection."  Sorry -- I am just having trouble reconciling what you are saying with my limited knowledge of CF collections.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Dec 12, 2017 Dec 12, 2017

Copy link to clipboard

Copied

I think we're talking past each other a little bit. Don't worry about it. A CF collection is basically an empty bucket for indexed data. It has its own directory, typically somewhere within C:\ColdFusion2016\... Then, you can index some files using the index button in the CF Administrator. Or, you could index files or other data using the CFINDEX tag. So, if you were indexing files on the old server using the CF Administrator's index button, you'll have to find out where those files are by running a search on the old server, then dumping out all the information from the search using CFDUMP. Even then, it may not be obvious - you may have to make some guesses.

Dave Watts, CTO, Fig Leaf Software

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Dec 12, 2017 Dec 12, 2017

Copy link to clipboard

Copied

Can you cite the source of "Copying the neo*.xml is part of the Adobe suggested migration"?  CF2016 has a whole bunch of new settings in those XML files that wouldn't be present in CF9, and the passwords for the administrator would have to be reset (the encryption method used between versions of CF is different).

You might consider using the CFConfig module with CommandBox to migrate the settings.  You can run CommandBox from your local machine, and point it at your CF9 server as the "from" and the CF2016 server as the "to".  It will do most of the heavy lifting for you.

-Carl

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 12, 2017 Dec 12, 2017

Copy link to clipboard

Copied

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Dec 12, 2017 Dec 12, 2017

Copy link to clipboard

Copied

Ye, Dave and Carl, be careful. You thought he said he copied the neo-*.xml files INTO the CF2016 lib folder, but he did not. He said he copied it to the server to allow migration.

The migration feature (as you both know) is run at the first launch of the CF Admin, and if this is a server where CF previously existed on the same box, it would find those neo*.xml files and pull them into a directory to be migrated. And if you want to do that migration with files where another CF lived on ANOTHER server, you can copy the files in and configure CF to tell it to do that import.

So this is not the sort of “copying of neo files” that people used to do, and that we would indeed want to warn against.

Chris, as for your migration, there is indeed more to worry about. I’m afraid I’m on a call now and can’t elaborate. I hope I may be able to later.

/charlie


/Charlie (server troubleshooter, carehart.org)

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Dec 13, 2017 Dec 13, 2017

Copy link to clipboard

Copied

Charlie,

You're right!  Thanks for clearing that up. 

-Carl

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Dec 13, 2017 Dec 13, 2017

Copy link to clipboard

Copied

Happy to have helped, Carl. And to the discussion about cfcollections and indexing, I think you guys (Dave and Chris) may now be on the same page.

Bottom line, Chris, you just wanted to import the collections. It really is just a matter of copying them over. Your question was, "where?". The CF2016 Admin Collections page now has has a folder name listed at the top: all collections go into there. In earlier versions, you could set the location for each collection. Just put them in there, then refresh this page, and they should appear.

You do not need to "index them". That button (as has been clarified) is for if you want to populate some collection by reading text files and "indexing" the database with their contents. We can assume that's already done in your Solr collections.

[Grr. I habitually hit ctrl-s, and this web forum saved my not-yet-complete post. If that got emailed to anyone, that's a bummer. I realize that those seeing this on teh web UI wouldn't even notice, if you read this after I finish now editing it.]

BTW, Chris, you don't indicate in your first note if these "collections" are indeed Solr or Verity. To be clear, While CF9 had both (and earlier releases had only Verity), CF10 and above have only Solr. CF9 was a transition between point when folks were to migrate the collections from Verity to Solr (and there was a tool for doing that), and then change their code (since the CFINDEX, CFSEARCH, and CFCOLLECTION tag operations are not identical between the two.)

Are you confirming that all you had was Solr collections? Hoping so, or perhaps you may have asked about that.


/Charlie (server troubleshooter, carehart.org)

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 14, 2017 Dec 14, 2017

Copy link to clipboard

Copied

I had both Verity and Solr.  I copied my Solr collections.  The folder appears to be:  C:\ColdFusion2016\cfusion\jetty\multicore\collections. I don't see a folder listed at the top, but if I create a test collection, that is where it puts it.

Thanks.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Dec 14, 2017 Dec 14, 2017

Copy link to clipboard

Copied

LATEST

Sorry, Chris. It’s on the next page down in the Admin, “Solr Server”. And yep, the default in 2016 is C:\ColdFusion2016\cfusion\jetty\multicore. Then in that as you found is the Collections folder, and you put them in there.

I found also (like you) that when I put a collection in there, it was not “picked up”. But restarting the Add-on service (not CF) caused them to show up in the Admin.

Perhaps as useful, on that same Solr Server page, there is an option at the bottom to migrate solr collections, but it’s designed for pointing at the collections folder within another CF instance. I confirmed it’s NOT enough to point to a folder that HAS a collections folder with solr collections folder within it.

/charlie


/Charlie (server troubleshooter, carehart.org)

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 14, 2017 Dec 14, 2017

Copy link to clipboard

Copied

The collections still don't show up in CF administrator.  Even tried rebooting the server.  I only copied the Solr collections.

Also of note -- I cloned my old CF 9 server and did an update with CF 2016 (32 bit).  The collections don't show on that server either.

Excuse the ignorance.. I am not the CF guy.  I am the server guy.  The lady who did all the CF retired.  But could the missing collections cause some of my links to be wrong?  Example:  If go to "About" from the Home page, if I click on a link from the About page (ie. locations), it doesn't take me to the locations page -- which is .../About/index.cfm?id=84 it takes me to .../index.cfm=84 -- which is a totally different page. (missing the "About" in the link).   Is this connected to my missing collections?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Dec 14, 2017 Dec 14, 2017

Copy link to clipboard

Copied

As Charlie noted, Verity collections won't work on CF 2016. You will simply have to recreate those, I guess. It should be fairly easy for the CF person to figure out how to do this for you. Even if your CF person retired, you'll probably need a new one to keep your application working well - maybe part-time or something.

You should probably be using the 64-bit version of CF 2016. There are very few reasons why you'd want to use the 32-bit version. If you aren't aware of any, that's a strong indicator that you don't have any. Honestly, this probably won't make a huge difference for you, but it would be the right thing to do. The "bitness" should match that of the IIS application pool used by your virtual server. You can check that out within the IIS Management Console, under "Application Pools".

I doubt your page error has anything to do with missing collections. That looks like a code error of some sort. But I really think to get everything working properly you're going to need some CF developer time from someone. Not a lot, but some.

Dave Watts, CTO, Fig Leaf Software

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 14, 2017 Dec 14, 2017

Copy link to clipboard

Copied

I only tried the 32 bit as a test.  I did a fresh install of CF 2016 64 bit on Windows 2016.  I have that mostly working .... except for these links that are acting up.

Is there a document someone that explains collections?  I have searched and am coming up empty.  Minimal information in the help file.   I think I can figure the Directory Path of each collection, but I am not sure if I should return a URL, or not.  Kind of amazing that it doesn't "save" your settings.  Makes it a challenge to see what was done in the past.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Dec 14, 2017 Dec 14, 2017

Copy link to clipboard

Copied

I think the best way to think of collections is like databases, where the directory itself is a database. Within the "database", there will be entries that have rows and columns, but you don't query them directly. Instead, you use the search API to run a full-text search, and you get back entries, and read the values from those entries. In CF, this is usually done with a CFSEARCH tag. To get things in the "database" in the first place, you use the CFINDEX tag, and to create the "database" in the first place you use the CFCOLLECTION tag. Each entry in the index will usually have its own URL, or some way to build a URL, but the collection and indexes will not themselves have a URL.

Presumably, you can simply migrate the entire directory from one server to another, but I've honestly never done that, because there is usually code within the application to handle the indexing of whatever contents you want to index via CFINDEX, and there is either code to create new empty collections prior to that or you'd do that yourself manually. It is possible to migrate settings from an old server to a new one via the CF Enterprise or Trial license mentioned earlier - I know that works - but I don't know any other way to index collections manually. Charlie probably does, though. I'm guessing that you could manually edit the neo-*.xml file related to collections in CF 2016, but I haven't actually done that.

Dave Watts, CTO, Fig Leaf Software

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines