Jadu Migration Extends Migrate Plus for LocalGov Drupal
Migrating Central Bedfordshire Council content from Jadu into LocalGov Drupal required additional handling around the source API before content mapping could begin. In Drupal 11: Migrating From Jadu Into LocalGov Drupal: Part 1, published 2 August 2026, Phil Norton of #! code explains how he extended Migrate Plus for the project. The article uses a relatively simple news migration to introduce the architecture before later instalments address more complex content and redirects.
Phil created a custom http_delay data fetcher that introduces configurable pauses between Jadu requests and caches downloaded XML in both Drupal’s database cache and a file-based cache. A second plugin, jadu_simple_xml_pager, extends the SimpleXML parser to handle pagination and inject the required API key into requests. The key is supplied through a Drupal configuration override rather than stored directly in the migration definition.
The extensions respond to behaviours Phil encountered while working with the Central Bedfordshire Jadu instance, including rate limiting, out-of-range pagination returning the first result page, and unpublished directory records returning unusable identifiers with an HTTP 200 response. The resulting source configuration can then feed Jadu XML into Drupal’s normal migration process, with the article demonstrating the approach through LocalGov Drupal news content. Norton says he is also preparing the project-specific code for a more generic Jadu-to-Drupal migration module, while redirect generation and more complex migrations are reserved for later parts of the series.


