Why does this website deserve to win?:
TheWeek.co.uk is one of the 35 plus websites in the online portfolio of Dennis Publishing (www.dennis.co.uk) and was the first major site to launch on Dennis's own Drupal 7 distribution.
The website brings readers up-to-date with current affairs at home and abroad, through an easy to navigate system that delivers rivers of news based around topics. At the same time, it allows publishing editors to easily publish and schedule stories with advanced media management.
The site launched with sponsorship from Rolex, providing a bespoke 'Daily briefing' page which also feeds The Week's iPad app.
TheWeek.co.uk is built off of our own Dennis Publishing Drupal 7 Distribution, which combines Drupal 7 with Amazon Web Services. The distribution features a combination of existing contrib modules on Drupal.org, as well as new modules written during development.
Building TheWeek.co.uk resulted in the development of and porting to D7 some existing contrib modules. As a general rule, any custom functionality being developed that could be generally useful outside of TheWeek.co.uk, was considered a candidate for contribution to Drupal.org. Some of the modules that originated from our distribution, or we have contributed to their development are listed below.
How It Was Done (optional):
Modules originated or contributed to:
* JW Player - Drupal 7 Version
* JW Player Google Analytics Pro2 - Integrates the Google Analytics Pro 2 plugin provided by LongTail Video with the Drupal 7 module for the JW Player.
* Short Title
* Intellitxt - Integrates Vibrant Media contextual advertising within premium content for publishers.
* Cloudfront Invalidate - Provides a wrapper around the AWS SDK library to allow modules to easily invalidate paths.
* Default Permissions - Default Permissions is a simple module designed for distribution developers who want to manage a default list of module permissions in a single location that is easy to maintain.
* AudienceScience - Integrates AudienceScience behavioural targeting platform that enables publishers to deliver relevant advertising to advertisers, based on users' online behaviour.
At the theming layer, TheWeek.co.uk uses a sub-theme of the base theme within the Dennis Distribution which provides the sub-theme with grid calculation, generic style and layout. To improve the use of CSS and cut-down rule duplication, TheWeek.co.uk sub-theme uses the LESS syntax (http://lesscss.org/, http://drupal.org/project/less)
Other interesting implementation details include:
- Editorial workflows were created using Views Bulk Operations and custom Rules.
- File Entity has been used to store image credits, title and description with files themselves for re-use. Gallery is simply a displaying rendered file entities.
- We started the project in the early days of D7. We needed to port DART to D7 ourselves and contributed multiple patches for bugs in other modules. We wrote the first patch to make nodequeues exportable using machine names.
- For improved performance we use Varnish, Memcache, and CloudFront as our CDN. Static files are served via Nginx, Drupal pages by Apache. Entity Cache is used to cache loaded entities in Memcache to cut down on repetitive field queries.
- We needed to improve caching directly before launch. At the time very few Drupal 7 compatible caching modules existed. We created Views Simple Cache and Varnish Simple Purge within a few days to solve our problems with cache expiration.
- The Week uses the AmazonS3 module for storage and playback of video files using Drupal 7's new support for PHP stream wrappers.
- Where possible we use AWS services such as RDS for MySQL and Elasticache in place of Memcache for simplicity, ease of maintenance and automatic fail over.
- Servers are managed using Puppet. Deployments are made via Jenkins using Fabric scripts. We also use Jenkins for our automated CI builds, triggered by new commits.