{"id":25368250,"url":"https://github.com/discoverygarden/dgi_migrate","last_synced_at":"2025-10-30T04:30:35.859Z","repository":{"id":155271541,"uuid":"249823802","full_name":"discoverygarden/dgi_migrate","owner":"discoverygarden","description":"A module to facilitate bulk ingest and migrations into Islandora using the migrate module.","archived":false,"fork":false,"pushed_at":"2025-01-23T20:45:55.000Z","size":811,"stargazers_count":1,"open_issues_count":0,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-01-23T21:29:26.483Z","etag":null,"topics":["drupal","drupal-module","ingest","islandora","migration"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/discoverygarden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-24T21:38:50.000Z","updated_at":"2025-01-23T20:45:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"a20e6887-8768-4fb6-88a1-7c2509cafdde","html_url":"https://github.com/discoverygarden/dgi_migrate","commit_stats":null,"previous_names":[],"tags_count":90,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discoverygarden%2Fdgi_migrate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discoverygarden%2Fdgi_migrate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discoverygarden%2Fdgi_migrate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discoverygarden%2Fdgi_migrate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/discoverygarden","download_url":"https://codeload.github.com/discoverygarden/dgi_migrate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238930061,"owners_count":19554122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drupal","drupal-module","ingest","islandora","migration"],"created_at":"2025-02-15T00:36:41.989Z","updated_at":"2025-10-30T04:30:35.853Z","avatar_url":"https://github.com/discoverygarden.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DGI Migrate\n\n![](https://github.com/discoverygarden/dgi_migrate/actions/workflows/lint.yml/badge.svg)\n![](https://github.com/discoverygarden/dgi_migrate/actions/workflows/semver.yml/badge.svg)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n## Introduction\nA module to facilitate I7 to Modern Islandora migration.\n\n## Table of Contents\n\n* [Features](#features)\n* [Included Modules](#included-modules)\n* [Requirements](#requirements)\n* [Installation](#installation)\n* [Usage](#usage)\n* [Resources](#resources)\n* [Troubleshooting/Issues](#troubleshootingissues)\n* [Maintainers and Sponsors](#maintainers-and-sponsors)\n* [Development/Contribution](#developmentcontribution)\n* [License](#license)\n\n## Features\nAn improved migration import command `migrate:batch-import` is included.\nAn example FOXML migration that can be used as a starting point is provided.\nIt illustrates the usage of migrate plugins that have been created to\nfacilitate FOXML and large data processing.\n* `dgi_migrate.process.xml.xpath` is limited to xpath 1.0.\n\nSome migration helper scripts are also included. Refer to the [readme](https://github.com/discoverygarden/dgi_migrate/blob/main/scripts/README.md) for more details.\n\n## Included modules\n\nDGI Migrate has a suite of submodules to assist in the migration process.\n\n* [devel](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/devel/README.md)\n* [dgi_migrate_big_set_overrides](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_big_set_overrides/README.md)\n* [dgi_migrate_dspace](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_dspace/README.md)\n* [dgi_migrate_edtf_validator](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_edtf_validator/README.md)\n* [dgi_migrate_foxml_standard_mods](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_foxml_standard_mods/README.md)\n* [dgi_migrate_imagemagick_cleanup](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_imagemagick_cleanup/README.md)\n* [dgi_migrate_paragraphs](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_paragraphs/README.md)\n* [dgi_migrate_regenerate_pathauto_aliases](https://github.com/discoverygarden/dgi_migrate/tree/main/modules/dgi_migrate_regenerate_pathauto_aliases/README.md)\n\n\n## Requirements\n\nThis module requires the following modules/libraries:\n* [migrate](https://www.drupal.org/project/migrate)\n* [migrate_plus](https://www.drupal.org/project/migrate_plus)\n* [migrate_directory](https://www.drupal.org/project/migrate_directory)\n    \u003e 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)\n* [islandora](https://github.com/Islandora/islandora/tree/8.x-1.x)\n* [islandora_drush_utils](https://github.com/discoverygarden/islandora_drush_utils)\n* [foxml](https://github.com/discoverygarden/foxml)\n\n## Installation\n\nInstall as usual, see\n[this](https://drupal.org/documentation/install/modules-themes/modules-8) for\nfurther information.\n\n## Usage\n\n```shell\nmigrate:batch-import beer_node_revision --idlist=1:2,2:3,3:5 --user=islandora\n```\n\n```shell\ndgi-migrate:rollback beer_user --idlist=5 --user=islandora\n```\n\n## Configuration\n\nThe suppression `search_api`'s \"immediate indexing\"/`index_directly` functionality (which can cause instability in long processes, when `search_api` attempts to index potentially large sets of entities at the end of the request) is enabled by default, but can be configured by multiple means.\n\n- The `DGI_MIGRATE_SUPPRESS_DIRECT_INDEXING_DURING_MIGRATIONS` environment variables takes precedence if set. The string `true` should enable (case-sensitive!); while any other non-empty value should disable.\n- In config: `dgi_migrate.settings:suppress_direct_indexing_during_migrations`, as a boolean flag.\n\n## Troubleshooting/Issues\n\nHaving problems or solved a problem? Contact\n[discoverygarden](http://support.discoverygarden.ca).\n\n### Known Issues:\n* `php://filter` use can lead to large memory usage\n    * we should probably look at rolling another stream wrapper to wrap up our\nusage of OpenSSL to Base64 decode\n* There are some expensive assertions made in the code,\nparticularly regarding binary datastream content with digests. Assertions should\ntypically be disabled in production environments, so these shouldn't have any\nimpact on execution there; however, in development environments, could\npotentially lead to issues, especially with larger datastreams, exacerbated by\nthe `php://filter` usage to Base64-decode the contents\n    * hesitant to remove the assertions without having any other mechanism to\n    * could instead roll some unit tests?\n\n## Resources\nDGI migrate enhances Drupal's core migration framework and provides plugins\nto facilitate migration of legacy Islandora data to Modern Islandora. For more details regarding\nDrupal's migrate API and workflow, refer to these documents:\n\n* [Migrate API Overview](https://www.drupal.org/docs/drupal-apis/migrate-api/migrate-api-overview)\n* [Drush Migrate Commands](https://drushcommands.com/drush-8x/migrate/)\n* [Drupal Migration Tutorial](https://understanddrupal.com/courses/31-days-of-migrations/)\n\n\n## Maintainers and Sponsors\n\nCurrent maintainers:\n\n* [discoverygarden](http://www.discoverygarden.ca)\n\nSponsors:\n\n* [FLVC](https://www.flvc.org)\n\n## Development/Contribution\n\nIf you would like to contribute to this module, please check out github's helpful\n[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\ncontact [discoverygarden](http://support.discoverygarden.ca).\n\n## License\n\n[GPLv3](http://www.gnu.org/licenses/gpl-3.0.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiscoverygarden%2Fdgi_migrate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiscoverygarden%2Fdgi_migrate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiscoverygarden%2Fdgi_migrate/lists"}