Provision CiviCRM

provision_civicrm helps manage the CiviCRM configurations (installation, upgrade) for Drupal sites managed with Aegir.

Requirements

  • drush_make. Version >= 2.3 is required if you want to download l10n files. ** c.f. #1134326: Allow a DrushMakeProject to be installed in a non empty directory.

  • provision. Version >= 1.3 is required if you have multi-lingual CiviCRM (which requires triggers/views). ** See: #881496: Problem migrating sites with mysql views ** and #1274896: migrate fails if l10n or logging is enabled.

Installation

Download the provision_civicrm module, either:

drush dl provision_civicrm-6.x

or

git clone git://git.drupal.org/project/provision_civicrm

You should install it in ~/.drush/provision_civicrm. The git master branch is usually stable.

Creating a CiviCRM platform

provision_civicrm assumes that if you have a CiviCRM installation in your sites/all/modules/civicrm, then this is a CiviCRM platform and CiviCRM should be installed automatically.

(A cleaner way, in theory, would be to have an install profile and let the user configure it through the front-end, patches welcome! -- however, you do not want any site to simply enable CiviCRM from the Drupal admin/build/modules, so having dedicated platforms for CiviCRM makes sense in any case.)

Here is an example drush_make makefile:

; Drush_make API version
api = "2"

; Drupal core
core = "6.x"
projects[drupal][version] = "6.22"

; CiviCRM core
libraries[civicrm][destination] = "module"
libraries[civicrm][directory_name] = "civicrm"
libraries[civicrm][download][type] = "get"
libraries[civicrm][download][url] = "http://downloads.sourceforge.net/project/civicrm/civicrm-stable/3.4.4/civicrm-3.4.4-drupal.tar.gz"

; CiviCRM localization files (optional)
libraries[civicrm_l10n][destination] = "module"
libraries[civicrm_l10n][directory_name] = "civicrm"
libraries[civicrm_l10n][download][type] = "get"
libraries[civicrm_l10n][download][url] = "http://downloads.sourceforge.net/project/civicrm/civicrm-stable/3.4.4/civicrm-3.4.4-l10n.tar.gz"
libraries[civicrm_l10n][overwrite] = TRUE

; A nice (optional) admin theme for CiviCRM
projects[simplycivi][download][type] = "git"
projects[simplycivi][download][url] = "https://github.com/kylejaster/SimplyCivi.git"
projects[simplycivi][type] = "theme"

; Required for the simplycivi theme
projects[civicrm_theme][subdir] = "contrib"
projects[civicrm_theme][version] = "1.4"

projects[admin_menu][subdir] = "contrib"
projects[admin_menu][version] = "1.8"

Assuming you are running as the user 'aegir', whose $HOME is /var/aegir/:

  • Save this in a file such as ~/makefiles/drupal-6.22-civicrm-3.3.4.make

  • Then create the new platform:

    mkdir ~/platforms/drupal-6.22-civicrm-3.3.4 cd ~/platforms/drupal-6.22-civicrm-3.3.4 drush make ~/makefiles/drupal-6.22-civicrm-3.3.4.make

You can now add your platform in the Aegir front-end and then create new sites.