Upgrade Humanitarian Outcomes’ Website from Drupal 7 to Drupal 11
About the project
Humanitarian Outcomes (HO) is a group of highly educated and experienced former aid workers, policy makers and researchers who advise humanitarian aid agencies and donor governments through evidence-based analysis and systematic research. Their work covers the institutional, financial, and operational mechanics of the international humanitarian system and they aim to provide practical solutions to their clients enabling them to deploy aid resources more effectively. After working with HO for about a year on various web development projects, we knew their Drupal 7 website would be vulnerable due to Drupal’s termination of support for this old version. We suggested that Humanitarian Outcomes upgrade their data-heavy website and they chose us for the project. Because of the complexity of the data presentation on their site, as well as the fact they use their site to exchange secure data, the upgrade process would not be easy. Humanitarian Outcomes was pleased for the continuity of the service and saved money by not having to onboard a different firm for this project.
More than just an upgrade
Before diving straight into the upgrade, iTech4Web challenged the staff at Humanitarian Outcomes to articulate what other issues they were having with their site because an upgrade is often a cost-effective opportunity to make other structural changes. The project scope emerged with the following targets:
- Upgrade software from Drupal 7 to Drupal 11
- It might have been more straightforward to upgrade to Drupal 10, but Drupal 11 was released at about the same time as the project start. Choosing Drupal 11 gave Humanitarian Outcomes a more “future proof” site, although it added some complexity to the project.
- Improve Organizations Management Workflow
- Humanitarian Outcomes hosts the Global Database of Humanitarian Organisations on their website. This entails keeping up-to-date records of organisations around the world who provide aid in humanitarian crises. The workflow to update the data on each of these organizations was slow and scattered across several pages. We saw an opportunity to make this part of the website much easier to manage.
- Reduce the costs for website/email infrastructure
- After a thorough site assessment, iTech4Web can often identify unused capacity that can be cut, lowering their client’s operating expenses.
What we did
One of our rare and valuable skills is the ability to leverage Drupal Core Migration API efficiently. In many projects, using a Drupal Core Migration module is a pitfall for developers who don’t have solid experience with Drupal — and their incorrect response to the project-specific issues that arise is to give up on the Core Migration API process. After giving up, they start writing their own migration with custom code or employing other workarounds. We know, however, that it is more efficient to understand and solve any issues within the Drupal Migration API process. Our approach allows us to leverage the full power of the Migration API including migration progress tracking, ability to revert the migration, update or perform a delta migration, or map different entities with each other. In this project, we were able to expertly tune and optimize the migration generated by the Drupal Core Migration module. Pleasantly surprised by how efficient the HO migration was, we were pleased to go beyond the scope and provide even more value to Humanitarian Outcomes (see below) without increasing the project fee.
Part of our scope was to fix some existing problems with the backend data entry form for the Global Database of Humanitarian Organisations. In our discussions with the HO team to understand these problems, we noticed that the layout over several different pages was tedious and caused needless frustration to the maintainers of this core portion of HO’s site. Instead of simply fixing the superficial problems, we analyzed the effort required to convert the existing form pages to a single, more structured one without affecting the existing calculation logic. We realized we could:
- streamline the data entry form
- abandon the flat form that spanned many pages;
- move to a spreadsheet-like experience using Drupal Table Theme templates;
- manage the data in the tables using some third party JavaScript libraries;
- simplify the form saving process without requiring any page reloads by adding some AJAX behavior using Drupal AJAX framework.
As a result, the HO team got an easy to use, readily verifiable, and quickly saved data entry form. They were ecstatic about the overhaul remarking that “This single change is going to save me so much time and frustration!”
Finally, an upgrade project is also a good time for a site survey to find dead links and other hidden structural problems. We completed this task and also found that Humanitarian Outcomes was paying for more web infrastructure than they needed. This understanding allowed them to reduce their website operating expenses by a factor of three while improving the performance of their site!
Paying it Forward
An upgrade often presents several challenges, and one of those is when a site relies on functionality from community-contributed modules that have not been migrated to new Drupal versions. Seeing an opportunity to make a contribution to the larger Drupal community, iTech4Web completed patches to several modules so they work seamlessly in Drupal 11 — not only giving Humanitarian Outcomes their required functionality but also sharing the patches on Drupal.org.
Going Beyond the Scope
Due to our optimized Drupal migration process requiring less effort than we had budgeted, we were able to address an item on Humanitarian Outcomes wish list. Abandoned by a previous developer team over a year before, we streamlined how data flows into the Digital Research Archive section of the site. The existing design required staff at Humanitarian Outcomes to prepare a CSV file that stored the data, which was then rendered on the website. This consumed unnecessary expense for network traffic and had future maintenance costs. Without any increase in the project budget, iTech4Web integrated the database directly into Drupal and provided the UI/UX for managing the data of the Digital Research Archive in the Drupal backend.
Project Outcomes
The project was completed ahead of the January 5th 2025 deadline, and the Humanitarian Outcomes team has a Drupal 11 site that maintained all the functionality of their old site with the same look-and-feel. They also enjoy two major enhancements: one to the data maintenance process for their Global Database of Humanitarian Organisations and another to the data storage and maintenance of their Digital Research Archive. “I was very happy to be able to help this small team doing very important work not only upgrade their website but also add more functionality than they had budgeted for.” says Dima Storozhuk, the founder of iTech4Web. “Drupal’s flexibility and extensibility helps us achieve more and more for our clients.”