With a project of this magnitude, one of the first things Mediacurrent likes to do is to conduct an in-depth, on-site discovery and strategic planning meeting. In this case, Mediacurrent's Senior Project Manager visited Cambridge to meet with the key Pega stakeholders. The sessions are designed to define the feature set of the new site, and determine the goals and success factors for the project. In short, what are we trying to accomplish?
The goals that were identified included:
- Create a place to collect great ideas and resources. The legacy site lacked organization through tagging and dynamic relationships of content offered by Drupal.
- Improve conversion, measured by membership registrations, profile updates, contact requests and other user interactive features.
- Increase unique visitors and time spent on site.
- Improve page load times.
- Remove inefficiencies from the publishing workflow of the legacy site.
- Improving performance and page load times.
- Better scalability for support and maintenance, as the incumbent site had a heavy dependency on a few people.
Pega's incumbent site was a homegrown, ASP-based framework that was literally bursting at the seams. This type of cobbled system is not uncommon whenever an enterprise-level organization begins to experience rapid growth. There were a number of challenges to highlight:
Performance/Caching: Pega has a large amount of authenticated vs. anonymous traffic, which can potentially bottleneck performance. Pega used Acquia hosting with a dedicated database server and load balancer. In addition, the team relied on Pressflow, memcache, authcache and various other contributed modules to handle Pega's authenticated and anonymous traffic.
The site's performance for anonymous traffic showed immediate improvement over the previous version, with first loads of the homepage improving by more than two seconds and repeat visits reduced from more than eight seconds to less than one.
Performance for authenticated traffic disappointed at first. With the help of Acquia and tools such as New Relic to identify and remove bottlenecks, the site's performance for these users was also improved over time.
Also of interest, during the project Mediacurrent developed a new approach for page caching aimed at striking a balance between longer cache lifetimes and fast updates when new content is published. For this, the powerful Rules module was leveraged. Jay Callicott detailed the approach to rules-based cache clearing in a blog post.
Migrating/Merging Content: Pega.com had large amounts of static content and database files to merge with their forum (Drupal) and blog (Wordpress) microsites, streamlined into one Drupal site. Thousands of attachments in the legacy system made this a particular challenge. Without a turn-key solution to achieve this custom import and merger, Mediacurrent used a hybrid approach with contributed modules, custom code, drush scripts and some old-fashioned copy-pasting.
Private Groups: Pega wanted to provide customers with a branded homepage area for private dialogue. With Panels powering the pages, Views to fill in the content and Organic Groups handling the user access and content grouping logistics, members of Pega's impressive client list gained their own private versions of pega.com. Extra steps were necessary to prevent content flagged for groups from appearing in the site's public search results.
Translation: Pega's editors needed tools to translate menus and content into four languages. Translation affects content, views and menus and has a cascading impact on nearly everything in a Drupal site. It was a real challenge to not only find all the related translation contributed modules, but to configure them all properly.
Download tracking: Pega relies heavily on statistics for document downloads and media plays. Using a custom solution, metrics are tracked via a simple redirect which provides reliable statistics for the marketing department.
Every content type and major feature of the site is represented as a Feature for these reasons:
Clarity: Any overrides related to a content type live in the feature created for that content type, encapsulates views, content types, panels, taxonomy and .module code into 1 module feature
Performance: views are retrieved from code instead of the database
Backup: features backs up import features of the sites, views/content types/etc to code which is version controlled
Features of note:
VBO Admin Content: View-based VBO (views bulk operations) admin content screen replacement has title search, ajax and is customizable to add client specific filters
VBO Admin User: View-based VBO admin user screen replacement has username/email lookup and is customizable
Rotating Content Banner: A generic module that combines nodequeue, imagecache, a view and a CCK content type to give the client an easy homepage article/image rotator. This is a module that Mediacurrent now uses on multiple sites.
Pega My Library: integrates with flag module to allow users to view and share content they've saved (flagged) with other users. Uses a VBO view to prepopulate a form that emails users by email.
Pega Resource Search: Contains views + panel page and works with ajax filters that lets users easily filter resource content and save to their library.
Pega Group: Combines a panel page + views + CCK content type to create a custom group landing page with views pulling relevant group content for private customer homepages.
Pega Editor's Choice: Combines jquery with views + a CCK content type to allow editor's to setup an arbitrary collection of content folded into a jquery accordion widget. They can additional control the visibility by selecting which node pages or paths they want the block to appear on.
In conjunction with the migration from its legacy platform, pega.com was also redesigned as part of the project. The redesign was one component of an overall re-branding of all company materials (logo, collateral, etc). Pega's marketing team worked with third-party design and marketing agencies to develop the new brand. Mockups and style guides for the new web site were developed as part of this process. In this scenario, Mediacurrent typically provides consultation for the client and third-party agency, to ensure that the pages being designed can also be efficiently transformed into a Drupal theme. Once the designs were finalized and approved by Pega, PSDs were handed over to the project team to build the site's custom theme. The design and theme left plenty of room for flexibility and customization on individual pages, as the Pega team leverages Panels and the TinyMCE WYSIWYG editor to create different layouts and presentation styles for new content as needed.
Pegasystems' adoption of Drupal is another feather in the cap for the community. With each large enterprise that is added to the platform, the community benefits in many direct and indirect ways. Those in the Drupal community can be particularly proud of winning over one of the fastest growing technology companies that places a corporate emphasis on thought leadership.
The pega.com migration and redesign proves once again that Drupal can support large, fast-moving organizations with flexible and highly configurable solutions.
Best of all, Pegasystems is coming back for more from Drupal. The pega.com platform is currently being extended into a multi-site installation, to serve other microsites and individual initiatives for additional departments within the company. Pega describes its patented technology with a registered trademark phrase of "Build for Change." Drupal has helped the pega.com web site remain in line with this philosophy.