The Client

The world’s largest privately owned Optometrists came to Unipro for assistance with their digital transformation journey. At the time, they 

  • Had revenues of over 3 Billion dollars
  • Sold almost 20 million pairs of spectacles and 400 million pairs of contact lenses
  • Had over 1800 physical stores
  • Were operating in 10 countries, each with its own website.

They wanted:

  • To achieve program acceleration to meet the Digital Strategy
  • The ability to rapidly innovate
  • To get to market first
  • To increase velocity but felt limited by architecture
  • To focus more on users’ needs

The Challenge

Because the store scheduling systems vary by country, the online booking system needed to implement different APIs. For example, in some countries, each store has its local diary database, while in others, it’s centralised. The store systems were never designed for online booking, so dealing with legacy systems like these added additional complexity.

Each of the 10 markets needed control over its local content, such as market-specific brand launches, promotions, and stock information.  Much of the content was produced in-house and often outsourced to local agencies. When it came to editing, the store managers needed the ability to edit the store-specific content of their page for things such as opening times, local events, and promotions. In total, this resulted in the need to accommodate around 2,000 authors.

The Solution

Unipro developed extensions for Drupal 7 to address the architectural issues causing bottlenecks in delivery and provided future-proofed paths to Drupal 8 to allow the system to grow. We developed our Aurora framework that decoupled the UI to address the core issues with the nature of Drupal 7 systems when scaling. 

The framework was designed to break up the monolithic design of Drupal 7 and provide a path to continuous delivery while at the same time providing faster user experiences, higher performance, and a progressive upgrade to Drupal 8. This provided a far greater separation of concerns between logic and presentation and, in turn, functional components, making it easier to scale the development effort.

We started with the addition of a new routing layer sitting above Drupal.  This checks the path of an inbound request and routes it to the configured container. This allowed one page to be served from Drupal 7, then next from Aurora or Drupal 8, all within the same website domain.

The routing rules were configured in the Drupal CMS, and changes were applied in real time.  This allowed the switching to new code and new functionality to be as easy as changing content, with zero downtime. One key benefit delivered was that pages developed in Aurora had greater separation and unit test coverage. This allowed us to make small, frequent changes while supporting split-testing experiments.

We implemented multiple Symfony bundles inside the Aurora handler, each living in its repository.  Bundles can implement anything, but our common use cases were Microservices and Web Pages.  This was constructed using Symfony 2 and Twig,  the same technology that powered Drupal 8. The Aurora web pages were developed in Angular 2 to provide rapid mobile-first experiences.  This allowed our front-end developers to be truly decoupled from Drupal and no longer be dependent on Drupal VMs to develop pages. To support this functionality, it was necessary to create a standard framework library that enabled it to work with Legacy Drupal 7 sites, making it easy to provide a seamless experience.

We progressively decoupled the website without having to re-implement site-wide parts.  For the client, we used the existing Drupal header, footer and site navigation to top and tail some Aurora pages, with the framework just pulling these in as needed.

The Results

  • More scalable, testable, deployable architecture
  • Small, low-risk deployments
  • Path to Drupal 8
  • High-performance experiences
  • Leverage existing investment in Drupal 7
  • Delivering value faster

If you'd like to understand how Unipro can help your business can assist with your Drupal projects, contact us today

Work

Avantis & Arena Systems
Working together on a modern, scalable platform
Avantis provide back-office services within the insurance industry and can deploy resource to support MGA’s launch their services quickly and efficiently. Through Arena Systems they have developed a suite of excellent system solutions that can cope with varying levels of risk complexity
Energy use case
Energy company modernises core apps to improve customer experience and mobility.
An energy company serving a population of almost three million started working with OutSystems in 2020 wanting help to power their retail transformation journey, in particular their customer service portal.

GET IN TOUCH TO GET STARTED

Let’s work together!

Registered office address:

Chichester
Ilex Place
Friary Lane
PO19 1UF


Unipro is a limited company registered in England, Company no: 03425326