Menu

Society for Human Resource Management – Case Study

May 24th, 2011

SHRM Chapter Websites: Worldwide Membership, Powered by Drupal

SHRM screenshot
The Society for Human Resource Management (SHRM) is the world’s largest association serving the needs of the HR industry. With more than 240 chapters in over 140 countries worldwide, SHRM represents a total membership that exceeds 250,000 human resource professionals.
Each SHRM chapter oversees its own site which acts as a local hub of SHRM activity, providing news, industry updates, and event and conference announcements, as well as a complete member directory. Site updates are deployed by SHRM headquarters, while administration is handled by local chapter directors, who may or may not have any experience with website management. Here is an example of the new chapter site capabilities: Cumberland Valley SHRM.

Pitfalls of a Proprietary System

The original SHRM chapter site network was run on a proprietary CMS created with IIS and ASP under Windows. Expensive, clunky and difficult for newly-minted SHRM chapter webmasters to use, only a select few were able to successfully navigate the system well enough to add or modify content on their local chapter site. Seeing the need for a unified, accessible, and easily extensible solution, SHRM approached Saforian to revamp the chapter site network.

The Open Source Approach

Our challenge was twofold: not only did each SHRM chapter need a well-architected, branded site that less web-savvy administrators could comfortably maintain, they also needed a way to migrate old data stored in the existing MSSQL database to the new set-up.

We knew out of the gate that new websites would need to be rapidly configured and deployed as new chapters were founded, and we also knew that the chosen CMS would need to dextrously accommodate a significant amount of custom code.

Drupal’s extensible multi-site functionality, ease of customization, open-source ethos and massive module base fit the bill as an ideal platform replacement for the existing system.

Keeping Updates Manageable

It was clear that without a networked approach, performing maintenance and updates on 240 websites would quickly become a logistical nightmare. Leveraging Drupal’s multi-site capabilities, we crafted a site configuration to keep maintenance as undemanding as possible.

Each chapter site uses a single code base, but separate databases and files directories, meaning that while module and Drupal core updates need only be deployed once, each site has the flexibility to manage divergent content, users and settings.

Command-line Fu

The Drupal shell utility Drush was instrumental in keeping maintenance and deployment times down, giving us the power to automate updates or install modules to all sites with a single command. Coupled with the Permissions_API, Drush let us batch set module permissions via the command line.

Merging Old and New

Data migration was at once the most challenging and interesting aspect of this project. The old chapter sites ran on IIS/ASP/MSSQL, and each site was associated with anywhere from dozens to hundreds of members, files and disparate content types. After a several-weeks-long investigation into the best transfer process, a series of tools and procedures were developed to carefully relocate and reorganize the data.

Working with batches of five chapter websites at a time, we first ran custom scripts to move production data and files into a Drupal 6/MySQL system hosted on a migration server. Once any migration errors were fixed, code was placed in open source version control system Subversion, and the chapter site was transferred from a migration server to a staging system. The new site was cleaned up using Drupal, and finally transferred to its home on the production system, where site data underwent a thorough review from front-end and back-end users.

MSSQL and MS Access data was scrubbed and inserted into MySQL using a custom-built Drupal module, which could be run via the Drupal admin panel or the command line. The module imported HTML pages from the previous system and jettisoned superfluous tags, maintained the integrity of user profile data during transfer, and slotted survey results from the old system into a Drupal Webform-readable format.

Snazzy Features

After all was said and done, the completed SHRM chapter sites were intuitive, flexible and packed with useful tools.

SHRM Administration Panel

Drupal made it easy to create a tailor-made administration panel that helps administrators jump straight to the most important tasks while keeping the techie stuff safely out of the way. Through the panel, administrators can add and edit content, activate or disable memberships, tweak the registration process, assign roles and permissions, manage comments, and edit navigation menus.

Easy Site Configuration Panel

Using this fire-and-forget site setup interface, administrators can choose from five different template color schemes, upload logos, set the site title and contact information, set home page block configuration options, and integrate their site with Facebook, Twitter and Linkedin.

Searchable member directory

Provides member search by name and keyword, or by alphabetical browsing. Administrators can also use the directory as a filtering tool to send out mass emails to their member base, or only to certain member categories.

Customizable Member Profiles

While SHRM global requires that certain profile data be gathered on each member, local branches wanted the ability to add their own fields to member profiles. The Drupal Profile module was adapted to give administrators the power to define customized profile fields for their members, while allowing members to choose whether fields are private or publicly viewable in the member directory.

Paypal Integration

Chapter administrators are able to seamlessly accept donations and event registration payments via Paypal.

Meetings & Events Management

Admins were given an easy way to keep their members abreast of SHRM’s busy conference schedule with custom event content types automatically hooked in to collapsible home page blocks.

Forms & Surveys

The forms and surveys feature lets administrators gather, store, sort and download data from members and non-members.

Training Center

A detailed, all-encompassing built-in training center was created and included on each chapter site, with dozens of video tutorials and articles to help new administrators perform common tasks.

Notable Contributed Modules

Backup and Migrate - Simplified the process of migrating databases from development, staging and production environments, particularly useful in that it fully supports Drush integration.
Calendar – This module came in handy in the creation of a custom events calendar for SHRM conferences and chapter meetings.
CKeditor and CKfinder – A powerful WYSIWYG library and interface.
Private – Node access control for members-only content.
Scheduler – Future-dating content publishing and unpublishing.

Infrastructure

Four total servers were used, here are the configurations:

2 Load Balanced Web Servers

  • Processors: Two (2) Intel Xeon Quad Core E5410 2.33 GHz w/ 1333 FSB
  • Memory: 8 GB DDR2 PC2-5300
  • Hard Drives: 2 x 146GB SAS 15K RPM Mirrored in Raid 1 (for redundancy)
  • OS: CentOS 5.5 64bit (Redhat Enterprise)
  • PHP: 5.2.10

MySQL server (with a second identical one for failover)

  • MySQL server (with a second identical one for failover)
  • Processors: Two (2) Intel Xeon Quad Core E5410 2.33 GHz w/ 1333 FSB
  • Memory: 8 GB DDR2 PC2-5300
  • Hard Drives: 2 x 146GB SAS 15K RPM Mirrored in Raid 1 (for OS) Hard Drives: 2 x 146GB SAS 15K RPM
  • Mirrored in Raid 1 (for MySQL)
  • OS: CentOS 5.5 64bit (Redhat Enterprise)
  • MySQL: 5.1.34

Accomplishing the Work

At Saforian we believe in open source software and have promoted it since our inception. Drupal has played a significant role in allowing us to continue to create flexible, web-based user experiences that foster great visual design and efficient, easy-to-use functionality. It has become our go-to CMS system.

This particular project utilized a team of five individuals with the majority of the development effort being handled by a single, senior-level developer. We had several work streams running simultaneously to ensure an on-time release. Strategy and back-end architecture work started the project, with design and production work following and then full development and migration to finalize.

Our information architect and designers worked initially to define the structure, content hierarchies and overall design styling. An interactive prototype was created to support testing and to serve as a vehicle for gathering feedback from stakeholders and chapter members. Once the design was approved, we quickly moved into our development efforts, which included front-end HTML template production work; Drupal theme integration; module development and configuration; and complete migration exercises.