Drupal Connect was contracted to upgrade the existing CNSNews.com site and add some features with the primary purpose of making it easier to add and manipulate content quickly when new content becomes available. In addition, we updated the existing outdated design.
Content Organization
Prior to this project, the site was using Draggable Views for manipulating content display on the various pages. This was replaced with the powerful combination of Panels, Views, and Nodequeue modules. Using this combination, editors are able to easily add, rearrange, and remove content on the various pages. In addition, administrative views were created that allow editors to view the various content types in a tabbed interface. Within each tab, they can use exposed filters to search for content with specific criteria.
Images
As part of the content, images play an important part in adding to news stories. The rectangular shape of the images presented in the design presented some challenges when it came to cropping them to display the relevant portion of the image within the prescribed shape. The Imagefield Focus module was used along with some custom code to handle file-saving issues to give the editors fine-grained control over image display. In addition, TinyMCE, IMCE, and Filefield Sources modules were used to allow the users to upload new images and search for already-existing images.
Video
Video is one of the primary types of content used on the CNS site. The functionality to upload and display video clips was implemented with a combination of Video module, Zencoder, Amazon S3, and Flowplayer API. Video has support for S3 and Zencoder built in, so it is simply a matter of creating the S3 and Zencoder accounts and entering the credentials for each account into the module configuration. For playing videos, all that was required was to install the module, enter the configuration options, and select the options to use Flowplayer for the appropriate video file types. In addition to the off-the-shelf modules, with a few lines of custom jQuery, we were able to display the embed code for each video so that they can be easily embedded on other sites.
AP Feeds
Since this is a news site, one of the primary sources of content is the Associated Press news feed. The AP feed is quite large and somewhat complex in how it provides articles and images. Using a custom module that had been initially created by a previous site builder, Drupal Connect created a new custom module that ingests the AP items, which includes adding new items and updating existing items as they are added by the AP.
Search
Prior to this upgrade, CNS had been using the default Drupal search for site content. With the large amount of content that existed on the site, the index tables in the database were very large, which used tremendous system resources for both indexing and searching the content. To alleviate these problems, Apache Solr was implemented for site search. This provides many benefits, including offloading the indexing to the Solr index, faster searching, and a faceted search that allows the users to drill down and find specific content without having to wade through pages of results.
Performance
Varnish was used on the server cluster in addition to CSS aggregation to provide caching and increase the page load speed for anonymous users. Because the site is frequently a recipient of the "Drudge effect" (similar to the "Slashdot effect"), caching is crucial for maintaining site performance during these periods of very high page view volumes.