Calling all developers! We invite you to provide your input on Feature Experimentation by completing this brief survey.

 

K Khan
Jul 2, 2014
  4247
(5 votes)

EPiServer Commerce Upgrade strategy (in light of ECRP)

To move with the speed of EPiServer after the introduction of EPiServer Continuous Release Process, it is vital to have stories/tasks during project life cycle and after the delivery. Here is an example upgrade strategy

Backups:

Keep the backup of following elements before starting upgrade.
Complete Website (including packages and all other related folders) and Commerce Manger.
Keep the Copy of Files under Application Base Data also.
Path can be found from EPiServereFramework.config <appData basePath=""/>
Databases (CMS and MC both)

Upgrade:

Website:

*Do not install latest version of CMS first, as there are chances that latest cms version is not compatible with latest commerce at that time. Commerce Package will install its dependencies including latest CMS changes also.
Install EpiServerCommerce Latest version via Nuget Package Manager Console.
PM> Install-Package EPiServer.Commerce
In case something goes wrong
PM> Update-Package EPiServer.Commerce –Reinstall
To update database after upgrade
PM> update-epidatabase
To get scripts
PM> Export-EPiUpdates
If you are using configurations Transformation for config files then do not compile the project straightway otherwise config files like web.config will be over written. You will need to compare config files, and manually add change is transformation files. Following files can affect web.config, EPiServerFramework.config, packages.config, episerver.config or files under Config folder.

Commerce manager:

Create an Empty Project and Solution and add all commerce manager files into that project and run an upgrade.
Compare Bin files with the site.
I have to copy some files manually from Site to Commerce Manger after upgrade to Commerce 7.9.0 (EPiServer.Implementation, EPiServer.ImageLibrary, EPiServer.Enterprise, EPiServer.XForms and EPiServer.BaseLibrary)

Rollback Strategy:

Restore DB and Files from backup

UAT/Live Environments Strategy:
Keep the note of Configuration Changes.
Prepare EPiServer DB Script.
Deploy the site.
If you want to deploy those with octopus deploy: http://robertlinde.se/post/episerver-sql-scripts-and-continuous-integration-with-octopus-deploy

Jul 02, 2014

Comments

Quan Mai
Quan Mai Jul 3, 2014 04:36 AM

Hi,
We provide a project for Commerce Manager, so you don't have to.
It can be found here: http://world.episerver.com/PageFiles/120778/Mediachase.ConsoleManagerUpdate2014-03-05.zip

Steps:
Unzip the contents of the Commerce Manager updater package to the web root of the Commerce Manager site, which means that the solution file contained in the package should be on the same level as web.config.

Go to the package manager console and make sure that the episerver feed is selected.If you have not done so already, NuGet detects that the referenced packages need to be restored, click the button to restore the packages.Now you can update the packages to the latest version.

Execute: update-package EPiServer.CommerceManager.Build the solution.

Optionally, open the bin folder of the Commerce Manager site and remove the RemoveMePlease dummy assembly which was created when the solution was compiled.
You can also remove the files and folders that you unzipped (including the packages that NuGet downloaded into the Packages folder). For development projects it is recommended to keep the unzipped files around to make it easier to do subsequent updates.

/Q

K Khan
K Khan Jul 3, 2014 11:32 AM

Many thanks Quan, for this addition.

K Khan
K Khan Jul 25, 2014 01:01 PM

Don't forget to delete Virtual Directory 'Apps' from your commerce manager application in IIS. As Apps will be located on base folder after upgrade and will contain upgrades(Thanks Richly)

K Khan
K Khan Aug 4, 2014 02:36 PM

In case if you get this type of Error after upgrading DB

System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near 'MERGE'. You may need to set the compatibility level of the current database to a higher value to enable this feature. See help for the SET COMPATIBILITY_LEVEL option of ALTER DATABASE.
Incorrect syntax near 'DELETED'.

See the post http://world.episerver.com/Modules/Forum/Pages/Thread.aspx?id=88824&epslanguage=en&pageIndex=1
John, have a fix.

Johan Book
Johan Book Nov 3, 2014 02:45 PM

So should Apps be included in the Commerce Manager .csproj? How about the magic folder App_GlobalResources?

K Khan
K Khan Nov 3, 2014 03:43 PM

Well, I have both folders included in my project and always copy these on other servers after an upgrade.
/K

Please login to comment.
Latest blogs
Level Up with Optimizely's Newly Relaunched Certifications!

We're thrilled to announce the relaunch of our Optimizely Certifications—designed to help partners, customers, and developers redefine what it mean...

Satata Satez | Jan 14, 2025

Introducing AI Assistance for DBLocalizationProvider

The LocalizationProvider for Optimizely has long been a powerful tool for enhancing the localization capabilities of Optimizely CMS. Designed to ma...

Luc Gosso (MVP) | Jan 14, 2025 | Syndicated blog

Order tabs with drag and drop - Blazor

I have started to play around a little with Blazor and the best way to learn is to reimplement some old stuff for CMS12. So I took a look at my old...

Per Nergård | Jan 14, 2025

Product Recommendations - Common Pitfalls

With the added freedom and flexibility that the release of the self-service widgets feature for Product Recommendations provides you as...

Dylan Walker | Jan 14, 2025

My blog is now running using Optimizely CMS!

It's official! You are currently reading this post on my shiny new Optimizely CMS website.  In the past weeks, I have been quite busy crunching eve...

David Drouin-Prince | Jan 12, 2025 | Syndicated blog

Developer meetup - Manchester, 23rd January

Yes, it's that time of year again where tradition dictates that people reflect on the year gone by and brace themselves for the year ahead, and wha...

Paul Gruffydd | Jan 9, 2025