This document discusses the large-scale Drupal implementation for the Municipality of Copenhagen. It describes the client's requirements including handling thousands of websites on a multisite platform, scalability, reusability, content sharing between sites, and accessibility. It then explains the technical solutions used such as Aegir for the multisite platform, Gitlab for module development, and various Drupal modules for features like content sharing, editing interface, and performance optimization. Continuous integration, testing, and contributions back to the open source community are also covered.
Report
Share
Report
Share
1 of 23
More Related Content
Large Scale Drupal - Behind the Scenes
1. Large Scale Drupal in
the Municipality of
Copenhagen - Behind
the Scenes
Drupal Camp Berlin 2014
2. About me
• Boyan Borisov
• Open Source Tech Lead
and Architect @
Propeople
• boyanb@propeople.dk
• @boyan_borisov
• Skype: boian.borisov
• https://drupal.org/u/bo
yan.borisov
3. What were the client’s
requirements?
• Multisite platform able to handle a thousand
web sites
• Scalable infrastructure able to handle a
thousand sites available 24/7
• Multi vendor environment which allows every
module to be reusable
• Content sharing between all the sites on all the
profiles
• Centralized Digital Asset Management (DAM)
system
4. What were the client’s
requirements?
• Editorial friendly UI
• Hierarchy structure of the site pages
• Web Content Accessibility Guidelines
(WCAG) – WCAG 2.0 AA
• Performance
• Automated tests
• Continuous integration
5. Multisite platform able to handle a
thousand web sites
One Aegir to rule
them all!
• What is Aegir?
• Why did we choose it?
• What did we do in
order to extend Aegir?
8. Multi vendor environment which allows every
module to be reusable
• Gitlab - https://about.gitlab.com
• Mini “drupal.org” for all municipality custom
modules
• Every module into its own repository
• Drush make file to build a platform
• Reusable drush make files
• Phing build tool
• Jira
10. Content sharing between all the
sites on all the profiles
• Push content to a site(s)
• Push content to a channel
• Pull content from a site
• Pull content from a channel
• Centralized Digital Asset Management
(DAM) system
• Central content management system
14. Editorial friendly UI
• Field group
• Media and Media browser plus
• Admin views and Views bulk operations
• Workbench
• Entity reference and References dialog
• Panelizer
• Node clone
• Ckeditor and Better formats
• Chosen, Multiselect and Hierarchical Select
• Taxonomy manager
15. Hierarchy structure of the site
pages
• Be aware not to use a module which will
make a hierarchy on top of the menu_router
table!
• Solution is Menu Reference -
https://www.drupal.org/project/menu_refe
rence