Drupal in Use at Duke Duke Web Services Office of Information Technology
duke.edu pratt.duke.edu divinity.duke.edu today.duke.edu medicine.duke.edu nursing.duke.edu studentaffairs.duke.edu law.duke.edu mclibrary.duke.edu chapel.duke.edu
Our use of Drupal Late 2008: our first Drupal 6 site October 2009: duke.edu November 2011: our first Drupal 7 site
Drupal 7 Upgrade Overview Initial assessment Exploratory run Research / troubleshoot / adjustments Practice run Schedule upgrade for production
Drupal Theme Best Practices 1.Always use a child theme (or sub-theme) 2.See #1 3..tpl files are for markup, not logic 1.Make use of pre-process functions 4.Don’t go crazy with contributed modules. 5.Use Drupal’s Methods to add css/javascript to your theme 1.E.G. conditional stylesheets 1.drupal_add_css(path_to_theme(). '/css/ie7.css', array('group' => CSS_THEME, 'browsers' => array('IE' => 'IE 7', '!IE' => FALSE), 'preprocess' => FALSE));
How Easy is creating a child theme?
Copy files to sites/all/themes
Edit the.info file
Ready for Customization
Which Parent theme do I choose?????? What does your site need to do? – Be responsive? – Conform to ‘the grid’? – Change layout/colorization/look-and-feel based on context? – Does it need to be accessible? – Other special aspects?
Some Starter Themes to Consider Omega – We use it. Tons of regions, and fine grained layout control from UI, and uses grid system. It’s very responsive, though it uses a layered-onion approach to responsive styles. Boilerplate – HTML5 output. Fixed layout. Very semantic. Genesis – Very flexible framework. Fixed or fluid layouts. Uses grid system. Fusion – also has many configurations from the UI. Uses grid system Zen – Trusty and widespread. Very good community support. Very handy starter themes.
Other important Theme questions Who is going to work on the theme? – A team? – An individual? – Your nephew? Who will maintain the theme? How will you handle versioning and delivery? – Git? – Svn? – Printed copies?
Resources Delivering Drupal - ns/delivering-drupal ns/delivering-drupal Drupal Contributed Themes Drupal API - Drupal & GIT -
Projects: Installation profile Create common default roles and permissions Configure Shibboleth Install commonly used modules Set recommended site options Optional development set-up
Projects: Duke Events module Provides default content type with fields set up for Duke Events information Provides several default views for events
Projects: Duke Feeds module Preconfigured parsers Currently supports – Maps information coming out of to fields with no extra set-up Next step: additional information formats – – Faculty Database System (FDS)
Project: Google Custom Search module Provides integration of Google Custom Search into Drupal Provides default styles for more detailed customization if needed
Project: Attachments module Straight-forward way to handle attached documents (PDF, Word, etc) Tagging and access control User-friendly Database-friendly
Project: Drupal 7 Upgrade Assistant Generates module/theme status report What do you need to upgrade to latest version of D6? What are you using that has no stable release for D7?
Next Project ?
Resources at Duke training.oit.duke.edu/lynda The person next to you Future gatherings, list, etc?