CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Upgrading CiviCRM (Moderator: Deepak Srivastava) »
  • Moving from Joomla 1.5 to 2.5 & CiviCRM 3.3 to 4.2 - step-by-step guide
Pages: [1]

Author Topic: Moving from Joomla 1.5 to 2.5 & CiviCRM 3.3 to 4.2 - step-by-step guide  (Read 2112 times)

nicol

  • I post occasionally
  • **
  • Posts: 95
  • Karma: 5
  • CiviCRM version: 4.2, 4.3, 4.4
  • CMS version: Joomla 2.5.x, Joomla 3.x Wordpress 3.x, Drupal 7.x
  • MySQL version: 5.x
  • PHP version: 5.3 / 5.4
Moving from Joomla 1.5 to 2.5 & CiviCRM 3.3 to 4.2 - step-by-step guide
September 27, 2012, 06:41:47 pm
Hello,

As support for Joomla 1.5.x is about to end, I finally made the upgrade for a site from an install with Civi 3.3.5 to the latest versions of both. I've seen a few people asking about step-by-step guides here, and as it was a little bit of a challenge I thought I'd write up my experience in case it's of use. This isn't a comprehensive guide and assumes that you are ok with using PHPMyAdmin.

- I'd recommend using Akeeba backup (https://www.akeebabackup.com ) throughout the process - not only can you create regular snapshots of where you've got to at any point, if you have the pro version on 2.5 it adds an auto backup to the installer so any errors when you install a new component or change the database can be quickly rolled back. It also makes it easier to move a site and datbase between domains.

Migrating Joomla

- To start with I upgraded Joomla from 1.5.26 to 2.5.6 site using JUpgrade ( http://redcomponent.com/jupgrade ). There's a bunch of different upgrade scripts but this worked well for me as it created a new directory (/jupgrade) with a full new Joomla site. It's technially more of a migration into a completely new website. With JUpgrade you can get it to change the table prefix to something different so you can differentiate the new tables from your database. JUPgrade updates the content, categories and Joomla users but not external components, and not the templates.

- I copied this new site to a new dev domain and database. I then built a new template and got the new site looking how I wanted with new components and so on (ignoring Civi for now). I used YooTheme's free responsive Yoo-master as a basis ( http://www.yootheme.com/component/blog/2012/02/13/master-theme ).

Upgrading Civi

In short, the upgrade process for Civi requires upgrading the J1.5.x site's Civi to the last version created for that platform (Civi 3.4.8), copying all the updated tables across to the new database and then installing Civi 4.0.8 on the new site, which should recognise the 3.4.8 tables and update them. I made a mistake in this process of installing Civi 4.0.0 on the new site (which worked) and then trying to upgrade to 4.0.x (which didn't work). To describe this in more detail:

- When I took big jumps in Civi version numbers I tended to get errors, so I took the upgrade step by step.  Firstly from 3.3.5 to 3.3.8. Then to 3.4.0 and then 3.4.8. Each time required the same process of uninstalling Civi, installing the new version, running the upgrade script (as described here - http://wiki.civicrm.org/confluence/display/CRMDOC40/Joomla+Installation+Guide+for+CiviCRM+3.4 ) and taking regular backups.

- Once I was at 3.4.8 I needed to copy the Civi tables across to the new database. Exporting the tables was easy enough from PHPMyAdmin (export - select the tables, save as zip/gz) but when I came to import them to the new database I would get a timeout, presumable because I'm on shared hosting and there were tens of thousands of records.

- I've no experience of using MySQL thru the command line and spent a while trying to find workarounds, but it was quite straight forward (provided you have SSH access to the site). Firstly I saved the sql zip (or tar or whatever) to the tmp folder of the new site. Then logged into the site (ssh username@sitename) and navigated to the same directory as the database zip and unzipped it (unzip nameoftables.sql.zip). and ran:

Code: [Select]
mysql -u username -ppassword -h databasehost databasename < nameoftables.sql

(where username and password are the database username and password, databasehost is the hostname ie localhost or db.site.org, databasename is the db you are importing into and nameoftables is your file - there's also no space before password)

- It hung for what felt like forever but eventually installed all the Civi tables.

- Then on the new Joomla site I installed Civi4.0.8. To speed things up a bit I used the 'Install from URL' and copied in the URL of the Civi file from Sourceforge which you can work out from looking at the sourceforge url and taking off a bit at the end (ie for the alt version of the Joomla install it was http://downloads.sourceforge.net/project/civicrm/civicrm-stable/4.0.8/civicrm-4.0.8-joomla-alt.zip ). Civi sees the old tables and invites you to upgrade, which ran smoothely. After checking it was all fine, I moved onto 4.1.0.

- Finally I went to 4.1.5, then 4.2.0 and 4.2.1 (with backups in between) - without the need to uninstall the previous version first that was there with Joomla 1.5. I did get an error message when running the upgrade script for 4.2.0 saying that my tables had some errors and needed to be corrected. The script then hung at the beginning at the point it was upgrading to alpha1. I did something I wouldn't recommend - I refreshed the page, and happily the upgrade continued with no further errors and a success screen. Then it was just a case of checking the data and Civi, rebuilding the menus and setting up the new Cron process

- An important thing to note -  if you use the excellent CiviAuthentication plugin for Joomla (which assigns roles to people based on member status, and handles logins/renewals for people with expired memberships - http://wiki.civicrm.org/confluence/display/CRMDOC42/Joomla+CiviCRM+Membership+Authentication+and+ACL+Plugin ) it has not been updated (at time of writing) to work with Civi 4.2.x - so stay at 4.1.6 if you use this.

To finish off - weeks had past since the first JUpgrade so some of the content and users was out of date (but the Civi data was OK). I ran another JUpgrade on the live old site and then copied the new tables across to the new site (making sure to set the table prefix in JUpgrade's options to the same as the new site) and finally switched the sites over (which required changing the civicrm settings files, and deleting the templates_c folder as described here - http://wiki.civicrm.org/confluence/display/CRMDOC40/Moving+an+Existing+Installation+to+a+New+Server+or+Location )

In reality there were lots of mistakes I made along the way - the process above is the things I did that worked and the process I would follow if doing it again. There may be more elegant ways to do it all and doubtless some of the upgrades along the way aren't needed - but after having to revert the site so many times I ended up taking it slow.

cheers
Nic
« Last Edit: October 09, 2012, 06:10:10 am by nicol »

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Upgrading CiviCRM (Moderator: Deepak Srivastava) »
  • Moving from Joomla 1.5 to 2.5 & CiviCRM 3.3 to 4.2 - step-by-step guide

This forum was archived on 2017-11-26.