Taking a Drupal 7 site, upgrading it to D8, then Drupal 9
We can’t disclose the name of this client, however, we can say that they’re a non-profit research centre that focuses on environmental science.
Their site was running on Drupal 7 and needed, among other things, an update to Drupal 8.
In total, our client is responsible for supporting 500 scientists across 4 sites and an additional 150 PhD students. It’s fair to say that it’s a particularly large institution, formed in 2000 as a result of a merger of 4 research institutes. Together, the forming organisations are over 50 years old.
The site is not specifically intended or designed to be public-facing. More, the goal of the website was to target specific business sectors, funders, NGOs and the policymakers within. The goal was to create an integrated approach to environmental challenges (namely soil science, water science, pollution studies, etc) and bring them all together).
Ultimately, they wanted the site to be simple. A top-level way into the organisation. Their motivation was to achieve a smoother user journey.
On considering technical aspects, a list full of specifications was expected to meet skillfully. Below is a list of essential requirements:
- An upgrade to the existing code
- All sites to be based on one single codebase
- A new look and feel that was consistent across the user journey
- Data-lead stories
- Feature-rich pages
- Reduce or remove obsolete modules
- An improved search experience for users
- Better breadcrumbing (in instances, breadcrumbing was missing. They were using the Easy Breadcrumb module (for Drupal 8)
- Specific user roles with clear restrictions
What we did
Simply, we successfully provided all the desired features by the client and above that revived the site.
Improvising landing page
With alluring field types and updated themes in Drupal 8, we changed the entire view of the home page, making it simpler and clearer than it was before.
We used the component-based structure to meet the precise needs of our end users.
Revised search feature
Also, we have revised the search engine for this client. We used search API and faceted search where the users can search the category and types of books and publications they want. The advanced search feature was customised so that users can easily find the authors and genre they are searching for.
They had a new theme developed in the Drupal 7 site. It was something they were very happy with and didn’t want to change. More, they wanted to bring all other pages in line with it to meet their requirement of a “clean and simple” design.
We helped our client with this Drupal 8 migration with a new theme and structural changes.
We fine-tuned the content type usage by merging and restructuring with the architectural changes and also made it easy to navigate, clean and yet attractive. We have changed the structure to component-based which will ensure the component reusability and it represents well-defined interfaces that will eventually help end-users.
Migration from Drupal 7 to Drupal 8 is a steep curve but was successfully able to help them with their migration. This migration provided them with a faster and more secure website. It served them with multiple field types that are easier to use, and a quick edit module was provided so that the content can be edited directly from the website's front end. They had multiple content types, but we helped them merge similar content types, which made it easier to process.
We’re excited to be working with this client on some upcoming accessibility work, so more people have access to their fantastic site.
Since Drupal 8 now ships with a Media library, the files from the D7 site were migrated to use the new Media objects structure allowing better management and integration with external services.
Due to a large number of assets (images in particular) used and produced by the organization, we developed and integrated a module with the Assetbank Digital Asset Management (DAM) system, allowing quick access to approved images without the need to download or upload.
Our team collaborated closely with their team to make the proper configuration changes on Assetbank to allow integration with the site.
With a unified approach to Media management, it has become much easier for site editors to embed in content a wide variety of Media items, whether Twitter cards, third party videos (Youtube, Vimeo, etc...), uploaded images or from Assetbank, with the same tools, management methods and interfaces.
It is now possible to have much better control and overview of the image base and it has become even more practical to re-use images on the site.
Working with the Pantheon hosting and development environment required the team to adjust to a number of tools and its deployment workflow.
Deployment scripts were set up using command-line tools, for their admin team, to simplify the deployment of code or configuration changes.
With a robust Continuous integration platform in place and a clearer deployment workflow, code updates and configuration changes can now be efficiently deployed and tested on different specific environments, from development through testing to the live site.
Thanks to the work we had done, the move to Drupal 9 was an easy one.
The Drupal 9 profile creation took 10 days of developer time, which included:
- Taking a current full dump of the code, site, and database
- Removing any configuration or content that couldn't be regarded as a profile (such as Google Analytics, certain views, unnecessary content kinds, etc).
- When all the necessary components were present, we updated donated and custom modules to D9
- Checked the theme to make sure that no elements were referencing deleted entities (to prevent errors/warnings)
- When everything functioned as it should, we exported the necessary configuration data, theme files, etc., and created the Drupal profile folder.
- A repository was pushed using this profile. The essential content kinds, paragraphs, configuration for these elements, and the theme that coordinates with these elements were all be included
- With a new, fresh Drupal installation, we tested the profile before going live