This describes the organization of the Drupal sites DLIT has on our test server.
The test server is libdev (library3.library.cornell.edu) . There are lots of other things on this server besides the Drupal stuff.
Server
- Each site is located under /webvision-dev/apache2/drupals/ in a directory named with the prefix test. (eg. test.mysite.library.cornell.edu)
- A new set of sites is coming with the domain suffix test1.library.cornell.edu (eg. http://preservation.test1.library.cornell.edu/ )
- these have directories in the /webvision-dev/apache2/drupals/ also (eg. preservation.test.library.cornell.edu)
- A new set of sites is coming with the domain suffix test1.library.cornell.edu (eg. http://preservation.test1.library.cornell.edu/ )
- Each site has these subdirectories on the server
- bkp - scripts to backup & restore file system and mysql database for the site, site backups
- build - scripts to check out modules and themes from Subversion Version Control System (SVN) & place them on the site
- conf - virtual host configuration file
- htdocs - web visible site
- logs - large sticks
- Your user account on libdev
- install drush - drupal shell commands
- put the drush directory in ~/bin so you can find ~/bin/drush/drush.php
- be a member of the solaris group diglibdev-role
- install drush - drupal shell commands
Desktop
The developer checks out the site from SVN
svn+ssh://your-netid-here@libdev.library.cornell.edu/webvision-dev/svn/sites
onto his/her desktop machine to find this structure:
- Drupal-Sites - top directory in our SVN repository
- mysite.library.cornell.edu - directory for the site's manifest files
- webvision.manifest - list of themes and modules from the main library website SVN repository
- contrib.manifest - list of auxiliary themes and modules from the main library website SVN repository
- site.manifest - list of themes and modules from the Drupal-Sites/drupal-v6-parts directory in our SVN repository
- drupal-site-scripts - various server side scripts
- bkp - scripts for the site backup and restore process
- build - scripts for the deploy process
- drupal-v6-parts - mostly modules and themes from drupal.org and its contributors
- commonspot_migration - coldfusion and php code for exporting commonspot sites and importing them into Drupal
- libraries - a couple of web based text editors for Drupal
- modules - the latest release version of all the Drupal modules any of our sites use
- custom - modules we have written
- cu_aerialny - reverse geocoding, processes for aerial-ny.library.cornell.edu
- cu_banners - 45 pixel Cornell banners
- cu_eship - tools for eship.library.cornell.edu
- cu_template - blocks for our Cornell theme
- culauth - CUWebAuth interface for Drupal login & account creation
- custom - modules we have written
- themes - skins for Drupal sites
- communications - theme for communications.library.cornell.edu based on cuwebtemplate
- cul - early basic CUL theme
- cul_aerial_ny - theme for aerial-ny.library.cornell.edu based on zen
- cul_cuneiform - theme for cuneiform.library.cornell.edu based on zen
- cuwebtemplate - standard CUL theme
- eship - theme for eship.library.cornell.edu based on cuwebtemplate
- math_library - theme for mathematics.library.cornell.edu based on cuwebtemplate
- physical_sciences_library - theme for psl.library.cornell.edu
- rau - theme for research.library.cornell.edu
- zen - standard starter theme from Drupal.org
- mysite.library.cornell.edu - directory for the site's manifest files
Workflow
Update a site on the test server
- locate the site under /webvision-dev/apache2/drupals/
- in the htdocs directory, run drush cache clear
- in the bkp directory, run the backup script to save a copy of the filesystem and database
- put the Drupal site into 'maintenance mode'
- in the build directory, run the deploy script
- run update.php on the site
- check the site - problems? restore backup
- take the site our of maintenance mode
Add an existing module or theme to a site
- edit the site.manifest file to add new module or theme
- check in modified manifest file
- do 'update a site on the test server' above
Add a new module or theme
- download module/theme from Drupal.org into an empty directory
- unzip/untar
- copy resulting directory into ...\A1Projects\Drupal-Sites\drupal-v6-parts\modules (or ...themes) on your desktop machine
- select directory and SVN Add
- select directory and SVN Commit
- do 'update a site on the test server' above