Pearson Higher Nationals – a Drupal Case Study

Posted by
Vincenzo Gambino on 03 Sep, 2015

Vincenzo Gambino is a Drupal Association Certified Developer and Ping Pong Ace. He is also the principal architect of Pearson’s HN Global online learning platform. We dragged Vinny away from the ping pong table during one of his rare breaks to ask him some questions about the project.

Why was Drupal a good fit for this project?

The platform has a  complex polyhierarchical structure of terms within its taxonomy. This combined with the management of different content types, customized permissions based on role, and two third party integrations made Drupal the obvious choice of CMS for this project. Drupal’s built in modules and API make all of the above easy.

During development what problems were faced and how did you work with Drupal / the client to solve these problems?

During development we faced a problem loading the thousands of taxonomy terms from the School’s vocabularies. Each vocabulary has 4 levels:

  1. Subjects
  2. Programs
  3. Units (Shared across multiple Programs within one vocabulary)
  4. Learning outcomes

When certain pages were loaded, all of these terms were called which caused the server to run out of memory and left us with a blank page. To avoid this we removed the schools vocabularies for Drupal’s node creation and added a nice new AJAX driven interface from which the the user can navigate gracefully through the four levels of taxonomy one by one without reloading the page, thus avoiding the memory problem as it now only loads a few hundred terms at a time.

What specific feature did you like most about this project?

The most important features are the tagging system, the reading list functionality and the integration with the EBSCO Host Discovery Service.

EBSCO is a content library which we integrated with drupal through a module provided by EBSCO. Through the HN Global tool, users will be able to search the EBSCO library (which contains millions of useful books, articles, journals, videos etc) and can then tag, categorise, or bookmark resources of interest.

What contributions were made to the Drupal Community?

I created a module that creates a dedicated Edit Password page. I have also patched the EBSCO module.

Is there anything you’d like to add to additional phases?

I would like the user to be able to see his/her activity in an activity feed as part of their profile. I would also like users to be able to add a blog post, add each other as friends or connections, send messages to one another and recommend content to each other.

In what ways does this project showcase BrightLemon putting the User Experience first?

  • Content tagging system
  • Surfacing of Ebsco’s vast amount of content
  • One click enroll/unenroll
  • Responsive design for mobile devices

Key Lesson(s) Learned?

Ajax driven pages can create a better user experience