How to perform an upgrade?

For Articles relating to more than one ISC version
Darntoothysam
Confirmed
Confirmed
Posts: 33
Joined: Wed Jun 17, 2009 8:47 pm

How to perform an upgrade?

Post by Darntoothysam »

We're kicking around the idea of perfoming an upgrade to version 5.0.4 of Interspire. Right now we have version 5.0.2, but there are a couple bug fixes we could really use.

I'm deathly afraid of doing the upgrade though, before we joined Interspire, we were going through X-Cart, and we were told by the hosting company we were using at the time that they didn't even like doing upgrades for X-Cart, and that they hadn't done one without some sort of problem happening. When I tried to do the X-Cart, I completely blew the store up, and we were forced to find a new shopping cart (enter Interspire)

So that brings me to today. I don't want to do this upgrade, but if I can have step-by-step instructions, or a resource to go to that will help me do this, I'll give it a shot. I absolutely need to know what to copy, what to back-up, what to delete, what to install and what to save before I continue.

Thanks!
DarnToothySam
Martin
Site Admin
Site Admin
Posts: 1854
Joined: Wed Jun 17, 2009 6:30 pm
Location: South Yorkshire UK
Contact:

Re: How to perform an upgrade?

Post by Martin »

I can understand your concerns so here's just an example of how I've been doing this to date.

1. I have a subversion repository which stores all my files, modules, mods, et... as well..
To cut to laypersons terms, it's a version tracking and storage system that lives on my server... Every time I make any changes to a file, I save the changes and my repository, checks, stores and logs the changes. This then allows me to look back over 1, 2 or however many changes I made for one or more files and allows me to pull out old copies, compare between versions and more besides. In short, it's seriously useful.

HOWEVER this is really just a developers version of "lots of backups!" for the average bod :)


2. The main component to my upgrade/update process is a tool called "Examdiff Pro". It is very, very useful in comparing directories to see what directories have changed.. file contents to see what code changes have been applied to specific files... and more recently provide better comparison between chunks of code so I can see where something is important or just basic.

I'm making it sound a lot harder than it is...but basically I would seriously invest in this or something similar as it can cut your upgrade times to about a quarter of previous methods.



Right, beyond that you also need to have a good record keeping system... So:
  • Lists of code files you've had modified or modified yourself
  • Lists of template files that have changes relevant to your stores look
  • Any little "watch out" items you've found from experience
Those records will be invaluable in allowing you to decide whether to simply overwrite one or more files with the newest versions or whether you need to go into comparing the code and checking for any obvious "I'm going to break you!" changes.


Before I do a damned thing though I always backup.. by that I mean:
  • Files
  • Database
  • my sanity ;)
... oh and download all the backups to your local machine.. don't just leave them on the server waiting for you to delete them by mistake...


Beyond that it's a case of carrying out the upgrade in the order of:
  1. Backup
  2. Identify modified files/templates and compare to complete code changes
  3. Identify folders/files that can just be overwritten with new changes
  4. Make sure I have at least 2 hours free
  5. Double check that I have backups (re-do if necessary)
  6. Upload the changes
  7. Run the update/upgrade process
  8. Test everything
  9. If necessary restore the backups and return to drawing board with debug/error data
Oh and if you can... do all the testing with a new version on your developer site, rather than a production one.. Did I mention the importance of backups? :D
Darntoothysam
Confirmed
Confirmed
Posts: 33
Joined: Wed Jun 17, 2009 8:47 pm

Re: How to perform an upgrade?

Post by Darntoothysam »

I'm nervous about doing it to be completely honest. I know you had mentioned you are fairly busy Martin, but do you by any chance offer upgrades that I could purchase from you?
babyREFLUX
Posts: 337
Joined: Thu Jun 18, 2009 9:38 am

Re: How to perform an upgrade?

Post by babyREFLUX »

If you are really stuck then Interspire will do the upgrade for you for $199 - not sure how much of the custom work they restore for this though. This figure includes moving from one server to another as well.
Martin
Site Admin
Site Admin
Posts: 1854
Joined: Wed Jun 17, 2009 6:30 pm
Location: South Yorkshire UK
Contact:

Re: How to perform an upgrade?

Post by Martin »

Darntoothysam wrote:I'm nervous about doing it to be completely honest. I know you had mentioned you are fairly busy Martin, but do you by any chance offer upgrades that I could purchase from you?
Well I couldn't offer upgrades in terms of the files as obviously you'd need to have a valid license but I'm guessing you mean more in terms of providing an upgrade/update service... ie: do it for you :)

I am thinking about offering that sort of service but at the moment I'm organising quite a few other things... Collar me again in a few days.
Tony Barnes
Posts: 744
Joined: Thu Jun 18, 2009 8:59 am

Re: How to perform an upgrade?

Post by Tony Barnes »

My way of doing it (very similar to Martins)

1. Download new version, save the whole lot in a folder with the version number
2. Backup entire site to another folder, call this backup_date
3. Copy this folder and call it source
4. I then use the free version of winmerge - select the version number as the target, and the source folder as the source
5. Merge across any changes you have made - these are highlighted, and easy to follow. e.g. html template changes you want to keep, odd php changes in admin files you've never altered, you don't want to pass over (i.e. the new version has streamlined something out of the old one)
6. Upload final version

It's ideal to have a list of the files that you have changed, but not 100% essential if you don't have it. Try to build it up though, as it will save time checking.

All in last update took less than 1hr with lots of customisations splattered everywhere
Darntoothysam
Confirmed
Confirmed
Posts: 33
Joined: Wed Jun 17, 2009 8:47 pm

Re: How to perform an upgrade?

Post by Darntoothysam »

What about things like the MySQL database and the customers/orders/products? Are those easily backed up and imported into the new store? I'm liking this whole winmerge option, I've never heard of it before, but it sounds like it will make things a lot easier
Tony Barnes
Posts: 744
Joined: Thu Jun 18, 2009 8:59 am

Re: How to perform an upgrade?

Post by Tony Barnes »

The database (all customer info, orders, pages, etc) is left where it is during a store update, it will only have things done to it if deemed so by the update itself (i.e. new columns added to a table, table name changes, etc).

All the product images are backed up during the FTP download part. The links to the products are held in the SQL.
manamana
Confirmed
Confirmed
Posts: 21
Joined: Wed Jun 17, 2009 11:28 pm

Re: How to perform an upgrade?

Post by manamana »

I'm guessing you didn't go through with this yet, so that's good since 5.0.5 came out today. 5.0.4 was full of bugs and I was kicking myself for ever leaving 5.0.3. I'll let you know how 5.0.5 is. I have no choice but to upgrade now since 5.0.4 has several issues. I also only have one week left in my maintenance contract and with the multi-vendor version I'll be likely required to pay hundreds of dollars, if not $1000 to upgrade (I haven't been quoted yet). :shock: Hopefully if there are any bugs in this one I can get support to fix them before then.
ISC 5.0.5 Multi-Vendor Edition - Already abandoned ship for CS-Cart 2.0 - LOVE IT!
Darntoothysam
Confirmed
Confirmed
Posts: 33
Joined: Wed Jun 17, 2009 8:47 pm

Re: How to perform an upgrade?

Post by Darntoothysam »

Do I have to do incremental updates? i.e. I'm using 5.0.2 right now, do I have to go to 5.0.3, then .0.4, then .0.5 or can I skip directly to 5.0.5?

Thanks!
Post Reply