{"id":40536646,"url":"https://github.com/osu-wams/osu_migrations","last_synced_at":"2026-01-20T22:43:26.525Z","repository":{"id":96940154,"uuid":"585327255","full_name":"osu-wams/osu_migrations","owner":"osu-wams","description":"Drupal Module","archived":false,"fork":false,"pushed_at":"2025-09-12T16:55:54.000Z","size":651,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"1.x","last_synced_at":"2025-09-12T18:57:46.329Z","etag":null,"topics":["drupal","drupal-migration","drupal-module"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osu-wams.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-04T22:20:39.000Z","updated_at":"2025-09-12T16:55:58.000Z","dependencies_parsed_at":"2023-12-30T01:24:40.818Z","dependency_job_id":"0d29675f-109f-435d-bcf5-ef1731970f14","html_url":"https://github.com/osu-wams/osu_migrations","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/osu-wams/osu_migrations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osu-wams%2Fosu_migrations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osu-wams%2Fosu_migrations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osu-wams%2Fosu_migrations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osu-wams%2Fosu_migrations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osu-wams","download_url":"https://codeload.github.com/osu-wams/osu_migrations/tar.gz/refs/heads/1.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osu-wams%2Fosu_migrations/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28617117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T22:24:05.405Z","status":"ssl_error","status_checked_at":"2026-01-20T22:20:31.342Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-migration","drupal-module"],"created_at":"2026-01-20T22:43:25.511Z","updated_at":"2026-01-20T22:43:26.507Z","avatar_url":"https://github.com/osu-wams.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OSU Migrations\n\nContains submodules for D7 to D9 migrations\n\n## OSU Migrations Files\n\nTo properly migrate files, open up the upgrade_d7_files.yml and set the source_base_path to either the public url of the\ndrupal or set the file path to the root of the distro.\n\nCurrently, it is set to the base of this installation, so one could copy the files into the container and run the\nmigration.\n\n## Migrations:\n\nMigrations need to be run in a specific order.\n\n1. ### User Accounts\n\n   This runs every migration require to bring in user accounts and their CAS account linking.\n\n   `drush migrate:import --tag='OSU Accounts'`\n\n2. ### Media\n   Migrate all the Files and Media entities.\n   Ensure that you first update the `upgrade_d7_file_private.yml` file to include the correct path to the private files\n   directory. Do not commit this change.\n\n   `drush migrate:import --tag='OSU Media'`\n\n3. ### Taxonomy Tags\n   `drush migrate:import --tag='OSU Taxonomy'`\n\n4. ### Migrate Custom Block Content\n   We need to migrate all the custom block contents first before paragraphs as we use block content in the paragraph\n   migration, and we want to ensure all the original IDs of the blocks are there first.\n\n   `drush migrate:import --tag='OSU Custom Blocks'`\n\n5. ### Paragraphs to Layout Builder\n   Paragraphs to Layout Builder migration require two steps:\n\n    1. #### Run all the Paragraphs to LB migrations first.\n       `drush migrate:import --tag='OSU Paragraphs'`\n\n    2. #### Run all the content migrations that used Paragraphs.\n       `drush migrate:import --tag='Layout content' --force`\n\n6. ### Feature Story/Articles to Story\n   `drush migrate:import --tag='Feature Story'`\n\n7. ### Other Content Types and Content Migrations\n   To import other Content types, fields, Widget settings, and nodes\n\n   `drush migrate:import --tag='OSU Configuration' --force`\n\n   Importing the content after all the Node types, Fields, and displays modes are migrated.\n\n   `drush migrate:import --tag='OSU Content' --force`\n\n   **Custom Content types** there will be times when fields that are associated with a Node Bundle use:\n\n    * File/Image reference\n    * Taxonomy Term Reference\n    * Entity Reference\n    * Text Area (other than Body field)\n\n   With these fields you will need to write a custom Migration YAML for each node type and manually set the Lookup\n   Plugins for References and use the `osu_media_wysiwyg_filter` plugin on the Text Area fields to ensure that embedded\n   media is updated to use the new Drupal embedding system. See Site [Specific Migrations](#site-specific-migrations)\n   and [Custom Content Types](#custom-content-types) for more information.\n\n8. ### Views\n   `drush migrate:import d7_views_migration`\n\n   If you have a list of views IDs you only want to migrate, you can do that with:\n\n   `drush migrate:import d7_views_migration --idlist=events,event_list`\n\n9. ### Site Specific Migrations\n   Create a new module under site_migrations and name it 'osu_migrations_site' where 'site' is some short version of the\n   site working with. This will contain any configurations and migrations for this specific site that would not be\n   migrations that the rest of the distribution would go.\n\n   Enable your new module and run any of the migrations you define.\n\n10. ### Migrate Groups\n\n    Associate different Nodes with their Groups and create menu entries.\n    `drush migrate:import --tag='OSU Groups'`\n    For Custom node Bundles that are Associated with Organic Groups in Drupal 7,\n    see [Custom Content Types in Groups](#custom-content-types-in-groups)\n\n11. ### Migrate the URL Aliases and Redirects\n    `drush migrate:import --tag='OSU Alias'`\n\n    `drush migrate:import --tag='OSU Redirect'`\n\n12. ### The Last content migration to run is Users to Profiles\n    `drush migrate:import --tag='OSU Drupal Profile'`\n\n13. ### Menus\n    `drush migrate:import --tag='OSU Menus'`\n\n14. ### Block Placement\n    Migrate all block placements.\n\n    `drush migrate:import --tag='OSU Blocks'`\n\n## Custom Content Types\n\nYou can use the Migration tag `OSU Configuration` to have Drupal create the Content types and Fields. Any\nTaxonomy Term Reference, Entity Reference fields need to have their Bundles updated to match what was configured in\nDrupal 7. Inside the `site_migrations` folder you will find previous migrations that required custom migration YAML's,\nuse them for examples.\n\n### Custom Content Types in Groups\n\nFor Node types that are added to Organic Groups (Organic Group Content), a separate migration YAML is required to\nassociate the new nodes with groups. Firstly, you need to \"Install\" Groups on the Custom Content type. Then using the\nMachine name generated for this Group association, the Migration YAML can be set to add the nodes to the Group.\nProper order should be respected, Nodes need to be migrated first Then the group Association Migration. Check\nout `site_migrations` For examples of Group Content migration.\n\n### Custom Content Types with Paragraph Fields.\n\nIf the Paragraphs Module was used on any other Node bundle other than Basic Page and _Book Page_ you must create a\ncustom\nYAML migration for this. Checkout the `site_migrations` folder for past migrations to use as examples.\n\n@TODO\nDocument process for Field Collections To paragraphs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosu-wams%2Fosu_migrations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosu-wams%2Fosu_migrations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosu-wams%2Fosu_migrations/lists"}