Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Migration from ms1 to rc2a


jahmic

Recommended Posts

I have been tasked with migrating a heavily customized site still using ms1. I have seen some similar topics but have never seen a fairly helpful answer to this (except for perhaps 'no').

 

I have inherited this site with none of the customized changes saved in source control or even documented. However, the changes all seem to be UI related. I have found copies of supposedly original ms1 and ms2. So, I think my options are:

 

1. Start fresh with rc2a, try to reincorporate the customized changes. This has the risk of missing some subtle local fixes, as well as a being a basic rewrite.

 

2. Manually update the files to be in sync with ms2 and use the ms2 to rc2a contribution module. There are actually a lot of changes between ms1 and ms2, and a manual update is both very tedious and quite open to mistakes.

 

Any other suggestions? Are there any patch tools available that make a patch between ms1 and ms2 that I could apply to my site?

 

Any suggestions, more then welcome.

 

Thanks, J

Link to comment
Share on other sites

I'm not sure that I would trust the MS2-->RC2a module on a heavily modified site. You can always try it (after of course backing up all files and database) and see if the resulting site seems to function well. But, to get to that point you apparently have to do a lot of manual work to get from MS1-->MS2 in the first place, so my advice would be to jump all the way to RC2a. If you think you have an unmodified MS1 at hand, I presume that you know how to use "diff" (Linux) or "fc" (Windows) to find all the differences in the files. Then you need to understand (and document for future maintainers) all the changes and which ones still apply to RC2a. You might be able to treat the changes as a template or even an add-on, if they're all UI-related.

 

If the MS2-->RC2a tool was somehow automagically generated from MS2 and RC2a installations, perhaps you could persuade the author to run it against MS1/MS2 (or even better) MS1/RC2a. I'm guessing that it takes the delta between the two versions and acts like an "add-on" installer. If so, it's bound to "fail" on many modified files, but might get you most of the way there. You might even try the MS2-->RC2a tool on MS1 and see if it gets you most of the way, but no promises.

 

I suspect that you're in for a lot of manual work any way you go, but you might first talk to the author of the MS2-->RC2a tool and see if they think it has a good chance of working on MS1, or if it would be easy to generate an MS1-->RC2a tool. Good luck!

Link to comment
Share on other sites

MrPhil, thanks for the helpful response.

 

A couple of notes:

 

I primarily used diff in my analysis of what the changes were.

 

The ms2 to rs2a conversion module, if I recall correctly, is more of a set of directions (a lot) with a set of scripts and tools to help, not a one-click option, unfortunately. But seems like something that could be done in a day or two.

 

The approach I am now thinking of is to harness the power of source-control. To the effect of:

 

1. Using SVN (I haven't used CVS in years, but should basically be the same), create a local repository

2. Check in the MS1 codebase

3. Check out 2 instances of this, instance A and instance B

4. copy MS2 over instance A and check that in. As this should be mimicking the original codebase tree, there shouldn't be any conflicts. But, even so, those can be handled.

5. copy my local site over instance B and check that in. As best as possible, a merged instance should happen. To be sure, there will probably be a bunch of conflicts that will have to be manually resolved, but this should be a significantly lot less then doing it manually.

 

From I could continue this process, using rc1, rc2 and rc2a or just go with migration module. I'll let you know how this goes.

 

Still very much open to other suggestions

Link to comment
Share on other sites

Well, that will be doing automatically a lot of what you would do in a manual update -- find the differences between "vanilla" versions and apply them to the (modified) base code. Note that many code repositories work by line number ("at this line number delete, replace, or insert"), so it's possible what you're doing may not work quite right. No telling for sure what will happen, until you try it. I would expect that you'll still end up with a lot of manual fixups needed, although your proposal may reduce the overall amount of labor needed. In any case, follow what it's doing very carefully and understand everything it does.

 

Rather than going from MS1 to MS2 to RC1 to RC2 to RC2a, why not go from MS1 directly to RC2a?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...