Introduction

The Department of IT & Telecom (DITT) under the Bhutan Ministry of Information and Communications wanted to upgrade all the web platforms used by entities under its directive having common functionalities using a scalable technology with centralized operations. The entities included 24 websites of the local government bodies managed by DITT.

Requirement:

The client initially had the 24 websites under different technologies which proved to be quite a challenge to maintain a uniform web standard, to update security features, difficulty in updating the latest patches, hacking issues and webmasters lacking knowledge of different technologies due to official transfers.

To overcome the above hurdles and to standardize the content delivery across all the web platforms, the DITT under the Ministry of IT and Communications wanted to develop a platform to centrally manage all these sites. The CMS powered websites had to be responsive, display important announcements, tenders, events and news.

Zyxware Technologies - Bhutan Governnment Multisite
Why Drupal was chosen: 

Drupal 8 was chosen as it is the best among enterprise open source technology in terms of security and robustness.

Describe the project (goals, requirements and outcome): 

Goals

We undertook to build a CMS distribution based on Drupal 8. Here though all the websites would be having a similar structure, the webmasters of individual websites will have the freedom to customize the colors, layouts and contents of those websites.

During the discovery phase conducted onsite, the important features needed to be bundled into the distribution were discussed and finalised along with the draft design and site map.

After the design and the development phase of the project was done, the final system was deployed during the next visit onsite, during which detailed operation training and a Drupal 8 training was given to the end users.

Solution Implementation

After understanding the requirements of the project, we implemented the following 3-step solution to realize this project.

Drupal Distribution-? During the first step, we developed a CMS as a distribution based on Drupal 8. This distribution has softwares such as themes, modules, libraries and installation profiles. It was custom built addressing the needs of the Bhutanese Government organizations taking into consideration the structure and function of the various bodies.

This CMS Distro enabled reusability for creation of the multi-site platform. The distribution has all the necessary features that the client organisation requires and will be present on the sites made out of it.

Aegir Platform -After the distribution was built, it was hosted on a platform from where sites are generated from a single click. Simultaneously hosting and managing 24 websites posed a challenge due to requirement of updates and server maintenance. So we wanted a platform which would ease out the process of website hosting and maintenance. The CMS Distro could be deployed on the multi-site hosting platform called Aegir. The Aegir platform was used to ease the hosting issue. It facilitates the launch of any number of sites with the click of a button. Aegir will be handled centrally. Updates and security patches can directly be applied to the distribution and all sites in the distribution will be immediately affected by the change. Thus it ensures uniformity and ease of maintenance and monitoring. Once Aegir generates the sites, individual sites can be customized and contents can be added to each of them. The titles, logos, colors and structure of each site can also be changed.

Load Balancing - For scalability and ensuring up time a load balancer with failover using High Availability Proxy (HAProxy) was implemented. This will tackle load issues and will handle the sites at any scale. The load balancer will divert the traffic to one of the 3 different servers each having all 24 sites loaded on it and having minimal load processing at that instance. To ensure reliability and recoverability, a reliable backup system is also implemented. It includes local backup servers and remote backup servers to ensure an additional level of data retention.

GIT and Continuous integration was used to ensure code sync in the different environments thus minimising manual code pushing and errors associated with it.

Challenges

The project was run in a tight frame of 60 days from discovery to deployment. The key challenges faced are below.

● Developing a distribution with dummy content loading in the sites by default
● Customising Aegir to launch the sites in a single click
● Developing customisable templates and modules for individually modifying the sites.
● Designing and implementing 9 server custom architecture for scalability and uptime
● Syncing the 24 sites on 3 redundant servers using Lsyncd
● Implementing Load balancing with failover and floating IP

Outcome

To conclude the department is now successfully able to centrally manage their sites. The individual sites were customised without losing original structure.

Technical specifications

Why these modules/theme/distribution were chosen: 
  • Total Control Admin Dashboard - To create a dashboard for selected roles. The dashboard provides easy access to different areas of the website.
  • Sitemap module - To generate a sitemap which will give an overview of the site to the visitors.
  • Panelizer - It was used to create two different layouts for the landing page and thus the layouts can be customized for each of the 24 sites according to the client’s requirements.
  • Radix layouts - Provides a wide range of layouts that can be integrated to the panelizer. Two options, the two column layout and the three column layout from the radix layouts were used in the panelizer for creating two displays for the website.
  • Quicktabs and Blocktabs modules - To display blocks in a tab view or as an accordion.
  • Workflow - To create different states for selected content types. The states can be draft, needs review, needs approval, publish immediately or schedule. Three roles, content creator, content reviewer and content publisher can make the transitions between the states.
  • Scheduler - To schedule the publishing of a content on a specified date.
  • Printfriendly - To print the page that’s currently viewed.
  • Easy Breadcrumb - It uses the current URL and page’s title to create a configurable bread crumb.
  • Crop and Image Widget Crop - They were used to crop the images uploaded in the specific ratio before saving the content.
Organizations involved: 
Project team: 

Department of IT & Telecom, Bhutan Ministry of Information and Communications

Comments

EM-fast1’s picture

Hello, We are using BOA - which uses AEgir, and we cannot really use Drupal 8 on it. First of all we cannot get a PHP version higher than 7.0.24. That is a problem for some distributions/platforms/install profiles. Does AEgir reallly allow the deployment of Drupal 8 ditributions and install profiles and allow creating multiple site off of each with provision and hostmaster?

What is the name of this multisite distribution please, I would like to test it. Thank you.

vimaljoseph’s picture

Sorry, I have not used BOA but the latest version of AEgir (3.15.1) support PHP 7.2. We created a Drupal 8 distribution based on the clients requirements and host it as an AEgir platform. The distribution itself does not provide any features that enable the admin to create multiple sites out of it. We are using AEgir's capability of creating sites from a platform to create multiple websites.