Our client is a global leader in education technology and has helped millions of students to identify their strengths, explore different career options, match best-fit educational opportunities, and reach their education and career goals.

They wanted to upgrade their near ‘end of life’ CMS, facing challenges in storing, managing, and retrieving information from its colossal database. As a result, the website performance was adversely affected and their constantly increasing business requirements were hard to accomplish.


Content migration reduced from 3 days to 3-4 Hrs

Number of DB tables shrunk from 226 to 4

Quick API response time of 0.5-0.6s

Why Drupal was chosen: 

Since the client's legacy website was operating on Drupal 7, the client was well-versed in Drupal's unmatched benefits, including:

  • Scalability with large database
  • Performance
  • Tight integration with previously used API endpoints
Describe the project (goals, requirements and outcome): 

Requirement

The client wanted to:

  • Migrate from ‘end of life’ Drupal 7 to Drupal 8.
  • Enhance editorial experience - right from generating content to publishing it on the website.
  • Optimize their huge database of tables to produce fresh content and update existing content with ease.
  • Automate the import process of large datasets.
  • Improve the API response time and subsequently, enhance application performance to quickly access and retrieve information.

Challenges 

The client was facing database management challenges and performance-related issues:

  • Usage of Drupal 7 along with a lot of customizations required continuous maintenance of the custom codebase.
  • The automated migration process took weeks to run because of the multitude of fields in D7.
  • The low performance of the D7 system failed to meet current business needs.
  • System inability to simultaneously handle content updates by different users led to the repetitive efforts of saving the records.
  • As the system required manual intervention in uploading content, it took approximately 2-3 days to import/update a large set of data in the CSV file format.
  • Low API response time led to poor application performance.

Solution

We created a roadmap to migrate the client’s website from D7 to D8. The proof of concept ensured that their business needs are met using Drupal 8 core capabilities and contributed modules with minimal customization. We also recommended the following measures: 

  • An efficient data structure with custom entities to manage huge datasets.
  • Use of improved D8 database structure to reduce the number of tables. 
  • Enhance the editorial experience for in-house content editors.
  • Proposed ways to improve API performance and fix issues of degradation due to increased load.
  • Expose the APIs to third parties (universities and colleges) to allow them to perform tasks, such as form filling, much faster.
  • Utilize a better import process for large datasets (30000 records each).

Education app dashboard

Our Approach

We worked closely with the client to carve a migration strategy that addressed these issues successfully:

  • End-of-Life D7 - As D7 was approaching end of life, we provided them a strategy to migrate their website to D8 on PHP 7.3 and MySQL 5.7. This allowed them to leverage new functionalities and achieve better web performance.
  • Application performance - The use of Elasticsearch indexing to store, search, and analyze huge amounts of data and receive responses in milliseconds. 
  • Editorial Experience - Integration of the Inline Entity forms module to edit referenced content. It breaks down one large request into multiple requests to reduce response time at the end of content update.
  • Extensibility - Recommended the usage of robust migration plugins for migrating large sets of data from Drupal 8 to Drupal 9.
  • Scalability - Demonstrated the Publish/Subscribe model in CMS, so that peripheral systems can be integrated for any future business need.
  • Improved Website Performance - Showed how Restful APIs can be used in small sets to reduce the request turnaround time.
  • Managed enormous datasets - Suggested the use of field UI field with custom entities and other base fields to reduce the number of tables.
     

Benefit

  • Increased editor efficiency. They can now generate, edit, and update content much faster.
  • Faster API response - from 8-9 seconds to 0.5-0.6 milliseconds.
  • Minimal code maintenance. 
  • Reduce the time to run the semi-automated import process to less than a day with negligible manual intervention.
  • Improved system scalability to accommodate new datasets, handle higher traffic, and manage new business requirements.

Technical specifications

Drupal version: 
Drupal 8.x
Key modules/theme/distribution used: 
Organizations involved: 
mobile screenshot of the education app srijan built
Sectors: 
Education