In 2016, we launched Boston.gov with Drupal 7, a user-friendly, open-sourced content management system known for its big developer community.
This was a rebuild from the ground up. We completely changed the technology of the old City website. We had two main goals with Drupal, namely, we needed to:
- create simple and intuitive user experiences for our constituents, and
- build a system that was easy for City staff to work with as well.
Drupal offered enterprise level security and scalability. We also needed a solution that we could own, manage, and adapt to fit our needs, and the changing needs of our constituents. But, we weren’t the only ones who were changing.
Around the same time we launched Boston.gov, the first stable version of Drupal 8 was released. This version of Drupal was not stable enough for our needs at the project’s commencement. So, we could do little more than stare longingly at the shiny new codebase… until now.
Why upgrade, and why now?
We had a lot to consider before we decided to upgrade. First, we knew the codebase was completely rewritten from version we’re currently using. Moving to Drupal 8 would be a big commitment — the process would involve rebuilding the site from scratch. Over time, however, the benefits would start to outweigh the costs.
We pride ourselves in being able to innovate and make changes quickly, which is largely a product of our talented staff. To keep attracting the best people, we knew we had to keep pushing forward using modern and exciting digital tools.
We also recognized that upgrading had many practical benefits critical to our mission, including:
- accessibility improvements
- better API capabilities
- performance enhancements, and
- a host of other user and developer experience improvements.
Finally, we believe in Drupal’s future, and appreciate that it’s an open-sourced product being used by many public sector organizations. We were sold by the proposed upgrade path and commitments to backwards compatibility for major versions of Drupal going forward.
Project prep and strategy
Before actually writing any code, we had to get a few things in house in order:
- we needed to bolster our team
- we needed to learn from others, and
- we needed to decide what else, if anything, would get fixed along the way.
We met with many other organizations who had gone through a upgrading similar process. We’re lucky to work in a space where knowledge is shared openly and freely among government organizations. We’re also committed to giving back to this pool of knowledge to help our partners and be transparent with our constituents. All of our applications are developed in public GitHub repositories that are free for anyone to use and contribute to.
We have temporarily ramped up our internal team to get this done with three full-time Drupal engineers. We then held several, high-level meetings with members of our team to come up with a roadmap for our Drupal 8 upgrade.
Diving into the migration
On our current Drupal 7 site, we have:
- 68 different types of components (pre-stylized sections that can be used on pages to add links, text, and photos), and
- 22 different types of pages for content. These pages all have different fields and functions on Boston.gov.
Together, the components and content types define the structure for thousands of distinct pages on Boston.gov. This makes migrating content manually extremely difficult. There’s no simple way to just flip a switch and make it happen.
Fortunately, Drupal 8 comes with helper modules that make this process easier. We’re currently in the process of building out a scaffolding — with the help of Drupal — that maps fields in the old system to fields in the new one. This allows us to develop the new site over the next several months, test it with real data, and be ready for launch with the latest content when the time comes.
Where we go from here
Our team is really excited about the improvements in the new version of Drupal. By migrating our system, we hope to continue to give you beautiful, welcoming, and highly useful web experiences.
We’re constantly discovering new features that enhance our experience working with the software. The pace of development on the project is happening so quickly that there is always something exciting in the pipeline. We encourage you to monitor our progress and leverage our code for your own projects. You can even contribute to our effort via our public repository for the project on GitHub.
Oh, and we’re looking for partners
Interested in supporting this project directly? We recently published a Request for Proposals (RFP) to work with us to host Boston.gov and our employee intranet. Through this RFP, we’re looking for a partner or partners who are experienced, involved, and well-versed with both Drupal 7 and Drupal 8 best practices.
As we mentioned, we’re handling the migration with our in-house team. We’re not looking for more staff, or intense development work or professional services. But, we do need a great thought partner or partners to keep the site up and running. We want Boston.gov to stay secure and resilient, before, during, and after our upgrade.
You can access the RFP and any updates/addenda on the City’s Supplier Portal, via the Procurement Department. Once you get to the supplier portal, here are specific instructions:
- Select “Go To Supplier Portal”. Under “My Sell Events,” select EV00005634 “Content Management System (Drupal) Hosting”
- On the upper right, select “View Event Package.”
- To download each document, click the “View” button on the right-hand side.
The deadline for proposals is September 20, 2018.