Welcome to Zen Cart™ ...


The Zen Cart™ software is made available to you for use, additions, changes, modifications, etc. without charge, under the GNU General Public License.

While we do not charge for this software, donations are greatly appreciated each time you download a new version, to help cover the expenses of maintenance, upgrades, updates, the free support forum and the continued development of this software for your online e-commerce store.

Donations can be made at: The Zen Cart™ Team Page

We appreciate your support.
The Zen Cart™ Team

Zen Cart™ is derived from: Copyright 2003 osCommerce
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
and is redistributable under the GNU General Public License




3 EASY STEPS TO UPGRADE ZEN CART™

Getting Started ...

This is a basic guide to upgrading Zen Cart™. If you have not yet installed Zen Cart, please see the README1st.html file for installation instructions.

To upgrade Zen Cart™, you'll need the same basic tools you used to install and customize it in the first place: An FTP program, a text editor friendly to HTML/PHP code, phpMyAdmin or equivalent access to your MySQL database, and your Control Panel for managing your webspace.

Additionally, you will find a file-comparison tool like WinMerge to be very helpful.

Upgrading follows 3 easy steps. We suggest you take your time going through each stage carefully and methodically. Don't rush the process. And as always, be sure you keep good backups first.

We highly recommend you pay special attention to getting familiar with the demo data in the new version, so that you can become comfortable with the many new features contained in the new release.

1. Preparation

Unzip a copy of the new version of Zen Cart™, upload it to your webserver into a "demo" folder, and install the new version into a separate database, and include the Demo products. This is just for a place for you to play with the new version and get used to its new features. These can be deleted after conversion is complete.

Study the new features, and the documented changes to the template structures, as well as the "changelog". Use the demo products in the demo shop as examples. See also the supporting documentation provided with the new release.


Make a full backup of your database (dump to SQL file). Store this file on your PC for later reference.

Make a full backup of your site files (ftp to your PC and zip it up for safe-keeping).
Keep the backup on your PC to use in next steps. Perhaps call this folder "\zen_backup".


Now let's find out the differences/customizations details between your site and the original Zen Cart files.

Unzip a copy of the original Zen Cart™ files for the version you originally installed or last upgraded from (ie: perhaps v1.1.3). This should be placed in a separate working folder on your PC (perhaps "\zen_orig").

Make a list of any add-ons you have installed, for later reference.

Run a tool like WinMerge to compare the "Original" Zen Cart™ files in "\zen_orig" against your working backup files in "\zen_backup".
Note all the files that are "different". In WinMerge, double-click on each file and note what the differences are.
If the differences are just language defines for display text, those will be simple to carry forward.
If the differences are actual programming/code differences, you will need to make detailed notes in order to carry over those changes to the new new new version.
Any mods/add-ons you've installed will likely contain many programming changes, and may not be fully compatible with the newer Zen Cart™ release.

Your list of add-on's may help you narrow down the source of any differences you're finding between versions. You may have to download the add-on again to take a look at the readme or code contained in it. You may have to contact the author to ask for an updated version.


As you make your list of changed files, etc, at this stage, you may want to move things into the Zen Cart™ template-override structure, if you haven't already done so. See the Zen Cart™ site for FAQ's on the template system.

2. Execution

Download and unzip the latest Zen Cart™ version to your PC. This will be in a 3rd directory (perhaps "\zen_new"), separate from the other two folders compared above.

Using the list of files you made earlier, go through each "changed" file, and make your changes from the old version into the new version.
Simple language edits will be just a matter of copy-and-paste.
Programming changes to core components will be more difficult and require significant testing.
You may find WinMerge handy at this stage to apply edits as well. However, you will see many extra differences that may not be related to your own customizations, or that may conflict. Be careful making changes to program code.

Note that there will be several changes you will have to make to files that you have overridden using the template overrides system. Thus, you'll want to compare files from /includes/templates/MYTEMPLATE/* to /includes/template/template_default/* ... and the same with language file overrides, sideboxes, etc.

3. Testing

Make a NEW database to install the new version of Zen Cart™ into.

If the last backup you made of your data is older than the last order that might have been processed or customer registration, make a fresh database backup.
Restore your database from the backup in step #1 earlier into your NEW database just created.

If your /zen_new folder doesn't have "/includes/configure.php" and "/admin/includes/configure.php" files, copy them from your old store folder.

EDIT your "/zen_new/includes/configure.php" file and ensure that your DATABASE_NAME matches your NEW database. Also verify database username and password in case that information has changed. Save this file, and be sure to upload it as part of the next step:

Upload the files from your modified "new version" (created in step 2) to your server, into an alternate folder, perhaps called "/store_new".

Run /zc_install/index.php and choose "Upgrade" when prompted. (Don't select "Install", or you will overwrite your database.)

Test your customizations. Edit as needed. Compare with the test/demo install performed earlier, as needed.

When satisfied that all is OK, go live.
If significant time has passed since you did your last backup, you may want to repeat the steps in this "Testing" section again, using a fresh backup from your live shop. You don't need to re-upload files again ... simply do the database restore, and run the installer to do the database upgrade again.

To go live, put your shop into "Down for Maintenance" mode in the admin area. Be sure to add your IP address to the list of allowed addresses to get into the site for previewing.
This can be done easiest by renaming "store_new" to "store". (You'll have to rename "store" to something else first.)
Test it to be sure that things are operating as desired. If you have small problems to repair, turn "Down for maintenance" on and off again as necessary.

Help and Support

For additional help and support issues, check out our FAQ's and visit our Support Forums on the web at: www.zen-cart.com

Good Luck with your upgrade. We're glad you're enjoying the Zen Cart™ Experience!



Upgrade Steps Specific to Zen Cart v1.2

Shipping Modules Updated

Tax support has been heavily improved in the Shipping modules. If you're using the "Flat Rate" Shipping Fee module, after uploading the new files to your site and upgrading your database, you'll need to record all your current settings for that module, then "Remove" it, and re-"Install" it, all in the Admin | Modules | Shipping menu. Once you've re-installed it, you will need to re-enter your customized settings (rate, tax class, etc). You will have a new setting, "Tax Basis", to configure.

"Low Order Fee" improvement

The Low-Order-Fee module now allows you to apply the low-order fee to virtual products and GV's selectively. If you're using the "Low Order Fee" module, after uploading the new files to your site and upgrading your database, you'll need to record all your current settings for that module, then "Remove" it, and re-"Install" it, all in the Admin | Modules | Order Total menu. Once you've re-installed it, you will need to re-enter your customized settings (threshold, fee, etc).

Template Change

The most notable change to the templates system is the splitting of /includes/templates/MYTEMPLATE/common/tpl_box_default.php into two new files: tpl_box_default_left.php and tpl_box_default_right.php (and if you're using single-column mode, it's now tpl_box_default_single.php). This change allows you to have better control over left/right layout components.
A simple way to implement this is to first compare your existing tpl_box_default.php file to the new components in tpl_box_default_left.php, making adjustments to the old file as needed, and then copy the changes to BOTH tpl_box_default_left.php and tpl_box_default_right.php.

Stylesheets

There are numerous new class and ID stylesheet tags.

Reset your Sales and Listings prices

After an Upgrade, the store owner should go to Tools | Store Manager and run the following two options once:
  • Update ALL Products Price Sorter
  • Reset ALL Products Master Categories ID once
After that, these settings are managed properly for you, but a one-time reset is important.
If you don't do this, then it's likely that prices will read $0 in the listings, and categories on sale will not use the right category.

Files To Be Removed

Several files are now obsolete since versions of Zen Cart prior to v1.2.

AFTER UPGRADING, you may wish to delete them from your server, to save space and minimize confusion.

Obsolete Files - can be safely deleted

/readme.txt
/UPGRADE.TXT
/admin/backup.php
/admin/file_manager.php
/admin/products_attributes.php
/admin/includes/database_tables.php
/admin/includes/filenames.php
/admin/includes/languages/english/backup.php
/admin/includes/languages/english/products_attributes.php
/includes/functions/general.php

ADODB - Old database connection files

The entire contents of the /includes/classes/adodb folder and subfolders can be deleted.
The ADODB folder is over 700 KB in size, and its removal will save you server storage space.

Old Tutorial Files

The following are optional. Check their contents to be sure you're not using them first:
/includes/languages/english/classic/index.php
/includes/languages/english/classic/page_2.php
/includes/languages/english/classic/page_3.php
/includes/languages/english/classic/page_4.php

Payment Gateways To Remove

If you're not using the following Payment Gateways, we recommend that you delete these files.
(If you choose to continue to use them, please be sure to verify payments against orders). Better still, check the downloads area of the Zen Cart support site for updated versions which may be available.
/includes/languages/english/modules/payment/ipayment.php
/includes/languages/english/modules/payment/nochex.php
/includes/languages/english/modules/payment/psigate.php
/includes/languages/english/modules/payment/secpay.php
/includes/modules/payment/ipayment.php
/includes/modules/payment/nochex.php
/includes/modules/payment/psigate.php
/includes/modules/payment/secpay.php

Other Changes

For other changes new to Zen Cart v1.2, please see the What's New documentation, and the CHANGELOG file.