Forest 500 launches on responsive Drupal site

I recently worked alongside Agile Collective as lead developer on a project to build Forest 500 for the Global Canopy Programme:

This site profiles key organizations involved in both deforestation and forest management, and compares their relative abilities to help preserve the world's forests. While I toiled away at the codebase coal-face, Agile managed the project very capably to a successful and impressive conclusin, within very tight constraints.

Underpinning the site's design is a strongly responsive layout:

This was a key requirement from the outset, which I implemented using Omega 4 and SASS, plus a starter theme developed by Agile. Responsive navigation was powered by the responsive_menu module, which itself uses breakpoints. Alternative images for retina display are also used where possible. Cross-browser testing involved a mixture of local IEx VMs, Browserstack, the mobile device mode on Chrome's dev tools, and (where possible) real devices.

Before theming, I migrated the data from a collection of CSV files using Drupal's contributed Migrate framework. This ended up fairly straightforward and—inspired also by other ongoing work—I'm hoping to blog specifically about the base class(es) we used for migration in the future.

Site configuration and layout was featurized as much as possible, and I tried to use out-of-the-box display functionality wherever I could. However, custom formatters were required for the scoring, which is actually stored as percentage values, but represented using a five-star system normalized to a per-field maximum score: total score was always normalized to 100%, for example.

Listings are actually powered by Search API views, rather than plain views. This permitted good free-text search and faceting options, but did mean that we had to do some custom search-field work to get Search API to index the scores out of five, rather than percentages.

Altogether it's a neat, performant, responsive site, and leverages core and contributed Drupal as much as possible to obtain the most robust and reliable development results: customizations are contained and made as straightforward as possible, which makes me as a developer feel happy and confident in the consistency of experience for site visitors. And it's great to be able to contribute to an important and worthy initiative, to hold powerful organizations to account over their treatment of our shared ecological heritage!