Problem/Motivation
We have source plugins for Drupal 6 and Drupal 7, but not for Drupal 8. Instead of implementing, and then maintaining, a source plugin for Drupal 8 and later, let's create a source plugin for JSON:API and then take advantage of the JSON:API module, which has been in core since Drupal 8.7.0.
Once we have the source plugin, we will be able to use it for migrations from Drupal and from any other system that supports JSON:API.
Proposed resolution
Add a source plugin for JSON:API.
The source plugin should take advantage of the structure provided by JSON:API in order to simplify migrations based on this new source. At least the source plugin should handle
- Paging through the source
- Detecting the available fields
Remaining tasks
- Write an end-to-end functional test, using data from the Umami profile exposed through the JSON:API module.
- Write unit tests.
- Decide whether to use PHP's
json_decode()
or an alternative parser. - Write the source plugin.
- Add documentation.
- Add a change record.
Completed tasks
User interface changes
None
API changes
None
Data model changes
None
Release notes snippet
TODO