Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Release: Change Requests 2.1.9 Minor update available for module change_requests (2.1.9). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Queue Import

Security covered Drupal 10–11
View on drupal.org

This module provides a flexible way to import content into Drupal from various sources, such as URLs or databases. It leverages Drupal's Queue API and Drush commands to process and create entities, with ongoing development focused on seamless migration from Drupal 7 databases.

This module is meant to give another option to migrating content into Drupal sites from anywhere. That includes everything from scraping a url to connecting a db.

It uses the Queue API and Drush commands to queue content and then use QueueWorkers to use that queued data to create entities on the new site.

Currently, the module can be used to see an example of queueing and importing content by enabling the module and running the drush command of "drush itest" to import a single article into the site.

The piece that's currently in progress is a way to plug in a database connection to a legacy Drupal 7 database and queue content directly out of that. The trick is creating the QueueWorkers with the correct field. At this time, I'm working on the automation of the creation of those workers.

Essentially, we pull the fields from the D7 db and create a QueueWorker with those fields mapped out along with a list of currently available fields from the D8/D9 site. That, along with the methods for converting that queued data into taxonomy terms or media entities, will allow you to begin importing content quickly and in a way that will you allow you to update the content on any follow-up imports based on mapping the legacy Node ID.

I'll continue to update the information here as we get farther along.

Instructions after installing the module:

  1. Run "drush itest"
  2. Run "drush queue-run node_queue_processor -v"
  3. Navigate to the form at admin/config/development/queue-import
  4. Fill in the information for a database connection (must be Drupal 7)
  5. Run "drush d7fm article" (article will create MapArticleQueueProcessor.php, page would create MapPageQueueProcessor.php, etc.)
  6. Fix the mapping in MapArticleQueueProcessor.php and rename to ArticleQueueProcessor.php
  7. Run "drush d7 article 1" (content_type and query limit for how many to queue)
  8. Run "drush queue-run article_queue_processor"
  9. Check admin/content for new content and review errors
  10. If needed, you can remove all imported content with "drush qicount article --delete"

Depends on

Dependencies of the latest stable release

  • file Drupal core
  • media Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
4
Tracked since
Dec 2025
Latest release
8 months ago
Releases (12 mo)
4 ▲ from 0
Maintenance
Slowing

Release Timeline

Releases

Version Type Core Release date
2.1.2 Stable 10–11 Dec 21, 2025
2.1.1 Stable 8–9 Dec 21, 2025
2.1.x-dev Dev 10–11 Dec 21, 2025
3.0.x-dev Dev 10–11 Dec 21, 2025