WRI has been producing blog posts, presentations, data sets, charts, graphs, and other research documents of various formats and lengths for over 30 years now. At the onset of this redesign project, all of this content was distributed between the institute’s legacy Drupal 5 website, a Drupal 6 blog, and other sources. Some of the blog nodes had been duplicated onto their legacy site, so during the migration we had to be careful to only bring over one copy of the post. In addition, the legacy site included custom modules, which made the migration process challenging. For example, instead of having a file field on a node, multiple files were linked via a text area field using Markdown. This code had to be parsed in order to get the files as separate file fields in the Drupal 7 site. Our team used the Migrate module along with custom code to move the content into Drupal 7. The Entity Reference module was enabled to relate supporting content—such as blog posts, graphics, maps, and data sets—to WRi’s research publications. In order to direct users to supporting information, as well as to the main Publication, the Views module was used to display groups of content on related nodes.
With content migrated into Drupal 7, it was time to focus on creating an effective interface for three main Content Types: Resources (which include several sub-types like charts, data visualizations and maps), Publications, and Blog Posts. Using the Views module, the development team created a directory page for each of these types with exposed filters for narrowing down the list based on geography, topics, date, and keywords. During the Information Architecture process, the team identified a common structure to be shared across these pages, each displaying a title, description, search form, search results, and filters. Leveraging the Panels module, a reusable structure was created that could be fine-tuned for each Content Type. In order to demonstrate the depth of their research, WRI wanted a method to display related resources, publications, and blog posts throughout the site. Since the number of related items varies based on the selected topic, the team created a custom Panels layout that keeps the design balanced by shifting content dynamically. With this method, the page layout adapts to the format and types of related content, as well as the size of the user’s screen.