Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/discoverygarden/dgi_migrate
A module to facilitate bulk ingest and migrations into Islandora using the migrate module.
https://github.com/discoverygarden/dgi_migrate
drupal drupal-module ingest islandora migration
Last synced: about 11 hours ago
JSON representation
A module to facilitate bulk ingest and migrations into Islandora using the migrate module.
- Host: GitHub
- URL: https://github.com/discoverygarden/dgi_migrate
- Owner: discoverygarden
- License: gpl-3.0
- Created: 2020-03-24T21:38:50.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-01-23T20:45:55.000Z (23 days ago)
- Last Synced: 2025-01-23T21:29:26.483Z (23 days ago)
- Topics: drupal, drupal-module, ingest, islandora, migration
- Language: PHP
- Homepage:
- Size: 792 KB
- Stars: 1
- Watchers: 6
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# DGI Migrate
![](https://github.com/discoverygarden/dgi_migrate/actions/workflows/lint.yml/badge.svg)
![](https://github.com/discoverygarden/dgi_migrate/actions/workflows/semver.yml/badge.svg)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)## Introduction
A module to facilitate I7 to Modern Islandora migration.## Table of Contents
* [Features](#features)
* [Included Modules](#included-modules)
* [Requirements](#requirements)
* [Installation](#installation)
* [Usage](#usage)
* [Resources](#resources)
* [Troubleshooting/Issues](#troubleshootingissues)
* [Maintainers and Sponsors](#maintainers-and-sponsors)
* [Development/Contribution](#developmentcontribution)
* [License](#license)## Features
An improved migration import command `migrate:batch-import` is included.
An example FOXML migration that can be used as a starting point is provided.
It illustrates the usage of migrate plugins that have been created to
facilitate FOXML and large data processing.
* `dgi_migrate.process.xml.xpath` is limited to xpath 1.0.Some migration helper scripts are also included. Refer to the [readme](https://github.com/discoverygarden/dgi_migrate/blob/main/scripts/README.md) for more details.
## Included modules
DGI Migrate has a suite of submodules to assist in the migration process.
* [devel](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/devel/README.md)
* [dgi_migrate_big_set_overrides](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_big_set_overrides/README.md)
* [dgi_migrate_dspace](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_dspace/README.md)
* [dgi_migrate_edtf_validator](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_edtf_validator/README.md)
* [dgi_migrate_foxml_standard_mods](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_foxml_standard_mods/README.md)
* [dgi_migrate_imagemagick_cleanup](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_imagemagick_cleanup/README.md)
* [dgi_migrate_paragraphs](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_paragraphs/README.md)
* [dgi_migrate_regenerate_pathauto_aliases](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_regenerate_pathauto_aliases/README.md)## Requirements
This module requires the following modules/libraries:
* [migrate](https://www.drupal.org/project/migrate)
* [migrate_plus](https://www.drupal.org/project/migrate_plus)
* [migrate_directory](https://www.drupal.org/project/migrate_directory)
> NOTE: For better performance and memory optimisation, it is advised to use the module with [this patch](https://www.drupal.org/project/migrate_directory/issues/3344946)
* [islandora](https://github.com/Islandora/islandora/tree/8.x-1.x)
* [islandora_drush_utils](https://github.com/discoverygarden/islandora_drush_utils)
* [foxml](https://github.com/discoverygarden/foxml)## Installation
Install as usual, see
[this](https://drupal.org/documentation/install/modules-themes/modules-8) for
further information.## Usage
```shell
migrate:batch-import beer_node_revision --idlist=1:2,2:3,3:5 --user=islandora
``````shell
dgi-migrate:rollback beer_user --idlist=5 --user=islandora
```## Troubleshooting/Issues
Having problems or solved a problem? Contact
[discoverygarden](http://support.discoverygarden.ca).### Known Issues:
* `php://filter` use can lead to large memory usage
* we should probably look at rolling another stream wrapper to wrap up our
usage of OpenSSL to Base64 decode
* There are some expensive assertions made in the code,
particularly regarding binary datastream content with digests. Assertions should
typically be disabled in production environments, so these shouldn't have any
impact on execution there; however, in development environments, could
potentially lead to issues, especially with larger datastreams, exacerbated by
the `php://filter` usage to Base64-decode the contents
* hesitant to remove the assertions without having any other mechanism to
* could instead roll some unit tests?## Resources
DGI migrate enhances Drupal's core migration framework and provides plugins
to facilitate migration of legacy Islandora data to Modern Islandora. For more details regarding
Drupal's migrate API and workflow, refer to these documents:* [Migrate API Overview](https://www.drupal.org/docs/drupal-apis/migrate-api/migrate-api-overview)
* [Drush Migrate Commands](https://drushcommands.com/drush-8x/migrate/)
* [Drupal Migration Tutorial](https://understanddrupal.com/courses/31-days-of-migrations/)## Maintainers and Sponsors
Current maintainers:
* [discoverygarden](http://www.discoverygarden.ca)
Sponsors:
* [FLVC](https://www.flvc.org)
## Development/Contribution
If you would like to contribute to this module, please check out github's helpful
[Contributing to projects](https://docs.github.com/en/get-started/quickstart/contributing-to-projects) documentation and Islandora community's [Documention for developers](https://islandora.github.io/documentation/contributing/CONTRIBUTING/#github-issues) to create an issue or pull request and/or
contact [discoverygarden](http://support.discoverygarden.ca).## License
[GPLv3](http://www.gnu.org/licenses/gpl-3.0.txt)