Phase2 Large Drupal Multisites (gta case study)
description
Transcript of Phase2 Large Drupal Multisites (gta case study)
THE LEADER IN DRUPAL PLATFORM DESIGN AND DEVELOPMENT
Building Large Multi-Site Drupal Platforms
A Case Study on Georgia.gov
Robert Bates Senior Developer
What is a Drupal platform?
WHAT IS A DRUPAL PLATFORM?
Platform technology is a term for technology that enables the creation of products and processes that support present or future development. It can be defined as a structural or technological form from which various products can emerge without the expense of a new process/technology introduction.
http://en.wikipedia.org/wiki/Platform_technology
WHAT IS A DRUPAL PLATFORM?
open
WHAT IS A DRUPAL PLATFORM?
WHAT IS A DRUPAL PLATFORM?
Benefits of starting with a platform • Removes typical overhead
• Finding/installing modules • Permissions • Roles
• Provides bundled functionality • Features! • Common Views • Default Contexts
• Common CMS workflows
WHAT IS A DRUPAL PLATFORM?
Things to keep in mind • One size doesn’t fit all • Usually have to customize some behaviors • Not all bundled features might apply • Custom UX
What is Drupal multi-site?
WHAT IS DRUPAL MULTI-SITE?
Multi-site allows you to share a single Drupal installation (including core code, contributed modules, and themes) among several sites. This is particularly useful for managing the code since each upgrade only needs to be done once. Each site will have its own database and its own configuration settings, so each site will have its own content, settings, enabled modules, and enabled theme.
http://drupal.org/documentation/install/multi-site
WHAT IS DRUPAL MULTI-SITE?
WHAT IS DRUPAL MULTI-SITE?
Benefits of Drupal multi-site • One codebase
• Easy to update contrib and platform code • Easy to roll out security patches quickly • Common code == common behavior • “Single” cloud deployment, easier to scale
• Support • Common set of features/functionality • Consistent admin experience • Simplifies training for content managers
WHAT IS DRUPAL MULTI-SITE?
Things to keep in mind • One codebase
• More difficult to add new modules/themes per site • Greater care required in QA for new code • Dev vs production environment differences • Virtual host management
• Support • Changes affect all sites • Managing site owners’ expectations
Putting it all together on Georgia.gov!
PUTTING IT ALL TOGETHER!
Multisite configuration
sites/sites.php Mapping dev, staging hostnames to sites folders, other custom domain-folder mapping
sites/all Common modules, libraries for all sites sites/default Custom PHP-based routing alternative to Apache
htaccess + mod_rewrite sites/xyz.com Individual site configurations (settings.php)
PUTTING IT ALL TOGETHER!
PUTTING IT ALL TOGETHER!
• Built on latest Drupal 7 release • 48 contributed modules • 8 custom modules • 24 Features • 6 themes (mixture of contrib, base, and derived)
PUTTING IT ALL TOGETHER!
Georgia Agency Platform • Inherits from OpenPublic
• Modules • Features • Settings
• 60 contributed modules • 17 custom modules • 37 Features • 10 themes (1 base, 9 derived)
PUTTING IT ALL TOGETHER!
Georgia.gov Platform • Inherits from Georgia Agency Platform
• Modules • Features • Settings
• 9 custom modules • 12 Features • 2 themes (1 base, 1 derived)
PUTTING IT ALL TOGETHER!
PUTTING IT ALL TOGETHER!
Q & A Robert Bates
[email protected] @arpieb