Can you accept downtime during store upgrade?

During upgrade process, the store will be closed automatically. After this, you have to struggle with resolving conflicts, restoring custom tables and etc.



Your adrenalin keeps raising during this process, so, can you accept downtime during store upgrade?



This forces me to upgrade locally. When everything is fine, I have to find the changed files and do a manually upgrade to the live store.



Solution to ease the process:

  1. For now, I know it’s very hard to improve the upgrade process. So could cs-cart provide a separate upgrade package based on the core and each skin? Why do I need to download other skins upgrade by use of the slow backend(direct download will be much faster and I don’t need to find those files in a deep folder)?



    Let’s hear what is the community voice!

Maybe it’s just me being too different, but I use upgrades as a mean to make people curious. Similar to what Apple do on their store. When I do this I usually also see a spike in the traffic. I will usually also update the visitors on a blog during the upgrade to give as much information as possible.



But as yourself I will also first do the upgrade on a separate installation to make sure everything is working as it should, I agree with you on the need to download all the skins. It would be easier and faster to just upgrade the single skin I use, and the core if the changes are only in the core.

What a ridiculous poll. I suspect the 2 who find it “fun and exciting” are poking fun. How about asking some legitimate questions like people’s preferred method for addressing conflict resolutions? This is the step that takes some time after the upgrade.



The solution to eliminating the conflict resolution process is to use the ‘hooks’ feature in v2. Your local files will be unaffected by future upgrades.



Another solution (which also works in 1.3.5) is to create your own skin with your template modifications. This skin will be unaffected by future upgrades but you will need to review your custom skin to include any new features which become available and which you wish to add. You will still need to resolve conflicts in your PHP files.



As for custom tables, the DB upgrades rarely drop tables or columns, and certainly none that they do not know about. Give your custom tables/columns names which identify them as local mods (such as using your initials as part of the table/column name) and you should not have many problems. It is not perfect, but your exposure will be limited to the rare time when a table is dropped which included a custom column. I consider this a ‘best practice’ which will save time and frustration in the future. If you are modifying existing columns in existing tables, you are asking for problems since upgrades may make changes but, at the the very least, keep a list of all your DB changes…



I personally would never upgrade a live shop without doing a test run on my test site no matter how “perfect” the upgrade supposedly is. As you say, a closed shop could equate to lost customers.



Also, change the store_closed.html file to include something encouraging like “We’ll back back shortly”. There are all too many “closed for maintenance” signs on the internet.



There is merit to being able to choose which skins you wish to update, with the ability to update a skin independent of the general upgrade. For instance, if you are running the ‘Basic’ skin and later decide you want to switch to ‘Electro’, you should be able to download the current version of ‘Electro’ only.



Bob

[quote name=‘jobosales’]What a ridiculous poll. I suspect the 2 who find it “fun and exciting” are poking fun. How about asking some legitimate questions like people’s preferred method for addressing conflict resolutions? [/quote]



I voted under “exciting” since I’m the one normally doing them for people. they’ll most likely choose the “I can’t live without my store” selection but hey that’s the life of things.



My process is quite simple.

Close

Upgrade,

check for issues

Open

Finished.



In rare cases I’ve had stores down for 8 hours plus but that was due to both hosting migration (& DNS), table repairs, sql crashes, databases weighing in 130MB, data migration, upgrade, fault finding and fixes etc.



So… Yeah fun and exciting now I know why people call me weird :smiley:

Jesse-



Since you do more upgrades than most of us, I think you are better situated to gamble. By the third or fourth upgrade, you have probably seen most of the issues and have a good sense of how to address them. That’s why people pay you the well-deserved (not-so-) big bucks!



By the way, you are awesome!:stuck_out_tongue:



Bob

If you don’t heavily modify cs-cart, for sure, it’s not a big deal. However, don’t forget resolving conflicts will at lease take you some time depending on how many files you have to replace.



This vote is for [COLOR=Red]real store owners[/COLOR](not cs-cart resellers or developers) who care about their own store. For now, like it or not, you have to experience the downtime during upgrade.



Sorry for this “ridiculous” poll.

Joe-



It’s ridiculous because the choices are so exaggerated that I (and I suspect many others) cannot truthfully vote for either option. No store owner wants to lose customers but I am certainly not interested in an “exciting” upgrade. I do understand and agree with your concern for wanting the upgrade process to be as quick and painless as possible.



As I stated, ‘hooks’ will minimize the need for conflict resolutions. The more heavily modified your cart, the greater the benefit of using this approach. I think people will see this pretty quickly once they realize that the approach is not as intimidating as it first appears.



It is amusing that “fun and exciting” is ahead. I think they are pulling our legs.



Bob