Scott Wespi, CTO ofNashville's Darkstar Design, walks us through the process of how his team helped Pearl Drums execute their vision and freed their Marketing department.
MODX Revolution performed perfectly in the spotlight.
The new Pearl Drums website uses MODX Revolution (Revo) to serve thousands of visitors every day. When Pearl first approached Darkstar Design to overhaul their website, back in 2007, we were unable to use MODX Evolution due to some limitations with permission and scaling capabilities. Instead, we built Pearl's site with another Content Management System (CMS) that turned out to force inflexible and rigid markup, was difficult to extend, and was not very user friendly.
Five years later, we didn’t have to think twice about using Revo. With a powerful caching engine that could support thousands of pages, a robust Access Control (ACL) system for users with different roles and permissions, and an extensive API that we could use to meet Pearl’s unique needs; there really was no better choice for this huge website and its thousands of daily visitors.
The first challenge was migrating the data from Pearl's old CMS system and into the new one. Once we got the data out of the old database, however, getting it into MODX was easy. Instead of writing complex queries to insert into multiple tables per document resource, we used the MODX API with a command-line PHP script to add new resources, assign template variables, and update resource groups.
Another challenge was making thousands of resources (documents etc.) inside the MODX manager, well, manageable. MODX is great at serving these resources to site visitors and the caching engine didn’t skip a beat. However, for a content manager user, to see thousands of resources in the MODX Manager resource tree, would make it painful to navigate—especially when those resources are contained in a single parent resource. This was the case for over 600 Pearl Artists, about 1,500 dealers, and 3,000 news articles and events.
We solved the management experience by creating custom resource types specifically for the artists, dealers, news articles and events and didn't display them in the resource tree. From there it was relatively simple to create a custom component interface to let content managers search, add, update, and delete these resources.
Search Engine Optimization
Every web developer knows that moving a site from one system to another can cause search engines and bookmarks to go haywire when a page gets a new URL. On a smaller site, it's not difficult to redirect to the new URLs using an .htaccess file and ensure visitors find what they're searching for, but when you have more than 10,000 unique resources, an .htacces file is impractical.
To solve the redirections, we created a database table to map old resources URLs to new resource IDs and populated it as we migrated our content to MODX. Once we had our data in place, we created a simple plugin to run on one of the MODX system events OnPageNotFound. Our plugin would simply check the table for the old link, then redirect to the new resource with the search engine friendly “301 Moved Permanently” header. Site visitors found what they were looking for and search engines could update their records.
We had to make sure we could load pages as quickly as possible to satisfy the thousands of users who visit the Pearl Drums site every day. Using a Rackspace Cloud Server was a great start and the caching engine in MODX Revolution took care of most of the work for us, but we did make a few of our own tweaks along the way.
Changing the way images were handled was a huge optimization that vastly improved loading time. In an image gallery, a single photo can have up to three different sizes, and it’s important that pages load quickly. Processing dozens of images on page load with the popular phpThumbof plugin was a significant drag on our response time. We wrote a plugin to replicate the phpThumbof functionality on image request rather than page load. This allowed the page content to load quickly while the images came in as they were processed, giving the user a better experience.
We opted to use Ajax to retrieve the rich drop-down menu at the top of every page, which allowed us to take better advantage of Revolution’s sophisticated caching engine. The drop-down feature showing the latest news, featured artists, and products also had to change. Since this data is updated so frequently and is used on every page on the website, we essentially had to kill the cache on the entire site every time a news article was posted.
We separated the drop-down content from the rest of the menu, and pulled it in with an Ajax call on page load to avoid refreshing the cache so frequently. This allowed MODX to preserve the cache on pages that didn’t change frequently while keeping the content in the drop-down menu fresh. This gets the content to the user as quickly as possible (typically less than a second) while the menu content loads in the background (less than 2 seconds after the initial page request).
We were extremely excited to begin working with MODX as our Content Management System. As the largest drum and percussion manufacturer in the world, we need to manage and create large amounts of content. Introducing new software usually requires a learning curve but the system felt very intuitive and quickly integrated itself into our Marketing Team’s workflow. MODX also allowed us the flexibility to shape the website exactly how we envisioned it which was brilliantly executed by Darkstar Design. Pearl Corporation is a company that thrives on delivering the highest quality musical instruments and service in our industry and we’re happy that MODX Content Management System will play an important part of continuing our legacy.
Derek Wolfford, Marketing Manager of Integrated Media
The new Pearl Drums website went live for the 2013 National Association of Music Merchants (NAMM) show in January and was a huge success. MODX Revolution really was the best choice for building such a large website with so much traffic. It easily met all of our performance goals and gave us the freedom to structure our markup the way we wanted. It also gave us the tools to build and customize a great manager that gave Pearl Drums complete control over their content. Darkstar Design is looking forward to building our next enterprise-level website with MODX Revolution.