 | Joomla Upgrade from Version 2.0/2.0.1 to 2.0.2 This page provides instructions for Upgrading CiviCRM installations on Joomla from version 2.0.0 OR 2.0.1 to 2.0.2. If you are installing from scratch - instructions are here. If you are currently running 1.9 - use these 2.0 upgrade instructions. |
 | Upgrade a Copy of Your Site First and Make a Complete Backup We strongly recommend that you create a copy of your existing site (directories and database) - and upgrade that copy first in order to make sure you can complete the upgrade successfully. In any case, you should create a full backup of the installed civicrm directory tree and civicrm database before beginning the upgrade process. |
1. Download the v2.0.2 CiviCRM Package
2. Take the Site Offline (for production site upgrades)
When upgrading a production site, it is recommended that you take your site offline during the upgrade process.
Joomla 1.0.x/1.5.x: Site » Global Configuration » Site Offline » Yes
3. Upgrade Options
There are two ways you may upgrade the files in Joomla. No database schema (structural) changes are required for the upgrade from 2.0.0/2.0.1 to 2.0.2.
Option 1: Use Joomla Component/Extension Installer
- Uninstall CiviCRM using the component/extension uninstaller in Joomla.
- Upload the 2.0.2 installation package to your server, place it in a temporary directory within your home directory, (we'll call it TEMPEXT) and unzip it. You should now have a com_civicrm directory in your TEMPEXT directory with lots of sub-directories and files below it.
- Edit the file TEMPEXT/com_civicrm/configure.php and make the following change on line 10.
 | Data Loss Warning Updating configure.php as shown below is critical. Make sure you find the right file and save the change. Otherwise, your existing CiviCRM data will be over-written. |
$civicrmUpgrade = false;
$civicrmUpgrade = true;
- Install CiviCRM 2.0.2 using the Install from Directory option in the Joomla Component/Extension installer. The directory location must be your absolute location on your server. It may look something like this: /home/USER/public_html/TEMPEXT/com_civicrm/ (the exact directory structure is unique to your hosting server).
- You should receive a confirmation message indicating CiviCRM was installed correctly.
Option 2: Overwrite Existing Codebase
 | Experimental These instructions are new and not tested in all cases. Please ensure you have backups of your code and database in case things go wrong. |
Because the upgrade from 2.0.0/2.0.1 to 2.0.2 does not involve any changes to the CiviCRM database schema and does not make any changes to the core Joomla tables, the upgrade can be accomplished by overwriting your existing CiviCRM files with the new version. For some users this may be a less intrusive method of upgrading. In particular, it avoids having to recreate menu links to Profiles/Events/Contribution Forms/Dashboard, etc., as the component ID in Joomla is not altered by the uninstall/reinstall process.
However, the process involves overwriting files and must be handled with care. The first step is to rebuild the installation package to mimic the Joomla file structure.
- Unpackage the installation package on your local computer.
- Open the unpacked folder. You will see 8 files and a folder entitled "civicrm." Within this folder on your computer you must recreate the Joomla folder structure and place the files as follows:
- components/com_civicrm/ »
- civicrm.html.php
- civicrm.php
- administrator/components/com_civicrm/ »
- All remaining files and the "civicrm" folder
- Important: Within the new structure, delete the following file: administrator/components/com_civicrm/civicrm/civicrm.config.php
- Returning to the root folder in which you originally unpacked the CiviCRM files, you should now have just two folders: administrator and components. Select these two folders and zip/tar/compress them.
This compressed file now contains all of the CiviCRM files, reorganized to replicate the location of existing version files in your Joomla installation.
- Upload this compressed file to your root Joomla directory on your server.
- Unzip/unpackage it, using the overwrite option. This should replace all existing CiviCRM files in their respective locations with the new version files.
 | Can't Overwrite when Unpackaging? Some web-based file management utilities do not allow you to overwrite files when unpackaging them (most notably, cPanel v11). To overcome this, use a simple script that allows unzipping and overwriting. A copy of the script is attached to this page. Simply upload it to the folder containing your .zip file and navigate to the script in your web browser. You will be prompted to select from available .zip files in that location and then run the script to unzip/overwrite existing files (script source). Be careful -- there's no turning back! |
4. Run the "Fix Addresses" Script
This script ensures that each contact in your database has only one primary email address and one primary phone number.
- Login to Joomla with administrator-level permission.
- Point your web browser to the following URL - *replacing <username> with your Drupal Username, and <password> with your Drupal password:
http://<your_joomla_home>/administrator/components/com_civicrm/civicrm/bin/FixAddressForTwoZero.php?reset=1&name=<username>&pass=<password>
- You should see Starting process message, and then Done. If any contacts in your database needed fixing, you will also see a count of fixed records.
Because of how Joomla controls session handling, you may receive a series of errors after running this script. You may overcome this by removing the authentication requirement for the script and disabling the session handling. ONLY follow these steps if you have difficulty running the fix address script above.
- Open the file /administrator/components/com_civicrm/civicrm/bin/FixAddressForTwoZero.php in text editing software.
- Comment out line 37 (add "//" to the beginning of the line).
- In line 46, change "true" to "false"
- Rerun the fix address script:
http://<your_joomla_home>/administrator/components/com_civicrm/civicrm/bin/FixAddressForTwoZero.php?reset=1&name=<username>&pass=<password>
5. Reset Your User Session and Cleanup Template Cache
- Temporarily enable CiviCRM debug features:
- Go to Administer CiviCRM » Global Settings » Debugging
- Set Enable Debugging to Yes and click Save.
- Click the Administer CiviCRM menu (or any other CiviCRM menu item). After the page is loaded, add two additional query string values (&sessionReset=2&directoryCleanup=1) to the URL in your browser's location bar, and reload the page. (You may see a large number of missing file warning messages on your screen - depending on how your Error Reporting option is configured. These are expected and will disappear on the next page request.)
- Now reset Enable Debugging to No and click Save.
 | Do Not Leave Debug Features Enabled for a Public Site Debugging should be disabled for publicly available sites as it may allow browsers to view system configuration information. |
- You should be up and running with the latest CiviCRM version. Confirm by checking the footer at each page.
- Recreate any Joomla menu links to Profiles, Contribution Pages or Events. If you followed the second upgrade process option, you should not need to do this. However, please take a moment to confirm your frontend pages are functioning as expected.
- Delete the files in
JOOMLA_ROOT/media/civicrm/templates_c
and
JOOMLA_ROOT/media/civicrm/upload
6. Put the Site Online (for production site upgrades)
- Put your site back online:
Joomla 1.0.x/1.5.x: Site » Global Configuration » Site Offline » No
- Review your upgraded site and verify that your data is intact.