FileNewTemplate

advertisement
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
Schedule
upgrade for
production
Exploratory
run
Research /
troubleshoot /
adjustments
Practice run
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 http://denver2012.drupal.org/program/sessio
ns/delivering-drupal
• Drupal Contributed Themes http://drupal.org/project/themes
• Drupal API - http://api.drupal.org/api/drupal
• Drupal & GIT - http://drupal.org/node/803746
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 Events@Duke
– Maps information coming out of Events@Duke to
fields with no extra set-up
• Next step: additional information formats
– Scholars@Duke
– 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
oit-dws@duke.edu
The person next to you
Future gatherings, email list, etc?
Download