Upgrading CiviCRM from 3.4 to 4.1

CiviCRM 4.1 has two versions, one for Drupal 6 and one for Drupal 7. There's a constant, CIVICRM_UF, in the civicrm.settings.php file that needs to be Drupal6 for the drupal 6 version, and just Drupal for the d7.

I mostly followed the instructions except that you need to ignore the big red warning at the top that tells you "Please modify civicrm.settings.php" because while you do need to do it, if you do it first you'll get nowhere. It tells you when to do it later on.

Edited sites/default/civicrm.settings.php and changed Drupal6 to just Drupal

Deleted sites/all/modules/civicrm

Downloaded and unpacked CiviCRM 4.1 for Drupal 7 into sites/all/modules

Visited http://example.com/update.php

Comfortingly, this last step brought up Drupal's lovely updates interface with 128 updates required, and sure enough one of them was to do with CiviCRM - great!

This ran through smoothly. Yippee.

Fiddles and the last remaining niggle

A lot gets unbroken by visiting, checking and submitting the forms on these pages:

civicrm/admin/setting/path?reset=1

civicrm/admin/setting/updateConfigBackend?reset=1

And by rm -rf sites/default/files/civicrm/templates_c/*

The last thing I'm stuck with is that Contact pictures are still failing to load - the PHP is calling getimagesize() but using the old URL! I haven't found where this is stored yet (or why it's not updated with the path/updateConfigBackend wizardry). If you know, do leave a comment :-)

Hi! I have used this procedure on a couple of websites now; and I found a few things:

The first site I did it for , I was unable to update to 4.2; but I was able to 4.1 using the directions. However, the second site I did this for, I HAD to upgrade to 4.2.10; (trying to upgrade to 4.1 gave me the 'you have no civicrm_settings table' error).