This repository, migrate_islandora_csv, provides a tutorial that will introduce you to using the Drupal 8 Migrate tools to create Islandora content in 8. Whether you will eventually use CSVs or other sources (such as XML or directly from a 7.x Islandora) this tutorial should be useful as it covers the basics and mechanics of migration.
This repository is also a Drupal Feature that, when enabled as a module, will create three example migrations ready for you to use with the Migrate API. Each migration comes from one of the files in the config/install
folder. We'll walk through them in detail below.
This repository also contains a data
folder containing a CSV and sample images, as a convenience so that the accompanying files are easily available on the Drupal server running the migration. (This is not the recommended method for making files available to Drupal in a real migration.)
When you are ready to create your actual migrations, this repository can function as a template for you to create the yml files defining your own migrations.
This module requires the following modules:
From your islandora-playbook
directory, issue the following commands to enable this module:
vagrant ssh
to open a shell in your Islandora instance.cd /var/www/html/drupal/web/modules/contrib
to get to your modules directory.git clone https://github.com/Islandora/migrate_islandora_csv
to clone down the repository from GitHub.drush en -y migrate_islandora_csv
to enable the module, installing the migrations as configuration.
Optionally, flush the cache (drush cr
), so the migrations become visible in the GUI at Manage > Structure > Migrations > migrate_islandora_csv (http://localhost:8000/admin/structure/migrate/manage/migrate_islandora_csv/migrations)
Now lets go migrate some files.
Cautionary sidenote: as you saw, you can still git clone
into the modules directory, but if you're installing a custom module that's intended to stay installed for the long term (unlike a migration feature, which you should probably uninstall and delete when you're done with it) then you may want to check with your devops folks and use Composer instead. However, using Git directly allows you to be more flexible when iterating and testing.
No configuration page is provided.
This module uses Features, which is an easy way to ship and install Drupal configuration. To make changes, edit the configuration files in this module and use Features to import those changes. There is a walkthrough in the "Configuration" section of the Migrate 7.x to 8 tutorial.
Further documentation for this module is available on the Islandora 8 documentation site.
Having problems or solved a problem? Check out the Islandora google groups for a solution.
Current maintainers:
If you would like to contribute, please get involved by attending our weekly Tech Call. We love to hear from you!
If you would like to contribute code to the project, you need to be covered by an Islandora Foundation Contributor License Agreement or Corporate Contributor License Agreement. Please see the Contributors pages on Islandora.ca for more information.
We recommend using the islandora-playbook to get started.