SlideShare a Scribd company logo
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!
• CommonViews
• 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
rbates@phase2technology.com
@arpieb

More Related Content

What's hot

globus.pptx
globus.pptxglobus.pptx
globus.pptx
Sam Van Loon
 
5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018
5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 20185 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018
5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018
Matthew Groves
 
Koha System Architecture
Koha System ArchitectureKoha System Architecture
Koha System Architecture
Andreas Hedström Mace
 
Introduction to Total Library Solution- TLS
Introduction to Total Library Solution- TLSIntroduction to Total Library Solution- TLS
Introduction to Total Library Solution- TLS
Ata Rehman
 
Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)Joachim Neubert
 
Aruman Cassandra database
Aruman Cassandra databaseAruman Cassandra database
Aruman Cassandra database
Umesh Dande
 
Creating Game Leaderboards with Redis
Creating Game Leaderboards with RedisCreating Game Leaderboards with Redis
Creating Game Leaderboards with Redis
Social Point
 
Updating the Globus Connect Architecture - ARCC Workshop at PEARC17
Updating the Globus Connect Architecture - ARCC Workshop at PEARC17Updating the Globus Connect Architecture - ARCC Workshop at PEARC17
Updating the Globus Connect Architecture - ARCC Workshop at PEARC17
Mary Bass
 
Hidden gems in SXA that you might not be aware of
Hidden gems in SXA that you might not be aware ofHidden gems in SXA that you might not be aware of
Hidden gems in SXA that you might not be aware of
Przemysław Taront
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)
Joachim Neubert
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores
Colin Charles
 
Is the database a solved problem?
Is the database a solved problem?Is the database a solved problem?
Is the database a solved problem?
Kenneth Geisshirt
 
Maria DBMS
Maria DBMSMaria DBMS
Maria DBMS
Ramez Al-Fayez
 
SortaSQL
SortaSQLSortaSQL
SortaSQL
Cloudflare
 
Lessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesLessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companies
Colin Charles
 
Extending and Customizing Open Atrium
Extending and Customizing Open AtriumExtending and Customizing Open Atrium
Extending and Customizing Open AtriumNuvole
 
WordPress Architecture For Beginners
WordPress Architecture For Beginners WordPress Architecture For Beginners
WordPress Architecture For Beginners
Tortoise and Hare Software
 
Orchestrating MySQL
Orchestrating MySQLOrchestrating MySQL
Orchestrating MySQL
Ivan Zoratti
 
Functionality, security and performance monitoring of web assets (e.g. Joomla...
Functionality, security and performance monitoring of web assets (e.g. Joomla...Functionality, security and performance monitoring of web assets (e.g. Joomla...
Functionality, security and performance monitoring of web assets (e.g. Joomla...
Sanjay Willie
 

What's hot (20)

globus.pptx
globus.pptxglobus.pptx
globus.pptx
 
5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018
5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 20185 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018
5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018
 
Koha System Architecture
Koha System ArchitectureKoha System Architecture
Koha System Architecture
 
Introduction to Total Library Solution- TLS
Introduction to Total Library Solution- TLSIntroduction to Total Library Solution- TLS
Introduction to Total Library Solution- TLS
 
Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)
 
Aruman Cassandra database
Aruman Cassandra databaseAruman Cassandra database
Aruman Cassandra database
 
Creating Game Leaderboards with Redis
Creating Game Leaderboards with RedisCreating Game Leaderboards with Redis
Creating Game Leaderboards with Redis
 
Updating the Globus Connect Architecture - ARCC Workshop at PEARC17
Updating the Globus Connect Architecture - ARCC Workshop at PEARC17Updating the Globus Connect Architecture - ARCC Workshop at PEARC17
Updating the Globus Connect Architecture - ARCC Workshop at PEARC17
 
Hidden gems in SXA that you might not be aware of
Hidden gems in SXA that you might not be aware ofHidden gems in SXA that you might not be aware of
Hidden gems in SXA that you might not be aware of
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores
 
Revision
RevisionRevision
Revision
 
Is the database a solved problem?
Is the database a solved problem?Is the database a solved problem?
Is the database a solved problem?
 
Maria DBMS
Maria DBMSMaria DBMS
Maria DBMS
 
SortaSQL
SortaSQLSortaSQL
SortaSQL
 
Lessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesLessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companies
 
Extending and Customizing Open Atrium
Extending and Customizing Open AtriumExtending and Customizing Open Atrium
Extending and Customizing Open Atrium
 
WordPress Architecture For Beginners
WordPress Architecture For Beginners WordPress Architecture For Beginners
WordPress Architecture For Beginners
 
Orchestrating MySQL
Orchestrating MySQLOrchestrating MySQL
Orchestrating MySQL
 
Functionality, security and performance monitoring of web assets (e.g. Joomla...
Functionality, security and performance monitoring of web assets (e.g. Joomla...Functionality, security and performance monitoring of web assets (e.g. Joomla...
Functionality, security and performance monitoring of web assets (e.g. Joomla...
 

Viewers also liked

Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
Eugenio Minardi
 
Building a Drupal site with Git
Building a Drupal site with GitBuilding a Drupal site with Git
Building a Drupal site with Gitdirtytactics
 
Getting Started With Jenkins And Drupal
Getting Started With Jenkins And DrupalGetting Started With Jenkins And Drupal
Getting Started With Jenkins And Drupal
Philip Norton
 
Putting "Phings" together - how to automate your life
Putting "Phings" together - how to automate your lifePutting "Phings" together - how to automate your life
Putting "Phings" together - how to automate your lifeBoyan Borisov
 
Better editorial experience in Drupal 7
Better editorial experience in Drupal 7Better editorial experience in Drupal 7
Better editorial experience in Drupal 7
Boyan Borisov
 
Large Scale Drupal - Behind the Scenes
Large Scale Drupal - Behind the ScenesLarge Scale Drupal - Behind the Scenes
Large Scale Drupal - Behind the Scenes
Boyan Borisov
 
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.
Andrii Podanenko
 
Drupal Deployment
Drupal DeploymentDrupal Deployment
Drupal Deployment
Jeff Eaton
 
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Taller Negócio Digitais
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The Basics
John Smith
 
Drupal in the Enterprise, IBM and Norwegian Cruise Line
Drupal in the Enterprise, IBM and Norwegian Cruise LineDrupal in the Enterprise, IBM and Norwegian Cruise Line
Drupal in the Enterprise, IBM and Norwegian Cruise Line
Rob Shea
 
Talk on Industrial Internet of Things @ Intelligent systems tech forum 2014
Talk on Industrial Internet of Things @ Intelligent systems tech forum 2014Talk on Industrial Internet of Things @ Intelligent systems tech forum 2014
Talk on Industrial Internet of Things @ Intelligent systems tech forum 2014
Ahmed Mahmoud
 

Viewers also liked (12)

Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
 
Building a Drupal site with Git
Building a Drupal site with GitBuilding a Drupal site with Git
Building a Drupal site with Git
 
Getting Started With Jenkins And Drupal
Getting Started With Jenkins And DrupalGetting Started With Jenkins And Drupal
Getting Started With Jenkins And Drupal
 
Putting "Phings" together - how to automate your life
Putting "Phings" together - how to automate your lifePutting "Phings" together - how to automate your life
Putting "Phings" together - how to automate your life
 
Better editorial experience in Drupal 7
Better editorial experience in Drupal 7Better editorial experience in Drupal 7
Better editorial experience in Drupal 7
 
Large Scale Drupal - Behind the Scenes
Large Scale Drupal - Behind the ScenesLarge Scale Drupal - Behind the Scenes
Large Scale Drupal - Behind the Scenes
 
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.
 
Drupal Deployment
Drupal DeploymentDrupal Deployment
Drupal Deployment
 
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The Basics
 
Drupal in the Enterprise, IBM and Norwegian Cruise Line
Drupal in the Enterprise, IBM and Norwegian Cruise LineDrupal in the Enterprise, IBM and Norwegian Cruise Line
Drupal in the Enterprise, IBM and Norwegian Cruise Line
 
Talk on Industrial Internet of Things @ Intelligent systems tech forum 2014
Talk on Industrial Internet of Things @ Intelligent systems tech forum 2014Talk on Industrial Internet of Things @ Intelligent systems tech forum 2014
Talk on Industrial Internet of Things @ Intelligent systems tech forum 2014
 

Similar to Phase2 - Large Drupal Multisites (GTA Case Study)

One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
hernanibf
 
One drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp CaceresOne drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp Cacereshernanibf
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Suzanne Dergacheva
 
DevOps tools for winning agility
DevOps tools for winning agilityDevOps tools for winning agility
DevOps tools for winning agility
Kellyn Pot'Vin-Gorman
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Why to docker
Why to dockerWhy to docker
Why to docker
Karthik Gaekwad
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
Jon Peck
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat Overview
Mandi Walls
 
Enterprise Griffon
Enterprise GriffonEnterprise Griffon
Enterprise Griffon
James Williams
 
Stackato
StackatoStackato
Stackato
Jonas Brømsø
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaAlexandre Morgaut
 
Undine: Turnkey Drupal Development Environments
Undine: Turnkey Drupal Development EnvironmentsUndine: Turnkey Drupal Development Environments
Undine: Turnkey Drupal Development Environments
David Watson
 
Drupal, git and sanity
Drupal, git and sanityDrupal, git and sanity
Drupal, git and sanity
Charlie Morris
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
Christian Posta
 
Using Grunt with Drupal
Using Grunt with DrupalUsing Grunt with Drupal
Using Grunt with Drupal
arithmetric
 
Containerdays Intro to Habitat
Containerdays Intro to HabitatContainerdays Intro to Habitat
Containerdays Intro to Habitat
Mandi Walls
 
Drupal 8 introduction
Drupal 8 introductionDrupal 8 introduction
Drupal 8 introduction
Aditya Ghan
 
Drupal7 an introduction by ayushiinfotech
Drupal7 an introduction by ayushiinfotechDrupal7 an introduction by ayushiinfotech
Drupal7 an introduction by ayushiinfotechMandakini Kumari
 
Cloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalCloud for agile_sw_projects-final
Cloud for agile_sw_projects-final
Alain Delafosse
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
Ed Leighton-Dick
 

Similar to Phase2 - Large Drupal Multisites (GTA Case Study) (20)

One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
 
One drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp CaceresOne drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp Caceres
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
 
DevOps tools for winning agility
DevOps tools for winning agilityDevOps tools for winning agility
DevOps tools for winning agility
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat Overview
 
Enterprise Griffon
Enterprise GriffonEnterprise Griffon
Enterprise Griffon
 
Stackato
StackatoStackato
Stackato
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
 
Undine: Turnkey Drupal Development Environments
Undine: Turnkey Drupal Development EnvironmentsUndine: Turnkey Drupal Development Environments
Undine: Turnkey Drupal Development Environments
 
Drupal, git and sanity
Drupal, git and sanityDrupal, git and sanity
Drupal, git and sanity
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
 
Using Grunt with Drupal
Using Grunt with DrupalUsing Grunt with Drupal
Using Grunt with Drupal
 
Containerdays Intro to Habitat
Containerdays Intro to HabitatContainerdays Intro to Habitat
Containerdays Intro to Habitat
 
Drupal 8 introduction
Drupal 8 introductionDrupal 8 introduction
Drupal 8 introduction
 
Drupal7 an introduction by ayushiinfotech
Drupal7 an introduction by ayushiinfotechDrupal7 an introduction by ayushiinfotech
Drupal7 an introduction by ayushiinfotech
 
Cloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalCloud for agile_sw_projects-final
Cloud for agile_sw_projects-final
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
 

Phase2 - Large Drupal Multisites (GTA Case Study)

  • 1. THE LEADER IN DRUPAL PLATFORM DESIGN AND DEVELOPMENT
  • 2. Building Large Multi-Site Drupal Platforms A Case Study on Georgia.gov Robert Bates Senior Developer
  • 3. What is a Drupal platform?
  • 4. 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
  • 5. WHAT IS A DRUPAL PLATFORM? open
  • 6. WHAT IS A DRUPAL PLATFORM?
  • 7. WHAT IS A DRUPAL PLATFORM? Benefits of starting with a platform •Removes typical overhead • Finding/installing modules • Permissions • Roles •Provides bundled functionality • Features! • CommonViews • Default Contexts •Common CMS workflows
  • 8. 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
  • 9. What is Drupal multi- site?
  • 10. 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
  • 11. WHAT IS DRUPAL MULTI-SITE?
  • 12. 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
  • 13. 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
  • 14. Putting it all together on Georgia.gov!
  • 15. 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)
  • 16. PUTTING IT ALL TOGETHER!
  • 17. 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)
  • 18. 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)
  • 19. 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)
  • 20. PUTTING IT ALL TOGETHER!
  • 21. PUTTING IT ALL TOGETHER!
  • 22. Q & A Robert Bates rbates@phase2technology.com @arpieb