Drupal. @uchicago,.edu What we're doing with Drupal at UChicago and how it can help you.
Michael Girgis Senior Interaction Designer IT Services
Sites.uchicago.edu Sites, sites everywhere.
Problems: Everybody wants a website and they want it now. Nobody has enough money. Sometimes saying "no" is not good enough. We need to figure out a way to provide options. A FREE option, ideally. We had an existing "template" solution, but it was not scalable and it was expensive. Support capacity is limited.
How about Drupal? Going with Drupal was a no-brainer. Possible Drupal-based solutions: Domain Access OpenScholar Organic Groups
Our Solution - Templatron: Simple, multisite installation of a single Drupal 7 core Minimal custom code/modules Just enough contrib modules (~40) Each site is a clone of a "base" site, and shares common functionality All themes and modules are shared in /sites/all/modules After 1.5 years, nearly 150 live sites. Requests for 4-5 new sites each week.
What Makes it Work? #1 - Features Content types Views Strongarm variables Other configuration (WYSIWYG, text formats, permissions) Features are shared by all in /sites/all/modules
What Makes it Work? #2 - Drush Applying core/module updates Rolling out new features Updating existing features General maintenance #3 - Simplicity and Consistency Simple roles, no workflow, only basic functionality It just works and support requests are minimal Site-to-site customization is discouraged
Ongoing Challenges With 250+ sites, maintenance tasks take time Single point of failure for a growing number of sites Be careful with Features Key Modules: features, ldap, role_delegation, role_export, strongarm
Avi Schwab Web Project Manager College IT
mobro.co/avischwab
Authentication "My voice is my passport." If only...
Problem: We have thousands of users with existing credentials that want to authenticate to our sites. also...
WAT?
Solution Solve for WAT. Talk to your IDM folks. then: LDAP SSO (via Shibboleth) Groups (via Grouper)
LDAP D7: http://drupal.org/project/ldap D6: http://drupal.org/project/ldap_integration
LDAP FIND THIS
Once you're set up: Any user that can authenticate can now get "Authenticated User". Plan accordingly. Take advantage of those attributes to assign roles, OG groups, or profile fields. Do a test bind to see what you can see at admin/config/people/ldap/servers/test
Demo Testing LDAP Config More info LDAP for D7 documentation: http://drupal. org/node/997082
Shibboleth Allows single-sign-on across multiple sites (Drupal or not) Passes attributes via SSL directly into PHP variables for even more fun times Allows federating between SSO accounts and existing Drupal accounts
Shibboleth The negatives: It's hard. You need server admins who are pro. The positives: It's great for users More secure than LDAP Attributes as PHP environment variables
Grouper - http://www.internet2.edu/grouper/ grouper:user groups::drupal:content It takes some setup, but once there can provide serious extra-drupal powers. Syncs with LDAP for all of your Drupalconsuming needs
Use case Custom PHP Site Grouper/LDAP Drupal Site External group writes custom php student job application site When students are hired, app writes IDs to Grouper groups based on job assignments Drupal picks up job assignments and serves custom, access controlled content to each role.
Demo Grouper UI Oaides group rules
Peter Thorson Associate Dir., Admin & Academic Computing Humanities Division
Case Study: Humanities
Site Portfolio Divisional homepage Degree granting departments and their affiliates Research Projects Misc Registration/Info for events Web magazine Searchable databases Faculty profiles/blogs Small conference/workshops
Multisite Drupal Power & Flexibility Network WordPress UChicago Sites Static HTML In-house PHP $ 5 minutes $$$ Months/Years
Requirements 30-60 substantial sites Single platform for informational & research Editable by content owners Feeds from other sites & databases Advanced/faceted search Secure user input (conference registration, surveys, etc) High availability and fast Open source
Solution: Multisite Drupal Basics are reliable and flexible Views + fields + entities are powerful Solr powered Edu authentication Load-balanceable, proxy-able, cache-able Community
How it works Separate dev/stage machine 2 Drupal 7 cores (dev, prod), 1 legacy D6 core LDAP authentication + Grouper groups Liberal use of contrib modules Custom modules + Feeds to talk to external sites & databases All the sites are different
Managable Multisite Maintenance Drush Own the sites External authentication/groups Everything up to date, always Avoid complexity that prevents updates Work with the community, do it the Drupal way Automated Monitoring Drush
Keeping things fast and available Standard HA web setup Nginx for load balancing & SSL/TLS Apache+Solr backend Everything is redundant for zero downtime failures and maintenance Drupal performance settings APC Memcache Varnish Devel + xdebug (or xhprof)
Demo
We are... Avi Schwab College IT ajschwab@uchicago.edu Michael Girgis IT Services michaelg@uchicago.edu Peter Thorson Humanities zaphoyd@uchicago.edu ajschwab froboy knaffles zaphoyd