Sector(s)
Team Members
Visit the site
Visit the siteOrganizations Involved
Community contributions
As part of the project, Evolving Web made contributions to the Drupal's migrate functionality, including:
- Array pop and shift functionality for migration process plugin named "extract" https://www.drupal.org/project/drupal/issues/2881779
- Multiple values migration process plugin for handling multiple values during migrations https://www.drupal.org/project/migrate_plus/issues/2901617
- Found a problem with the entity_lookup plugin which we submitted a patch for https://www.drupal.org/project/migrate_plus/issues/2896600
- Created various articles on the Evolving Web blog showing how to work with Drupal 8 migrations
Evolving Web built a new Drupal 8 website for Princeton University Press using legacy data and over 100,000 HTML pages from their previous site, but served to visitors in a smart, intuitive way allowing for streamlined future enhancements and upgrades.
About the project
Summary
Princeton University Press (PUP) is an independent publisher with close formal and informal connections to Princeton University. The press’s mission is to disseminate scholarship through print and digital media, within both academia and society-at-large.
The PUP website was first created in the 1990s and was retrofitted to add functionality over the years, resulting in a number of disparate moving parts. The website grew to include over 100,000 static and generated HTML pages, containing various pieces of information and images, mini sites, a Wordpress blog, a newsletter, and some basic commerce functionality for North America and Europe/Asia/Africa.
Evolving Web was engaged to build PUP’s new Drupal website. Migration of the legacy data and an improved responsive user experience were key to the project’s success.
Back to topGoals
Working with the press’s web team, including their database architect and the director of web development, Evolving Web’s technical team performed a preliminary website audit and created a prioritized requirements and functionality list to define the following goals:
- Migrate a large amount of legacy content into a new Drupal 8 installation
- Eliminate the use of different platforms and online methods to handle various functionalities
- Improve the user experience
- Provide a format for displaying pages and online purchasing that is familiar and intuitive for website visitors
- Improve accessibility
- Allow for online purchasing from their two separate global markets
- Provide robust search capabilities, allowing visitors to effectively find publications
- Create a solution that allows PUP’s staff to effectively use the new platform
- Work collaboratively to reduce client-initiated scope creep
Challenges
The Press’s previous website had been created in a piecemeal manner by a former employee, where custom scripts pulled data from the press’s custom database, to build static HTML pages. Evolving Web needed to be able to access the database to create the migrations, and then pull that content into Drupal. The complexity of the migration was the largest challenge, with the huge volume of existing elements adding to the complexity.
Specifically, the technical challenges included the following:
- Performing a complex migration of 8,000+ books and 4,000+ jpgs
- Identifying and removing out-of-print books and their associated elements
- Recreating a large number of static HTML pages (100,000 static and generated pages)
- Developing a consistent way to display 10,000 different book templates
- Building a custom module to assist with migration challenges
- Addressing legacy complexity
- Creating fields to import the large number (36) of unique imported book fields
- Managing cron migrations on Pantheon
- Dealing with the complexity of the legacy code base
- Providing an editor workflow solution
Results
The homepage refresh used the existing branding to produce a modern look-and-feel for the website. It utilizes a standard responsive template to adapt the site to desktop computers and mobile devices. The new user interface includes a minimal drop-down main menu, a clean and accessible footer, and a search box that collapses.
New page templates display the book information consistently, adapting the pages to display only the fields that are available for the books. The pages integrate with shopping carts and Google Book search. Pages render videos and materials while long sections of text are collapsed down to streamline page length.
The complex migration of ~8,000 books and ~4,000 jpgs was successful. Migration continues with a process that is optimized to prevent downtime / inconsistency on the live site. Migrations can be run manually or automatically at night and, out-of-print books are systematically removed from the database.
The Bootstrap-based design has improved SEO while conforming to accessibility standards. And it is easy for content editors to update web content using WYSIWYG while images are auto-resized, providing visual consistency for the brand.
The previous website regenerated 50,000 pages for even a small tweak to a template or change in functionality. Under the new system, an automatic nightly process synchronizes the content to the Drupal database, with all other changes to pages propagating instantly. The result is significant speed improvements for iterations on website functionality, making it easier to apply bug fixes.
Back to topWhy Drupal was chosen
- Drupal is an open-source platform that has been widely adopted by the Princeton University community
- It is a single platform that can handle different functionalities, integrating multiple technologies. One platform can do it all. And using Drupal means new functionality will be available or can be created when needed.
- Drupal enables a robust content migration and a synchronization framework
- With just a few hours of training, multiple site editors and contributors can use Drupal’s workflow system to systematically and easily add approved content to the website
- It is a stable, secure, and maintainable platform
Technical Specifications
Drupal version:
Key modules/theme/distribution used:
Only a limited number of contributed modules were used. The Paragraphs module was used to structure the book data (reviews, author information are stored as paragraphs).
The Migrate Source CSV module was used to pull in data from a series of CSV files that were generated from the source database.