Magento Upgrade from 1.3.1 to 1.4.1.1

Magento is one of the preferred ecommerce open source platforms we specialise in at Auro Infotech. Recently, Magento announced upgrade to 1.4.1.1 and we also decided to upgrade on of the Magento based sites that we manage.

In version 1.3.1, we faced the following error when we checkout using paypal
“There was an error proccessing your request”

We did many studies to fix this and we finally we decided to upgrade the magento to the latest version as we thought this might fix the issue. Since we developed the skin(theme) for the site, we knew it should be done with great care as we need to merge our custom code with magento code.

As always, before upgrading the live site, we upgraded the testing site with many trial and errors and atlast we did it successfully in testing. We have the steps noted down below which we took while upgrading the production site. Below are the steps which we like to share

1. Backup both files and database in production before starting your upgradation
2. Now, just delete the files alone.
3. Download the latest magento verion from here
4. Restore the files in your desired location. For example., /home/yoursite/public_html/
5. Now, install the magento thru browser http://www.yousitename.com/
6. When installing, when it prompts for database username and password, give the existing database details(which has your data), please don’t create new database.
7. Give all the required details while installation and complete the installation with successful
8. Once, you are done with the installation, you can open admintool without any errors but frontend will show errors.
9. Rename or remove the media folder and copy the media folder from your backup as it contains images of all your products.
10. Error log will be in the following location /home/yoursite/public_html/var/log/system.log
Once you open error log, you can notice following error

2010-09-01T12:28:47+00:00 ERR (3): Strict Notice: Only variables should be passed by reference in /home/yoursite/public_html/lib/Zend/Db/Select.php on line 246

To fix the above error, please open the mentioned file /home/yoursite/public_html/lib/Zend/Db/Select.php on line 246
Comment the following line
$correlationName = current(array_keys($this->_parts[self::FROM]));

Replace it with the following 2 lines

$arrayKeys = array_keys($this->_parts[self::FROM]);
$correlationName = current($arrayKeys);

11. Copy the folders from your files backup of layout and template in app/design/frontend/default/default to /home/yoursite/public_html/app/design/frontend/default/default/

12. Delete the folder “base” in app/design/frontend if you store your theme in default folder.

13. Copy the following folders from skin folder in backup in following location skin/frontend/default/default
to /home/yoursite/public_html/skin/frontend/default/default
css, images and js (if you have)

14. Open the following file app/design/frontend/default/default/layout/page.xml
find the following line

and replace it with

15. Now, if you browse the site, you can see the following error in /home/yoursite/public_html/var/log/system.log
2010-09-01T13:13:08+00:00 ERR (3): Warning: Invalid argument supplied for foreach() in /home/weavezc/public_html/app/design/frontend/ default/default/template/catalog/product/list/toolbar.phtml on line 51

/public_html/app/code/core/Mage/ Catalog/Block/Product/List/Toolbar.php

To fix this,
find
class Mage_Catalog_Block_Product_List_Toolbar extends Mage_Core_Block_Template
replace it with
class Mage_Catalog_Block_Product_List_Toolbar extends Mage_Page_Block_Html_Pager

That’s all.. we did and we the magento site with our themes is working good without any issues. You can check it out here: Weavez Website Using Magento

Please comment here if you need to tell us something..