Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

queue_import

1 sites Security covered
View on drupal.org

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"

Activity

Total releases
4
First release
Dec 2025
Latest release
3 months ago
Release cadence
0 days
Stability
50% stable

Release Timeline

Releases

Version Type Release date
2.1.2 Stable Dec 21, 2025
2.1.1 Stable Dec 21, 2025
2.1.x-dev Dev Dec 21, 2025
3.0.x-dev Dev Dec 21, 2025