The Rainforest Alliance works to conserve biodiversity and ensure sustainable livelihoods by transforming land-use practices, business practices and consumer behavior. Based in New York City, with offices throughout the United States and worldwide, the Rainforest Alliance works with people whose livelihoods depend on the land, helping them transform the way they grow food, harvest wood and host travelers. From large multinational corporations to small, community-based cooperatives, we involve businesses and consumers worldwide in our efforts to bring responsibly produced goods and services to a global marketplace where the demand for sustainability is growing steadily.

In August 2010 Appnovation Technologies was chosen by Rainforest Alliance to re-create their website in the Drupal platform CMS while keeping all existing content. Appnovation was chosen to develop the new site due to their successful development experience with other large NGOs like the World Wildlife Fund.

Why Drupal was chosen: 

The Rainforest Alliance website was running on both a ColdFusion based setup and static ColdFusion pages on two MSSQL 2005 databases. They found the backend of this system to not be as user friendly as they wanted it to be and that content management was not as efficient or simplistic as they liked. They made the decision to go with Drupal as it would unify their site management under one content management system making the site and content easier to update.

Describe the project (goals, requirements and outcome): 

The Rainforest Alliance website was running on both a ColdFusion based setup and static ColdFusion pages on two MSSQL 2005 databases. They found the backend of this system to not be as user friendly as they wanted it to be and that content management was not as efficient or simplistic as they liked. They made the decision to go with Drupal as it would unify their site management under one content management system making the site and content easier to update.
The client was satisfied with the way their site functioned on the front end so the main challenge for Appnovation was to re-create the existing site in Drupal while maintaining all the same functionality and migrating over 10,000 files of existing content (see Content Migration from a Mysql Database to Drupal Using Batch Operations in the Appnovation blog for more information). The entire process was lengthy as Appnovation’s developers needed to understand completely how the original site worked and find a way to translate that into the Drupal equivalent.

The most complex part of the site that needed to be mimicked was the multilingual functionality. The Rainforest site features Spanish, Japanese, German and French. It uses a non-conventional setup for with variable sections ie a section menu can appear in German, but not Japanese. Appnovation needed to provide a flexible way to switch between different languages at any time on any page while providing the client with the ability to create additional translated menu items and pages at any time. To achieve this the developers used a two step process:

1) Using the translation module, “Internationalization”, to power all the translations for menu items and nodes, making the Language Drop-down module able to switch languages. The module, Context, then made it possible to dynamically place the correct menu onto the page with the chosen language.
2) To ensure that multilingual works properly, every page MUST be a node. This means that “callback” cannot be used. Instead, the developers simulated page callbacks by sitting a custom page on top of a placeholder node.

Custom Technologies

Custom Technologies

About 60% of the site is based on specialized technologies to provide the requested functionality as well as look and feel:

  • Migration process was driven by a custom designed engine that governs the data transport from MSSQL to MySQL. Converts ColdFusion pages into Drupal nodes, parses content to fit the new format, and associates pages with their translation correspondence.
  • Slideshows are powered by third-party jQuery scripts with additional customizations done during development
  • All pages are built using nodes even for custom pages, where it is traditionally built using callback functions, are based on node constructs – callback functions are mimicked.
  • Apache Solr is used for all search related operations.
  • Contents of PDF files are made searchable as a result of PDF scan done during file upload.
  • UI functionality mostly given by jQuery UI for Modal Popup and Tabs
  • ChartBeat used to monitor real-time site traffic

Site Functionalities
As mentioned, the new site mimics the old but with added features such as the Multimedia and Publications database extending the original functionality.
Features including:

  • Customizable slideshows on homepage and within varies sections
  • Twitter feeds integration
  • RSS feeds integration
  • Multilingual support on menus and contents for French, Spanish, German, and Japanese
  • Dynamic placement of content widgets (Highlight Boxes) for both Single and Tabbed version
  • Searchable listing of all multimedia contents – Interactive contents (Flash), Videos (Vimeo and Youtube), and Images slideshows
  • Searchable listing of all publications including newsletters and PDFs

Technical specifications

Key modules/theme/distribution used: 
Why these modules/theme/distribution were chosen: 
  • Context (6.x-3.0) - The site has been divided into sections. Each section has its own sub-navigation menu. Context was used to display menu blocks in each section.
  • Features (6.x-1.0) - Used for exporting site roles and permission settings. It is also used to export “sections” created using Context.
  • Feeds (6.x-1.0-beta 10) - Used to consume blog feeds from a Wordpress powered blog site and converts them to nodes
  • Apache Solr Framework (6.x-1.2) & Apache Solr Search (6.x-1.2) - used to power the Publications , Multimedia and Site search pages
Organizations involved: 
Project team: 

Rexx Llabore - Developer

Active Collab and Google Docs were used for the project management tasks on the project.

Sectors: 
Non-profit