What We Learned Rebuilding a 9,000 Page Website in Drupal 8

Looking back now after the launch of our largest Drupal 8 website build to-date, it was an important learning process for maximizing the power in Drupal 8.

Drupal 8 is awesome — and also a big learning curve!

Drupal 8

Our North Studio team pride themselves on delivering quality websites that work well for clients’ needs. Think of it as a digital extension of yourself that enables you to do just what you need to do when you need to do it (without getting into trouble or breaking the site). 

 

Want to learn more?

 

Imagine our horror when 2 years ago we took on a new support client that had one big problem – they couldn’t edit 40% of the content on their Drupal 6 site. They couldn’t even create new content themselves due to the way in which the website had been originally built! (Not by us).

Carlyle Drupal 8 Website

To cut a very long story short, 3 years after the site was built in D6 we started planning to rebuild it in Drupal 8 and make like it should have been from the start – an awesome platform for their business needs.

There were a number of reasons that we all wanted to move to a new Drupal 8 site. On the front end (user facing side) it was things like performance, SEO (semantic html, native schema.org, etc.) on the admin-end (manager role) it was things like giving the client the ability to edit and manage all content along with mobile management, drag and drop image uploads, in-context editing, etc. 

From a developer’s perspective, it was offering functionality like language support, less contrib modules (with things like views in Drupal 8 core), simplified configuration management, and easier integrations — just to name a few.

So, Drupal 8 it was!

This rebuild started with collaborative discovery conversations with the client and their advertising agency about what they wanted out of the new website. The plan was to keep the same design but “make it better” and more user-friendly on both front and back end.

The client’s goals were:

  • Ability to edit all content
  • Drag and drop “buckets” of information on the homepage
  • Ability to edit all menus
  • Three languages (English, Japanese and Chinese)
  • SEO integration 
  • Ability to change pages to a different layout themselves

We also discussed their pain points along with their aspirations in what they would like to do in the future. This kind of communication in a “discovery” is essential to a great website build.

After the discovery with the client, the team sat down and discussed how we were going to reduce the 46 content types to a more reasonable amount while also addressing all the pain points. Firstly, we looked at what could be done with core functionality, what contrib modules were needed, and what custom functionality we would need to customize. 

Most of what we needed to do could be done with core functionality (yay for views in core) but there was one significant piece of functionality that we needed to custom-build – the drag and drop buckets of information on the home page. To do this, our front-end dev team settled on integrating the gridster library. The team decided to take it one step further by integrating gridster with a custom rolled version of the basic theme to allow full flexibility of content blocks and layouts site wide. 

We call this functionality North Studio Build Lab.

Drupal 8 Layout Module

We are in the process of refining it for other projects. Each component can be edited in place, re-sized, reordered and reused throughout the website making it really flexible for the client. The client can also change the structural layouts on a per page basis without the need for editing the theme. 

Being an early adaptor of Drupal 8 presented a few challenges through the integration of complex functionality that advances and enhances.

 

Biggest Challenges

• Content Migration: We went from 46 content types to 10, which wasn’t easy to map as a large volume of content in those 46 content types was hard coded!

• Translations: There were issues with translations of entities within entities. 

We use entities within entities for things like lists and accordion items (as shown above), which enables us to simply CSS so the accordion works correctly (with no additional contrib modules needed).

To combat these challenges, we contracted key core D8 developers working on those modules. The benefits of using Drupal 8 core contributors in conjunction with our team were threefold:

  • The developers had expert knowledge of Drupal 8 and the module functionality within Drupal 8 
  • They could contribute their findings back to the community.
  • Our team learned a lot in the process! 

Big shout out and thank you to Mike RyanWill Hetherington and Bojan Zivanovic for all of their assistance. 

Want to know more? Check out the Drupal 8 case study for this build for The Carlyle Group.

Benefits of Drupal for Carlyle and other Enterprise clients:

  • Flexible – fully configurable to be whatever you need it to be.
  • Adaptable – use it as a website, web app, mobile app — Drupal 8 can be whatever you need it to be.
  • Scalable – whether you have 1 or 1,000 content contributors (or more!) Drupal 8 is up to the task. 
  • Extensible - RESTful API is now part of core which means creating and consuming services is so much easier!
  • Secure – it has enhanced security over previous versions of Drupal and it’s way more secure than WordPress.
  • Performance - everything is cached by default and you can change that however you like.
  • Easier to use – built-in WYSIWYG, drag and drop images, in-line editing, mobile friendly, etc.
  • SEO optimized - semantic html, native schema.org
  • Community involvement – core contributors have increased exponentially from any other version of Drupal.
  • BigPipe will be coming into Drupal core which gives a lazy load fast performing website.
  • North Studio Build Lab runs on it – which means flexible content creation through reusable and adaptable layouts.

 

Why we love Drupal 8

It’s built on the Symfony framework and its object orientated making it easier to structure code in a logical way without repeating things. Reuse and recycle!

Building and consuming web services is so much easier making Drupal not just a website now, now Drupal is an application that can be used as a website, or backend for a mobile app, or backend for a web app. It can consume and deliver data any way you need.

The configuration management is simplified making it a lot easier to set up different environments and continuous integration (CI) systems.

Business logic and presentation has been separated making it easier to separate front end from backend work while also making it easier to validate third party themes.

Other favourite features:

  • Marketing

o Semantic html

o Schema.org built in

o A to change layouts on the fly (North Studio Build Lab)

o Social integration

o Easy to introduce great visuals

  • Development

o Cost savings 

o Scalable

o Reliable

o Customizable 

o Open Source 

  • Business logic

o Ease-of-use

o Low risk

o Return on investment

There are plenty of reasons why you should consider switching to a Drupal 8 website — to compete with these Drupal 8 websites.

Want to learn more?