What are the possible ways to import content into Drupal 7? From which data sources, existing modules, tools.
This also can be considered as "clean" data migration from drupal-5(6) to fresh drupal-7.
Despite its name, the Feeds module is a general purpose import solution. Out of the box, it supports Atom, RSS and CSV from local files and HTTP. But additional formats and data source types are provided in contributed modules. Feeds is easy to work and develop with.
Migrate is another popular tool to migrate content from a legacy source into a Drupal website. Migrate is a developer tools, a framework to use when developing/building a migration process. Its primary purpose is to provide the infrastructure for managing complex, large-scale site migrations.
I'm looking for the same thing you are. One thing about the drupal world that is lame is that there is a constantly changing landscape of modules that get created and then aren't maintained.
So for example I found a solution involving the Table Wizard and Migrate modules: http://www.lullabot.com/articles/drupal-data-imports-migrate-and-table-wizard However the Table Wizard module is not available for Drupal 7. If you go to that module it will say it was deprecated in favor of the Data module. But then that module is not available for Drupal 7 either. The Data module will in turn suggest using the Feeds module, but the Feeds module is in alpha stage does not install properly on Drupal 7.7.
Maddening. I would leave the Drupal world for web2py or Django, however, that would increase my hosting costs as you can typically run dozens of php sites for a low fixed cost, whereas python sites often consume metered resources.
I did find this blog: http://btmash.com/article/2011-02-25/migrating-content-using-migrate-module which discusses using the Migrate module. I'm going to give this a shot.
This is what I ended up doing to import node data from an old drupal 5 site to a freshly installed Drupal 7.10 site.
Setup the content type that I wanted to import to in D7
Exported node data from D5 site by using php MyAdmin. Executed the following query and then clicked export query, and chose CSV as the output format.
Added a header row to the csv file by typing in names of my choosing:
Installed Feeds 7.x-2.x-dev (needed the dev version at the time of this writing for it to be able to import data into an addressfield) and activated module.
Went to structure->Feed Importers->Add Importer. Followed the instructions which were pretty straightforward. Voila I was able to import my node data pretty painlessly.