SPX case study
Drupal platform development for multiple websites with multiple languages.
The Challenge
The SPX project gave us a few Drupal 8 "firsts". We had the opportunity to fully explore Drupal 8's multilingual capabilities to see how it utilised entity translation differently from Drupal 7 and how it would handle language fallback when content was unavailable in a given language. The project also enabled us to look into how Drupal 8 would handle a multi-site installation, since we would need to create four different looking websites, all the while using the same codebase.
Our solution
From the outset on this project we knew that the required functionality was nothing that Drupal 8 couldn't handle so we took the decision to develop using this, giving us the ideal opportunity to explore its multilingual functionality.
ComputerMinds came onboard with this project from an early stage in a consultancy capacity. We worked with the client to get a good handle on exactly what their requirements were and how we could best leverage Drupal to meet them. After the initial requirements gathering stage was over we were on hand to help draw up a set of wireframes which would then be used as the basis for a finished design to be created.
Responsive design
As with any modern web design task it was key that any design we presented to the client would be responsive. The huge benefit of this approach is confidence that the new Drupal website will render nicely on whatever device the user uses to view it.
Drupal 8 Multilingual & Multisites
A key requirement of this project was that the websites that sit on this platform should all be multilingual. This gave us the ideal opportunity to get our teeth into how all of this works within Drupal 8.
The websites offer their users the ability to switch between a number of languages with each piece of content having versions written in each. These will then be shown to the user when they have selected that language as their preference meaning everything can be nicely managed from an admin point of view!
Once we had all the functionality we wanted there was a requirement to host a number of different websites on the same codebase. Fortunately Drupal makes this easy with its multisite functionality allowing us to use the same code and functionality across a number of distinct websites. Each of these will manage their data and content independently of each other.
The websites offer their users the ability to switch between a number of languages with each piece of content having versions written in each. These will then be shown to the user when they have selected that language as their preference meaning everything can be nicely managed from an admin point of view!
Once we had all the functionality we wanted there was a requirement to host a number of different websites on the same codebase. Fortunately Drupal makes this easy with its multisite functionality allowing us to use the same code and functionality across a number of distinct websites. Each of these will manage their data and content independently of each other.
Language Hierarchy
Language Hierarchy adds the ability to have fallback languages, which is pivotal when implementing sub languages, like we did for SPX. Our very own James Williams and Steven Jones helped maintain the module too.
Extending Paragraphs
On this website we make use of the Paragraphs module to give the user more flexibility when it comes to building up a page. This module works really well and we've used it in quite a few of our more recent builds. However, with this project a little more work was needed to get it to work with moderation and with Drupal's multilingual functionality.
Content Moderation
Out of the box Drupal allows for content to be either published or unpublished to control what the end user sees. On this project we needed to add in a moderation workflow to allow editors to review content being added to the website before it went live.