Tags: Drupal Legacy
Drupal is required as a base system for CiviCRM.
In addition, to fully support the GENVASC Study workflows, two functions are performed by custom-built Drupal modules.
genvasc_labels generates a random GENVASC ID, stores it to prevent re-use and prints ID labels for use on GENVASC recruitment paperwork. A variant which only generates ID numbers and does not print barcode labels is deployed to support the DHF Study.
ice_messaging is a visualisation wrapper for the database created to receive HL7 messaging from the Sunquest ICE system to alert the LCBRU about the arrival of GENVASC specimen at the pathology department.
Additional drupal modules are being created to support other studies, as required.
Currently uhlbriccsapp04.xuhl-tr.nhs.uk is a drupal/CiviCRM test installation and uhlbriccsapp05.xuhl-tr.nhs.uk is a drupal/CiviCRM live installation.
On the University network, http://scad.lcbru.le.ac.uk/ is a drupal-based site for informing the public of research into Spontaneous Coronary Artery Dissection, and for inviting those interested to sign up to assist with research.
Drupal version 7.15 deployed on 17 Sept 2012 Drupal version 7.20 upgraded March 2013 - dev system on 25th March, live system on 28th March Drupal version 7.23 upgraded September 2013 - dev system on 23rd September Drupal version 7.32 upgraded 30 October 2014 - following #347
Drupal guide to editing modules for drupal 7: https://drupal.org/node/1074360
Drupal cron for CiviCRM
We use drupal's cron function, drupal hooks and civicrm hooks and code in specific modules to perform various automated tasks. Details are in the Drupal HowTo Write Cron Tasks for CiviCRM page.
Drupal HowTo Configure LDAP - used to create user accounts, and associate the user accounts to the 'LCBRU staff' group.
Enable the Apache 'rewrite' module to allow clean URLs to work. This also involves configuration of the apache site config, as per http://drupal.org/node/15365
The deployment of drupal is made easier using 'drush' a command line utility for updating and install drupal core and modules. To update drush itself, run "sudo drush dl drush --destination='/usr/share/php'" then use 'drush pm-update' from within the drupal directory tree to update core drupal and modules.
Watch out that running drush (specifically running it as sudo?) can cause problems with file ownership changing to user/group id 6226 (so a "chown -R www-data:www-data *" is needed, and watch out for additional files beginning with a dot), and also tends to remove the symlink for dblib in the drupal/includes/database/ directory, which should link to sites/all/modules/dblib_driver_for_sql_server/dblib - this is required for the ICE messaging to work.
Updating the datatables module with drush also deletes the downloaded datatables library, which will need restoring from the backup or downloading anew.