There are a multitude of different import and export modules in existence to handle the complex task of getting data from other systems into Drupal. This wiki is an attempt to focus the efforts of the module developers and provide a handy guide for users looking to make a decision.
Importing/Exporting/Transforming data is a complex process and each of these modules approach it in a different way.
Comparison of import/export modules:
- Import and Export (Generic)
- Import and Export (Drupal to Drupal)
- Import (Generic)
- Import (Source-Specific)
- Export
- See also
- Other modules (not yet reviewed)
Import and Export (Generic)
Collaboration |
|||
---|---|---|---|
Module | Import / Export API | Taxonomy Import/Export | Transformations |
Project page links here | ![]() |
![]() |
![]() |
Communicated with other maintainer(s) | / | ? | / |
General Info |
|||
Module | Import / Export API | Taxonomy Import/Export | Transformations |
Maintained | Limited | Yes | Kinda |
Releases (Status) | d6 (dev), d5 (stable), d4.7 (stable) | d6 (stable), d5 (stable) | d6 (beta) |
Dependencies | Drupal Core | ? | CTools (only for UI), jQuery UI recommended |
Target Audience | Developer | ? | Site Admin, Developer |
Documentation | API (extensive) | Yes | API (extensive), End User (rudimentary) |
Weight/Drupal Core Upgrade Path | Heavy, but easy to upgrade | ? | Complex but modular |
Track Record | Proven against several thousand records (not highly scalable) | ? | Proven against import of 200 records (CSV file), converted to Drupal nodes. (erm.) |
Functionality |
|||
Module | Import / Export API | Taxonomy Import/Export | Transformations |
Interface | API, UI | ? | API, UI |
Input | CSV, XML, or another Drupal database (can be extended to support other formats) | XML, CSV, TCS, RDF | CSV, XML (via XPath), can be extended to support other formats. |
Internet Imports | Doable through hooks | ? | Not yet! |
Interoperability | Supports CCK. Can support any module through hooks. | ? | Plugin framework for providing whatever functionality. Current extension modules support CSV, XML, Drupal nodes. |
Processing (Batch, Cron, Single) | Single (can be scripted to run via cron or in batch) | ? | Single |
Output | Anything in the Drupal database, XML, CSV... (can be extended to other formats) | XML, RDF | Nodes (using Transformations -- Drupal data), ... (or any type that can be processed by plugins) |
Reporting | Per-import pass/fail only (not stored) | ? | Per-import pass/fail only (not stored) |
Settings saved for reuse | ? | ? | ? |
Import and Export (Drupal to Drupal)
Collaboration |
||||
---|---|---|---|---|
Module | Backup and Migrate | Deploy | Node Export | Yamm |
Project page links here | No | No | No | Yes |
Communicated with other maintainer(s) | ? | ? | ? | / |
General Info |
||||
Module | Backup and Migrate | Deploy | Node Export | Yamm |
Maintained | Yes | Yes | Yes | Yes |
Releases (Status) | d7 (dev), d6 (stable), d5 (stable) | d6 (dev) | d6 (stable), d5 (stable) | d6 (beta1) |
Dependencies | none | ? | ? | DataSync, PHP 5.2 |
Target Audience | Site Admin | ? | ? | Site Admin, Developer |
Documentation | README.txt | Handbook pages | ? | API (extensive), End User (enough) |
Weight/Drupal Core Upgrade Path | ? | ? | ? | Not that complex |
Track Record | ? | ? | ? | Works for maintainers, need comunity testing |
Functionality |
||||
Module | Backup and Migrate | Deploy | Node Export | Yamm |
Interface | UI | ? | ? | API, UI |
Input | Database dump (SQL file) | Drupal content and configuration | Drupal nodes | Any Drupal data on site, content type, nodes, users, vocabulary in core, easily extensible |
Internet Imports | ? | ? | ? | No |
Export Destinations | Server Directory, MySQL Database, FTP, Amazon S3 Bucket, E-Mail | ? | ? | ? |
Interoperability | ? | ? | ? | Should support any module that extends node and users, API is highly and easily extensible |
Processing (Batch, Cron, Single) | Multiple backup schedules | ? | ? | Cron and Batch on system side (needs you to have a UNIX host) |
Output | Database dump (SQL file) | Drupal content and configuration | Drupal nodes | Any supported Drupal data that server and client handles |
Reporting | ? | ? | ? | Weak watchdog output, DataSync reports |
Settings saved for reuse | Yes | ? | ? | ? |
Import (Generic)
Collaboration |
||||||||
---|---|---|---|---|---|---|---|---|
Module | CSV Parser | Feeds | Import | Import HTML | Migrate | Node Import | Taxonomy CSV Import | User Import |
Project page links here | No | No | Yes | Yes | Yes | Yes | No | Yes |
Communicated with other maintainer(s) | ? | ? | Migrate | Import / Export API | ? | / | ? | / |
General Info |
||||||||
Module | CSV Parser | Feeds | Import | Import HTML | Migrate | Node Import | Taxonomy CSV Import | User Import |
Maintained | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Releases (Status) | d6 (alpha) | d7 (alpha), d6 (beta) | d6 (dev) | d6 (dev), d5 (stable), d4.7 (dev) | d7 (stable), d6 (stable) | d6 (RC), d5 (stable), d4.7 (stable, unsupported) | d6 (stable), d5 (stable), d4.7 (stable) | d6 (stable), d5 (stable), d4.7 (stable) |
Dependencies | FeedAPI (and Feed Element Mapper recommended) | ? | Drupal Core | / | Views, Table Wizard, Schema | Drupal Core, Date API | ? | / |
Target Audience | ? | ? | Developer | Site Admin | Developer | Site Admin | ? | Site Admin |
Documentation | README.txt | Drupal.org docs, screencasts | Example modules included (extensive) | Walkthrough and readme's included, Code commented verbosely | In progress | In progress | Help page | API, End User |
Weight/Drupal Core Upgrade Path | ? | ? | 91 lines of code. Easy to upgrade | Complex, but becoming more modular | Heavy | Complex but modular | ? | Medium (d6 up. testing time) |
Track Record | ? | ? | Proven against import of +1.7 million records | Works for me. Does often need template tweaking on a per-site basis. | Proven against import of +3 million users | ? | ? | Infinately scalable via cron runs. Tests via SimpleTest (d5) |
Functionality |
||||||||
Module | CSV Parser | Feeds | Import | Import HTML | Migrate | Node Import | Taxonomy CSV Import | User Import |
Interface | ? | API, UI | API | API (in dev), UI | API, UI in Migrate 1 (no UI currently, August 2011, in Migrate 2) | API, UI | ? | API, UI |
Input | A CSV file or a zipped CSV file | RSS, Atom, OPML, CSV (and XML, HTML with plugin) | Oracle, MSSQL, MySQL, any datasource PHP can communicate with / CSV, XML, HTML, images, video, flash ... any files | HTML site mirror, as through wget. / XML, XHTML, HTML, Also all resource files (images, attachments) into /files/* . | MySQL, CSV, TSV. Table Wizard hooks allow support of any file type. / Doable through hooks | CSV, TSV, ... (any delimiter separated values file) | CSV file (comma-separated values), or a copy-and-paste list | CSV |
Internet Imports | ? | ? | web pages, feeds ... anything accesible on the internet including other API's | Proof-of-concept (single page http import demo) available. Remote spidering, maybe one day. | Doable through hooks | No | ? | No |
Interoperability | ? | ? | Supports any module that extends nodes or users | Plugin framework available for extending node fields. Mostly undocumented. Support for third-party (CCK, nodewords etc) extensions available. | Supports CCK, Email Registration, Content Profile. Can support any module through hooks. | Can support any module through hooks. | ? | Can support any module through hooks. |
Processing (Batch, Cron, Single) | ? | ? | Batch API | d5: ran a Single process with timeout risk. d6: Batch API |
Cron, Single | d5: Single d6: Batch, Cron |
? | Cron, Single |
Output | Data into Drupal content types | Users, nodes, terms or simple database records | Nodes (any content type), Users, Roles, Taxonomy | Nodes (also additional node fields, images, attachments, downloads) | Nodes, Comments, Users, ... (hooks to define any destination) | Nodes, ... (Comments, Taxonomy, Users in development) | Terms in existing or new vocabularies | Users, Profiles, Nodeprofile, Organic Groups, ... (hooks to support anything else) |
Reporting | ? | ? | Pass/Fail stored in import tables for developer use | Mixed | Per-object errors/warnings/notices stored | Per-object errors/warnings/notices stored | ? | Itemised error report to user. |
Settings saved for reuse | ? | ? | ? | ? | ? | No | ? | Yes |
Import (Source-Specific)
Collaboration |
|||||||
---|---|---|---|---|---|---|---|
Module | Import Typepad | Joomla | Phorum | phpBB2Drupal | vBulletin to Drupal | Wordpress Import | WP2Drupal |
Project page links here | Yes | Yes | Yes | No | No | Yes | Yes |
Communicated with other maintainer(s) | ? | ? | ? | ? | ? | ? | ? |
General Info |
|||||||
Module | Import Typepad | Joomla | Phorum | phpBB2Drupal | vBulletin to Drupal | Wordpress Import | WP2Drupal |
Maintained | ? | ? | Yes | Yes | Yes | Yes | Yes |
Releases (Status) | d6 (stable), d5 (stable), d4.7 (dev) | d5 (stable) | d5 (dev) | d6 (stable) | d6 (rc), d5 (stable) | d6 (stable), d5 (stable) | d6 (stable) |
Documentation | ? | ? | Limited - README.txt | Handbook pages, README.txt, directions on screen | ? | Stable | WIP - readme.txt |
Functionality |
|||||||
Module | Import Typepad | Joomla | Phorum | phpBB2Drupal | vBulletin to Drupal | Wordpress Import | WP2Drupal |
Input | ? | ? | Phorum DB in MySQL | phpBB 2 or 3 | vBulletin forums and users | WordPress eXtended RSS (v2.1+) | WordPress DB in MySQL (v?) |
Processing (Batch, Cron, Single) | ? | ? | Cron | ? | ? | Single | Single |
Output | ? | ? | ? | Drupal equivalents to phpBB data: user profiles, containers, forums, topics, comments, attachments... | Drupal forums and users | ? | ? |
Reporting | ? | ? | Limited messages during import. | ? | ? | Limited, after import | Limited, during import |
Settings saved for reuse | ? | ? | ? | ? | ? | ? | ? |
Export
Collaboration |
||||||
---|---|---|---|---|---|---|
Module | HTML Export | Profile CSV | Save to FTP | Services | Views Bonus Pack | Views Datasource |
Project page links here | No | No (author disabled contact from g.d.o) | Yes | Yes | Yes | Yes |
Communicated with other maintainer(s) | ? | ? | Yes | ? | ? | ? |
General Info |
||||||
Module | HTML Export | Profile CSV | Save to FTP | Services | Views Bonus Pack | Views Datasource |
Maintained | Postponed; looking for co-maintainers | ? | Yes | ? | ? | ? |
Releases (Status) | d6 (stable), d5 (stable) | d6 (dev), d5 (stable) | d6 (stable), d5 (stable) | ? | d6 (beta), d5 (alpha), d4.7 (stable) | d6 (alpha), d5 (alpha) |
Dependencies | ? | ? | Core path module | ? | ? | ? |
Target Audience | ? | ? | For sites that exist on a web server with FTP access outside Drupal, but are managed within Drupal. | ? | ? | ? |
Documentation | Blog | ? | ? | ? | ? | ? |
Weight/Drupal Core Upgrade Path | ? | ? | ? | ? | ? | ? |
Track Record | ? | ? | ? | ? | ? | ? |
Functionality |
||||||
Module | HTML Export | Profile CSV | Save to FTP | Services | Views Bonus Pack | Views Datasource |
Interface | ? | ? | Node Edit page | ? | ? | ? |
Input | Drupal sites | Users, Profile data (may be deprecated in 6.x since Views can deal with profile data) | Node data | ? | ? | ? |
Processing (Batch, Cron, Single) | ? | ? | ? | ? | ? | ? |
Output | Static HTML files | CSV | HTML (via FTP) | XML | XML, CSV, TXT, Word.doc (all using included "export" package) | XML (raw), OPML, Atom, Simile/Exhibit JSON, Canonical JSON, JSONP/JSON in script, FOAF, SIOC, DOAP, hCard, hCalendar, Geo |
Reporting | ? | ? | Uses drupal_set_message for errors | ? | ? | ? |
Settings saved for reuse | ? | ? | Yes has administration options | ? | Saved with the view | ? |