We've gone to great lengths to ensure a simple upgrade process to BV Commerce 2013. Read on for the upgrade instructions for BV Commerce 5.X and 2004.
Upgrading from BV Commerce 5.X
The process of upgrading to BV Commerce 2013 is similar to previous BV Commerce 5.X upgrades. Let's start with the system requirements, as this is the biggest area of change compared to prior versions.
System Requirements
- Windows Server 2003 or above (i.e. IIS 6 or above)
- .NET Framework 4.0 with Full Trust
- SQL Server 2005 or above with Full Text Search installed
SQL Server Full Text Search
The Full Text Search component is typically installed already, but in some cases this will need to be added to the SQL Server. Note that if you are using an Express edition of SQL Server and full text search is not installed, you will need to install the Advanced Services version of SQL Server Express to get the full text search component.
Upgrading from 5.7 or 5.8
These installation steps assume that you already have a functioning BV Commerce website. Note: if your website has any custom code outside of your theme folder (\www\BVModules\Themes\YOUR_THEME_FOLDER) you may need to use a file comparison tool like Beyond Compare to merge your changes.
- Create a backup of your website files and database.
- Download BV Commerce 2013 from the Downloads section of your account.
- Unzip the file on your computer to a location of your choosing.
- Copy only the contents of the \www folder to the server; the other folders contain the source code for developer use. You will need to merge the Web.config file in the root of your site; use the Web.config file from 2013 and merge only the SQL connection string and any custom configuration changes from your old config file. BV Commerce 2013 uses ASP.NET 4.0 so the Web.config file will be substantially different.
- In IIS set your application pool to .NET Framework 4.0 and integrated managed pipeline mode. If you're using a hosting company you may need to contact them to make this change.
- Open your web browser and go to the address of your BV Commerce store. Provided that the above steps were done correctly you should be redirected to the /SQLPatch.aspx page and see the installation screen below. If you don't, please re-check the steps above.
- Click the "Start" button to complete the upgrade. This can take a few minutes. Once the upgrade is complete you will be redirected to the store homepage.
- For your theme, you will likely need to add the style block below for the breadcrumb so it displays horizontally instead of stacking. If you enable the shipping calculation on the cart, you will want to grab the chunk of styles at the bottom of the TekGear Redux theme style sheet below the comment heading: /*CART SHIPPING CALCULATOR*/.
.breadcrumbs div {display:inline;}
- Congratulations! You've successfully upgraded to BV Commerce 2013.
Upgrading from 5.6 or below
Follow the same steps above for upgrading from 5.7 or 5.8. Note that when you first log in using an administrator account you will be prompted to change your password. If you are using the username "admin" you will also be asked to change your username. This behavior was part of the PCI Compliance changes in 5.7.
If you've created any custom code for your website, even something as simple as a new category or product template, be sure to test it after the upgrade. With 5.7 there were some performance changes to the URL rewriting functions in the Core. Specifically the BuildUrlForCategory function in the BVSoftware.Bvc5.Core.Utilities.UrlRewriter class takes an additional parameter called allCats which is a collection of Category objects containing all of the store categories. A typical line of code from 5.6 or below looks like this:
Dim destinationLink As String = Utilities.UrlRewriter.BuildUrlForCategory(c, Me.Page)
And it must be changed to look like this:
Dim destinationLink As String = Utilities.UrlRewriter.BuildUrlForCategory(c, Me.Page, Catalog.Category.FindAll())
Keep in mind that if this code appears inside a loop of some kind, repeatedly calling Catalog.Category.FindAll() will likely slow down the site. Instead you should create a variable to store this data and then pass the variable around rather than querying the database every time.
Upgrading from BV Commerce 2004
A direct upgrade from BV Commerce 2004 to 2013 is not possible. You must first migrate from 2004 to 5.6 (5.4. or 5.5 should work as well) and then upgrade to 2013. This sounds complicated, but it's really not that difficult. The final 2013 site will be a separate copy from the 2004 site; your 2004 website files and database will not be modified. Here's what the process looks like. As always, be sure to backup your database and website files before proceeding.
- Create a new database in SQL Server that will become your BV Commerce 2013 database when this process is complete.
- Download BV Commerce 5.6 from the Downloads section of your account.
- Unzip the file and browse to \src\www\BVAdmin\BVSql\Full\
- Run the following SQL scripts in this order on the new, empty database to create a 5.6 database:
- CreateTables.sql
- CreateProcedures.sql
- CreateFunctions.sql
- PopulateData.sql
- Download the migration tool from the forum.
- Unzip the file and run MigrationTool.exe.
- Click the "Next >>" button.
- Set the SQL connection strings for both databases and set the items that you wish to import.
- Click the "Start Migration >>" button to perform the migration.
- Create a fresh installation of BV Commerce 2013 but set the connection string to your newly migrated database. When the 2013 website runs for the first time it will automatically upgrade the database from 5.6 to 2013.