Migrating from 3.0 to 4.0
We're finally doing the migration from 3.0 to 4.0 and I had a question or two.. And I have a feeling this might be useful info for the general community.
The big question for me is:
What's the difference between .xml and .sss files? Can a 4.0 exported scrape be imported by 3.0 and can a 3.0 exported scrape be imported by a 4.0?
We have a ton (literally hundreds) of active scrapes, and per Todd's suggestion our development philosophy is to deal in export files. Both for initial deployment and for revision control. How can we do that and have some 4.0 and some 3.0 in the mix? (Understanding of course that 4.0 functionality would not be appropriate to even try on 3.0)
Once the scrapes get to a dev or qa server they remain in that database from then on out, but we'd like to be able to have a dev open a 3.0 scrape in the new 4.0 client for maintenance and tweaks, then export it back out and drop it on the 3.0 server. The extension sss vs xml is the first red flag...
We can't just flop all of our scrapes over to 4.0 as the process of migrating and regression testing will take months to complete comprehensively. It's something we're doing, but can't do overnight.
Migrating from 3.0 to 4.0
Robert,
Good questions. The rule is "new can read old, old can not read new". So, if you load a 3.0 session into a 4.0 instance and then export it, it's now 4.0. I would recommend keeping versions of 3.0 running for whatever testing needs you have.
The xml & sss file extensions are merely cosmetic. They're both xml under the hood. But you can use this as a convenient way to identify which session exported from which version.
One thing to keep in mind when exporting scraping sessions for both 3.0 and 4.0 is to remember to export any script individually that are not being called either from a scrapeable file or a scraping session. This is rare and only occurs when you're calling a script from within a script or using a script only for the purpose of instantiating a scraping session.
A quick way to check is to click on the "Show Script Instances" button for a given script. If it says, "This script is not used by any objects." then export it by itself. Otherwise scripts will be exported along with whatever scraping session (and by extension scrapeable file) uses them.
If you have scripts that are used by multiple scraping sessions when you're importing those scraping sessions via the workbench you may be prompted to replace scripts that have already been imported. Prior to 4.0.5a (or so) selecting "Yes to All" would still continue to prompt you. This has since been fixed in a later alpha release.
Feel free to ask any more questions.
-Scott