Application Development

Drupal Case Study: Penton's Drupal Comparison Tool

Achieve Internet

Project Profile

Penton Media, Inc. is a 125-year-old business-to-business (b2b) media company that produces digital and print publications, and coordinates live events designed to provide buyers, sellers, and industry experts with the information they need to make decisions. Penton has deep and long-running experience in over a dozen industries with an online reach of over 90 million unique visitors a year. 
 
One of Penton’s recent digital initiatives involves creating a Drupal-based comparison engine for eventual use on many different web properties. The engine allows site visitors to select items for comparison, then sort and filter them based on a variety of attributes.
 
Consumer and business-to-business (b2b) sites frequently offer product-comparison functionality so shoppers can efficiently investigate the features of an array of products. However, most of these sites focus on a narrow group of products and are therefore applicable in only one context. Penton’s comparison needs are more diverse, and their goal is to use the same engine to power up to 150 different web sites that compare a wide array of products and services.
 
Given the architectural complexities and the deep Drupal knowledge needed to develop this dynamic tool, Penton turned to Achieve Internet. This was an easy choice given a key member of the Penton management team had worked with Achieve on past projects ranging from Fast Company to Disney’s Ideal Bites. The Achieve team, experienced in creating reusable components with high scalability demands, designed and delivered a solution that leverages the existing Drupal framework while extending functionality to give Penton a business advantage.
 
 
Figure%201%281%29-487x306.png
 
Fig 1. Penton’s Comparison

Project Approach

The Penton project managers understood, in business terms, the desired functionality, and they relied heavily on Achieve’s expertise to finalize the project goals and architect a solution. After this collaboration to finalize the project requirements, Achieve investigated Penton’s existing infrastructure and then set out to design a cluster of Drupal modules for the comparison engine and a scalable architecture for deployment.

Comparison Engine

The engine must be able to compare a wide variety of products, and other things such as companies and services. Examples include:

  • vehicles, using data point attributes like engine size and fuel efficiency
  • vitamins and supplements, comparing calorie count, country of manufacture, certifications, supply status, and active ingredients
  • agriculture crops, such as corn and soybeans, comparing seed source, weeds and pests they are naturally resistant to, and ideal planting conditions
  • companies, using data such as market capitalization, industry, and market share
  • services, using data such as number of members served, regions served, and category of service
  • and more…

 To satisfy Penton’s needs, the core engine must be re-usable, while the components that handle product details must be configurable.
Figure%202.png
Fig 2. Core engine remains the same while configuration changes to handle different comparison items.
 
In building the engine, Achieve created several modules, taking care not to hard-code logic related to the types of items the engine compares. Instead, configurations for what types of items to compare, which data point attributes to use, how many attributes to display in the initial comparison, and many other options, including configurable email notifications and messaging on the site, all happen via web-based administration. This makes the engine more flexible, and it enables non-technical administrators (those unable or unwilling to edit code) to quickly deploy a comparison site.

Comparison Display & Feature Access

When companies sign up to showcase their products on certain Penton web sites, they pay for a “service level agreement.” A lower-cost service level agreement displays smaller-sized images of the company’s products and shorter product descriptions on the web site, and does not allow for certain features, such as “Request More Information” emails from interested site visitors.
A higher-cost service level agreement, such as VIP companies, shows larger product images, longer product descriptions, and gives access to more features.
Some of the display features are controlled on the data input side, where the data itself, such as the product descriptions, are limited. Custom Drupal modules handle the remaining display options, enabling Penton to offer companies a variety of service levels.
On the end-user side, typical features, such as saving frequent and favorite comparisons, are available to registered users on the comparison sites.
Finally, on the Drupal side, since the comparison output will sit in over 150 different sites, the Achieve team enabled some of the engine’s modules to override theme settings when appropriate.

Integration & Drupal Architecture

While developing the comparison engine, Achieve also designed a Drupal architecture that:

  • ensures performance and scalability and
  • integrates into Penton’s existing infrastructure.
Third-Party Integration

Penton’s product and company data is collected via a non-Drupal interface, and the Achieve team needed to address this integration point in a repeatable fashion. A Cron job, sufficiently flexible to deal with different data types, pulls data from this third-party database into Drupal to create node records and update meta-data. Achieve also created a set of quality assurance tools to ensure accurate import of new, updated, and deleted records.
Figure%203-451x279.png
Fig 3. Penton’s Drupal Architecture

Performance

With each comparison site handling multiple simultaneous connections and accessing up to a million records, Solr (http://lucene.apache.org/solr/), the Lucene project’s enterprise search platform, is a natural fit.
 
The Achieve team’s expertise in Solr configuration allowed them to configure it to index the Drupal data and optimize the comparison engine’s performance. Additionally, Solr is configured to respond to the comparison requests and push the all the relevant data. Drupal is only involved in parsing the data for display, which greatly improves the performance of the comparison engine sites.

Project Success

Achieve and Penton partnered to create the project requirements, and Achieve architected a solution that fit those business objectives. As important, the comparison engine satisfies immediate needs and also provides flexibility so it can be used as more sites come online.
 
The engine is a piece of technology that allows Penton to execute the core of their business—adding value to b2b transactions by effectively managing and sharing information and making it accessible to end users.

More about Application Development

With over 100,000 users worldwide, Drupal is one of the top content management systems available. It's perfect for sites that require rich features and controllable customizations. Here are 7 ways that Drupal is more flexible than your current CMS.
API Healthcare
Healthcare APIs Bring Innovation