247 TownHall - A community forum dedicated to change
247 Townhall is a community forum that allows site visitors to post videos and stories, and connect with others who share their interests in self-expression and polical and social activism. This Drupal site was recently launched by One Economy, with development services provided by OpenSourcery.
This site uses a wide variety of both contributed and custom modules to provide a unique Drupal user experience. For example:
- Site visitors can maintain custom lists of their favorite content.
- Avatar images are automatically resized and given rounded corners and orange borders.
- Site contributers can submit custom background images for article postings.
- Site contributers can submit videos on node/add and node/edit forms that are automatically, and silently, uploaded directly to youTube for processing and display.
- Site administrators can aggregate interesting user-generated content into a "series" or online publication.
Development Process
The key to the successful deployment of this site was the agile software development approach that OpenSourcery took with One Economy. This was a complex development project - with tight internal deadlines, numerous stakeholders, and significant functional requirements. OpenSourcery has partnered with One Economy on a number of projects (including One-Economy.com) and both organizations approached this project with a strong commitment to consistent communication and a tight, organized feedback loop. Solid project management tools and processes, as well as short development iterations and frequent, automated code pushes and database migration scripts allowed us to manage the complex scope and timeline for this launch.
Since there were several staged launches of this site, after the first one, we could no longer simply upload a new database to the production server. Using a slightly modified version of the crud.inc file that comes with the Install Profile API, in combination with hook_update_N() we were able to script complex site changes and make site upgrades as simple as visiting the update.php page on the production server.
Agile Drupal development processes are something that we're really excited about here at OpenSourcery and we look forward to talking with other shops and developers who share out interests in applying the agile approach to Drupal development. Connect with Brian and Jonathan at DrupalCon Szeged or comment on this post to talk more about this topic.
Key modules
-
Content organization and structure
-
The main content types for the site (Video and Writings) are tied together into Series via a combination of Content Taxonomy, Node Auto Term (which provides the method of associating individual nodes back to one or more series) and a lot of custom theme work.
Videos, writings, series and users are also tied to one or more neighborhoods via stock taxonomy, and some custom logic used for the content taxonomy field defaults.
-
Emfield
-
This module allows site editors to use Brightcove video, which can be customized a bit more than YouTube in appearance.
-
Video Upload
-
Module created during developement of 247TH to leverage YouTube's new API which allows for uploads directly to YouTube.
-
ImageCache + ImageField + The watermark patch
-
These 2 modules, in combination with the watermarking patch, provide most of the rounded images on the site. Additionally, the custom backgrounds on the writings pages are done via a watermarked imagecache preset, and some creative theme work which swaps in the imagefield as the css background image.
Social networking modules
-
Buddylist
-
Provides the Friends functionality.
-
Favorite Nodes
-
Patched to integrate with views, this module provides the My Favorites functionality.
-
Fivestar
-

Content ranking at it's finest. Via the Voting API and module, the ranked results are sorted with a few other factors to create the What's Hot list. Thanks to the excellent Fivestar documentation creating a custom star widget was very straightforward.
Site Editor Tools
-
Editor-friendly blocks
-
Rather than allow the content of the blocks to be changed via the block administration page (where they can be moved, or turned off, etc), simple modules utilizing hook_menu() and hook_block(), plus a little bit of FAPI goodness were used to generate many of the blocks on the site. This allows the site editor to change out the content, without exploding the layout.
-
Editor-friendly front page
-
The front page is a single node, layed out via the standard node-type.tpl.php template, and constructed with CCK. Custom functions in template.php allow for the site editor to upload a new flash app, and a corresponding xml file, all via filefield fields in the node type.
The series content is constructed in a similar method, using the aforementioned watermark-patched-imagecache for all the rounded images that appear in various lists throughout the site.
Notes
- Thanks to Campsoupster for helping with this write-up.
- While I haven't tested it, instead of using the watermark patch mentioned above, the relatively new Imagecache Actions module would most likely be capable of producing the rounded images on this site.
- Images are coming as soon as they're enabled for this post. Until then, they can be seen here:

