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

Recommended for you

Introduction to Total Library Solution- TLS
Introduction to Total Library Solution- TLSIntroduction to Total Library Solution- TLS
Introduction to Total Library Solution- TLS

Total Library Solution (TLS) is a suite of Free and Open Source Software in a live DVD having Koha, DSpace, WordPress, etc.

dspacekohalisolutions
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)

This document discusses using Drupal 7 as a content management system for publishing special collections as linked open data. It provides an overview of how Drupal allows customizing content types and fields for mapping to RDF properties. While Drupal 7 provides basic RDFa support out of the box, there are some limitations around nested RDF structures and multiple entities per page that may require custom code. The document outlines some additional linked data modules for Drupal 7 and highlights improved RDF support anticipated in Drupal 8.

Aruman Cassandra database
Aruman Cassandra databaseAruman Cassandra database
Aruman Cassandra database

One of our presentation which was given on Cassandra Database. Aruman implement big-data projects for its multiple client. RDBMS to Cassandra conversion is task which is taken by ARUMAN.

big datahadoophdfs
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

Recommended for you

Creating Game Leaderboards with Redis
Creating Game Leaderboards with RedisCreating Game Leaderboards with Redis
Creating Game Leaderboards with Redis

The leaderboard adds a whole new dimension to your video game. It's a means of building rivalry between players and deepening their engagement with the game. But, like most things in gaming, building a leaderboard comes with its own technical challenges.

gamesgames backendgame design
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

Presentation by Steve Tuecke from The University of Chicago. Steve is Globus Founder and Project Lead.

arccpearcpearc17
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

Discover content tokens, variant rules, data source advanced syntax and scaffolding. This deck was presented during SUGPL meeting at Cognifide office in Poznań on October 6th, 2017.

sitecoresxacognifide
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

Recommended for you

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)

Publishing Linked Open Data in a user-appealing way is still a challenge: Generic solutions to convert arbitrary RDF structures to HTML out-of-the-box are available, but leave users perplexed. Custom-built web applications to enrich web pages with semantic tags "under the hood" require high efforts in programming. Given this dilemma, content management systems (CMS) could be a natural enhancement point for data on the web. In the case of Drupal, one of the most popular CMS nowadays, Semantic Web enrichment is provided as part of the CMS core. In a simple declarative approach, classes and properties from arbitrary vocabularies can be added to Drupal content types and fields, and are turned into Linked Data on the web pages automagically. The embedded RDFa marked-up data can be easily extracted by other applications. This makes the pages part of the emerging Web of Data, and in the same course helps discoverability with the major search engines. In the workshop, you will learn how to make use of the built-in Drupal 7 features to produce RDFa enriched pages. You will build new content types, add custom fields and enhance them with RDF markup from mixed vocabularies. The gory details of providing LOD-compatible "cool" URIs will not be skipped, and current limitations of RDF support in Drupal will be explained. Exposing the data in a REST-ful application programming interface or as a SPARQL endpoint are additional options provided by Drupal modules. The workshop will also introduce modules such as Web Taxonomy, which allows linking to thesauri or authority files on the web via simple JSON-based autocomplete lookup. Finally, we will touch the upcoming Drupal 8 version. (Workshop announcement)

loddrupalpublish data
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores

Databases require capacity planning (and to those coming from traditional RDBMS solutions, this can be thought of as a sizing guide). Capacity planning prevents resource exhaustion. Capacity planning can be hard. This talk has a heavier leaning on MySQL, but the concepts and addendum will help with any other data store.

rootconfcapacity planningdatabase
Revision
RevisionRevision
Revision

This document provides an overview and summary of key concepts related to advanced databases. It discusses relational databases including MySQL, SQL, transactions, and ODBC. It also covers database topics like triggers, indexes, and NoSQL databases. Alternative database systems like graph databases, triplestores, and linked data are introduced. Web services, XML, and data journalism are also briefly summarized. The document provides definitions and examples of these technical database terms and concepts.

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!

Recommended for you

Is the database a solved problem?
Is the database a solved problem?Is the database a solved problem?
Is the database a solved problem?

A decade ago, the database was assumed to be a solved problem. Relational databases (PostgreSQL, MySQL, SQLite to name a few) were dominating the database market and hierarchical databases (LDAP, DNS) where regarded as niche solutions. The NoSQL revolution surely changed the concept of what a database can be. At the same time, the popularity of mobile devices exploded. This talk will dive into how data structures are persisted and queried on mobile devices today, and try to revive the old question: is the database really a solved problem?

databasemobile
Maria DBMS
Maria DBMSMaria DBMS
Maria DBMS

This document provides an overview of MariaDB, including: - MariaDB is an open-source database that is a fork of MySQL with additional features and enhancements. - It was first released in 2009 and is overseen by the MariaDB Foundation. SkySQL, formed by former MySQL executives, merged with MariaDB founder Michael "Monty" Widenius' company in 2013. - MariaDB offers various storage engines, new features like dynamic columns and NoSQL access, and generally better performance than MySQL through optimizations and user statistics. It is widely adopted with major investors and supporters.

mariadb; mysql; storage engine; dbms; open source
SortaSQL
SortaSQLSortaSQL
SortaSQL

SortaSQL is a proposal to add seamless horizontal scalability to SQL databases by using the filesystem to store and retrieve data. The SQL database would store metadata and handle queries, while an embedded key-value store manages record storage on files in the local or distributed filesystem. This allows queries to scale across many servers by letting the filesystem handle replication, performance and locking of distributed data files. The architecture involves an application communicating with PostgreSQL over SQL, which uses a SortaSQL plugin to retrieve rows from Kyoto Cabinet key-value files on the POSIX filesystem. Case studies at CloudFlare show how a 400GB per day dataset can be efficiently stored and queried at scale using this approach.

kyoto cabinetnosqlbigtable
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!

Recommended for you

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

A last minute talk for the people at DevOps Amsterdam, happening around the same time as O'Reilly Velocity Amsterdam 2016. Here are lessons one can learn from distributed/remote/virtual communities and companies from someone that has spent a long time being remote and distributed.

distributedvirtualcommunity
Extending and Customizing Open Atrium
Extending and Customizing Open AtriumExtending and Customizing Open Atrium
Extending and Customizing Open Atrium

This document discusses Open Atrium, an open source intranet platform built with Drupal. It describes Open Atrium's core features for blogs, wikis, calendars, to-do lists, and more. It also provides examples of how Open Atrium can be customized and extended through the use of Drupal modules like Features, Spaces, and Organic Groups to create public websites, private groups, social networks, and other configurations. The document includes code snippets demonstrating how to customize user profiles, override core configurations, alter contexts at runtime, and remove blocks using various Drupal hooks and modules.

drupalopen atrium
WordPress Architecture For Beginners
WordPress Architecture For Beginners WordPress Architecture For Beginners
WordPress Architecture For Beginners

WordPress Architecture For Beginners Presentation By Tortoise and Hare Software. View a video presentation on YouTube at https://youtu.be/1scepWIKbfI

wordpressarchitecturesoftware
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
 
Revision
RevisionRevision
Revision
David Sherlock
 
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 Atrium
Nuvole
 
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 Git
dirtytactics
 
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 life
Boyan 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 Caceres
hernanibf
 
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 Wakanda
Alexandre 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 ayushiinfotech
Mandakini 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