Updating Magento Enterprise Edition (EE) to the latest version provides protection against security vulnerabilities, bug fixes, and implementing new features. It is quite a complex task to upgrade the Magento EE edition. With each website having its own set of plugins and extensions, creating a seamless upgrade is a challenge.
Key points to consider during an upgrade
- If we are endeavoring to update from a genuinely old type of Enterprise Edition or underneath to latest edition of Magento Enterprise 1.13 or 1.14, we are going to run into a huge amount of issues. Magento has added quite a few features over the past few years and significant changes to the core.
- Rearranging a rundown of the extensions that are present in our current installation and ascertain they are manually integrated in after the upgrade. A mundane mistake most rookie Magento Developers do is, they write all their custom code directly in the files located in the core folder. While upgrading or migrating Magento supersedes the files in the core folder, consequently overwriting all the custom code that has been composed.
- There is a decent measure of contrast in the Database schema/pattern between the different versions in Magento. While the vast majority of the core tables are basic, the Enterprise Edition to be upgraded to has several extra tables that need to be available to work.
- The themes are very contrary between the two versions and we will have a lot of re-work while upgrading the themes to the Enterprise Edition.
- Magento upgrade needs lots of concentration, testing and deep knowledge of mage libraries.
PREVALENT ISSUES AND CONSTRAINTS
- While upgrading Magento version, we need to update it through one version at a time, or else it might create lots of issues and the upgrade may not work properly. Try upgrading to one version at a time and do not jump to the final version.
- While upgrading, make sure the tab running the Magento upgrade (in browser) is not reloaded or closed. In case the tab is reloaded or closed, upgrade will start over again.
- After upgrading, there may be a possibility that indexing has not taken place. In such cases, just make sure all the indexes are moved to pending state, clear the price indexing table and rerun the indexing.
- After the upgrade, it is possible that some of the custom modules may not work, and it needs to be fixed manually as Magento upgrade doesn’t provide fixes for those.
- If any 3rd party extension component has performed major changes in code to improve its functionality, then it can be a big issue during upgrade process.
- Another issue during Magento Upgrade is the changes in the custom template. For example, if we are upgrading a Magento Ecommerce store from 188.8.131.52 to 1.4.2, then any custom template prior to 1.4 requires several changes.
- Sometimes Magento upgrade process may include issues regarding old shipping and payment methods. PayPal and other Payment standards should be changed according to conditions.
- When upgrading Magento to latest version, custom themes can face a few errors in the check out page. This may not occur if we use a default theme
MAGENTO UPGRADE APPROACH
During a Magento upgrade, it’s highly recommended to follow a standard approach.
- Downloading Magento database and sources to development server.
- Running a thorough audit of Magento code and modules, finding bugs and compatibility issues.
- Upgrading Magento store and fixing all the issues, including layout bugs, problem with third party extension, etc. During this stage you will be able to monitor the results on the developer’s server.
- Data synchronization – during this stage we synchronize all the data so that you could get the latest platform version with all your orders, customers, and products.
- Site publication.
STEPS FOR MAGENTO UPGRADES
There are several ways for performing a Magento upgrade.
- Upgrading via database with simple Magento installation
- Upgrading via SSH.
- Upgrading via Magento Connect.
Because of changes to URL rewrites, Upgrading from EE 1.12 or earlier to EE 184.108.40.206 are more complex than other upgrades.
HIGH LEVEL ROADMAP TO UPGRADE EE 1.14 FROM EE 1.12
1. Install Magento in a different directory:
a) Recommended. Set up a identical replica of an existing system to carry out the upgrades.
b) Install Magento in a new, empty root installation directory on the same server.
Important: Do not upgrade Magento in the same directory on the same server because post-upgrade errors are likely to occur.
If Magento EE 1.12 is installed in the Development/test environment (as a replica of production server Magento version) then step (h) in Point 3 should be done manually for upgrade.
If Magento EE 1.14 is installed in the Development/test environment upgrades script will run automatically when the base URL is clicked/opened in the browser
2. In current production environment:
a) Take the backup of Magento database.
b) Archive the file system. This includes the media directory and subdirectories; all extensions and customizations; and all custom themes.
3. In the development or test environment :
a) Create a new, empty database instance.
b) Import the production database tables into the development database instance
c) Copy production media directory, extensions, themes, and other customizations to the development system.
d) Copy local.xml to [Magento install dir]/app/etc and edit it if necessary to reference the production database instance
e) Stop all cron jobs.
f) In a web browser, go to your new base URL
g) Wait for upgrade scripts to run.
h) OPTIONAL STEP: THIS STEP IS REQUIRED ONLY IF MAGENTO 1.12 IS INSTALLED IN DEVELOPMENT/TEST ENVIRONMENT
Upgrade using SSH command
Please follow the instructions provided in link for upgrading via SSH command http://www.magentocommerce.com/wiki/groups/227/upgrading_magento_via_ssh
UPGRADE USING MAGENTO CONNECT
- Before starting the upgrade log in the admin panel of Magento, go to System menu>Cache Management and flush the cache. Then disable the cache. To do this, mark the checkboxes for all the cache types, select Disable from the Actions menu in the upper right corner of the table and click on the Submit button.
- Enable the cache again after the upgrade is complete.
- In case the built-in compiler is enabled, it’s a good idea to disable that as well. You can do this from System menu>Tools>Compilation.
- Access the Connect Manager. To do this, in the admin panel go to System menu>Magento Connect>Magento Connect Manager: On the page that opens, type your admin username and password to access the Connect Manager.
- Inside the Connect Manager, make sure that the checkbox for Put store on the maintenance mode while installing/upgrading (at the top of the page) is marked, and then mark the checkbox and Clear all sessions after successful install or upgrade:
- Next, click on the Check for Upgrades button. The list with the extensions will be updated and those which have a newer version will be colored in yellow. In that list find Mage_All_Latest and from its drop-down menu select the newest stable package (EE 1.14) Then click on the Commit Changes button at the bottom of the page:
Note that if for some reason the core modules including Mage_All_Latest do not appear after clicked on the Check for Upgrades button, then paste the extension key http://connect20.magentocommerce.com/community/Mage_All_Latest in the extension key text field that’s on the same page and click on the Install button (also can use the shorter version of the extension key: community/Mage_All_Latest). When we do that, the new versions of the core modules will be listed; just click on the Proceed button that’s under the list. Example screenshot given below
- After the upgrade starts, the command-line window will appear. In that window, we can see the operations that are performed during the upgrade:
- Wait several minutes until the upgrade is complete. When this happens, a Refresh button will appear under the command-line window. Then click on it:
- Click on the Refresh button, it’s possible that we may get an Internal Server Error. There is nothing to worry since during the Magento upgrades, some of our file permissions can get messed up. The correct permissions for files are 644 or 664 and for folders 775 or 755. After an upgrade, many of the files might have permissions of 666 and the permissions of folders may be changed to 777. What we need to do is to change the permissions to the correct ones.
- After the upgrade process is finished:
- Delete a file labeled maintenance.flag from the root Magento directory on your hosting account.
- Log in to the admin panel and re-index the data from System menu>Index Management.
- We should re-enable the cache from System menu>Cache Management. In case you use the compiler, you can enable that as well from System>Tools>Compilation
STEPS TO FOLLOW AFTER A SUCCESSFUL UPGRADE
- Set all indexers to update when scheduled (System > Configuration > ADVANCED >Index Management, Update when scheduled.
- Run the URL redirect script to create 301 redirects:
- [Magento install dir]/php -f shell/url_migration_to_1_13.php – thread-count
- thread-count is the number of CPU cores in Magento server, minus 1, to a maximum of 15
- Run a full reindex from the command line:
- [Magento install dir]/php -f shell/indexer.php — –reindexall
- Clear the following directories from the command line:
- [Magento install dir]/var/cache /var/full_page_cache /var/locks
- Enable cron and make sure the Magento cron job is set up.
- Verify the upgraded system is now identical to the production system. If they are not, then fix issues, retest, and upgrade again.
- Test the upgrade thoroughly, including:
- Extensions, themes, and customizations.
- Place orders using all web stores and all payment methods.
After Magento upgrade is successful, we should check out whether the following features are updated-
- Magento theme update to make the website look effective and professional.
- Magento debugging updates to ensure database security for online shop.
- Magento template upgrade for better promotion of online business.
- Magento website upgrade to benefit from the latest features and functions of the new version.
- Magento 3rd party extension upgrades to deliver best upgrade services without losing vital information and data.
Upgrading from Magento EE 1.12 to 1.14 provides a lot of features that includes Visual Merchandising, Responsive themes, Payment options, Search indexing, International pricing and lots more. But with each retailer optimizing their store according their business, every Magento upgrade has its own share of interesting challenges.