<img alt="" src="https://secure.agile365enterprise.com/790157.png" style="display:none;">

Feature driven development for "Publications"

author
By Team Srijan Apr 19, 2011
Feature driven development for
Feature driven development for

About the Client

Established by the U.S. Congress in 1960, the East West Center serves as a resource for information and analysis on critical issues of common concern, bringing people together to exchange views, build expertise, and develop policy options. The Center is an independent, public, not-for-profit organization with funding from the U.S. government, and additional support provided by private agencies, individuals, foundations, corporations, and governments in the region.

Over fifty years of serving as a U.S.-based institution for public diplomacy in the Asia Pacific region with international governance, staffing, students, and participants, the Center has built a worldwide network of 57,000 alumni and more than 750 partner organizations. 

About the project

The larger project engagement with the client has been to migrate their TYPO3 based website to Drupal. The project has been routed through our partner ForumOne Communications in the US. One of the key requirements of the website was to build out a robust publications library, with publications well integrated with the rest of the site. We decided to build this out as a Feature.

Publications - Feature Driven Development

The "Features" module

A feature is a collection of Drupal entities which taken together satisfy a certain use-case. It provides a UI and API for taking different site building components from modules with exportables and bundling them together in a single feature module. A feature module is like any other Drupal module except that it declares its components (e.g. views, contexts, CCK fields, etc.) in its .info file so that it can be checked, updated, or reverted programmatically.

For more information please see: http://drupal.org/project/features.

Key advantages of following the "Features" driven development

Following the Feature Driven Development route, helps in the following key ways:

  • avoids the trouble of adding code/database changes to dev/staging/live servers
  • sets up the content types,menus,views, workflow just by enabling a module
  • no need to write custom code as everything comes wrapped up in a module
  • you can use Drush commands to update and do other stuff with your feature

Features based "Publications" section

On the Drupal site, we created a dynamic central hub for EWC resources. Our resources solution provided for searchable and filterable resources based on metadata such as programs, sector, and content type that will be applied across the site. We worked with Ubercart (www.ubercart.org)  and a set of related modules in Drupal to set up client ordering processes. The features for Publications module include:

  • add/edit/manage publications
  • associate the publications with series for categorization
  • allow free/priced download for a publication
  • provides links to navigate or search the pulications bookstore 
  • ubercart enabled checkout with default payment method of COD, check and credit card and default payment gateways as test gateway and www.authorize.net
  • ubercart inventory management
  • shipping charges for each order based on the delivery country
  • user roles to manage ubercart store and publications
  • offline ordering/manual order generation by admins
  • coupon association for complimentary/discounted publications
  • menus/views provided to generate custom admin dashboard, frontend pages
  • generate reports of sales/customers/puiblications
  • export of reports into CSV format
track the download of publications

Here's the link to the sandbox project: http://drupal.org/sandbox/raman2385/1156164

Subscribe to our newsletter