-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migration docs updates #1603
Migration docs updates #1603
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
## Migrating from Islandora 7.x to Islandora CLAW (YouTube Video) | ||
## Migrating from Islandora 7.x to Islandora 8 (YouTube Video) | ||
|
||
[![Migrating from Islandora 7.x to Islandora CLAW](https://img.youtube.com/vi/fEDzfSPjKEo/0.jpg)](https://www.youtube.com/watch?v=fEDzfSPjKEo) | ||
[![Islandora Webinar: Migrating from Islandora 7 to Islandora 8](https://img.youtube.com/vi/n0kLOB8ZdbM/0.jpg)](https://www.youtube.com/watch?v=n0kLOB8ZdbM) | ||
Nov 21, 2019 | ||
|
||
For tools to migrate into Islandora 8 from an existing Islandora 7 instance, please see [migrate_7x_claw](https://github.com/Islandora-devops/migrate_7x_claw) | ||
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
## Islandora 8 Migration Overview | ||
|
||
This video provides an overview of the various options available to migrate data into an Islandora 8 installation. | ||
|
||
[![Islandora Online: Islandora Migration Tools](https://img.youtube.com/vi/95Bnix-z1zY/0.jpg)](https://www.youtube.com/watch?v=95Bnix-z1zY) | ||
|
||
The three options are: | ||
- REST API | ||
- Migrate API | ||
- Islandora Workbench | ||
|
||
### REST API | ||
|
||
Why use the rest API? | ||
- Works anywhere | ||
- You don’t have to work on the Drupal server. Migrate from your laptop! | ||
- No PHP required | ||
- Use any language that can make an http request. Even cURL will do just fine. | ||
- JSON | ||
- Why use XML if you don’t have to? | ||
|
||
BONUS: It’s just Drupal’s REST API | ||
|
||
Islandora only provides two additional API endpoints: | ||
|
||
- /media/{mid}/source | ||
- PUT a file to this endpoint to create/update a Media’s file | ||
- /node/{nid}/media/{media_type}/{taxonomy_term} | ||
- PUT a file to this endpoint to create/update a Media for a Node | ||
|
||
Just be aware, you are writing everything yourself! (In other words you are making all of the migration decisions yourself.) | ||
|
||
### Migrate API | ||
|
||
Uses the Drupal 8 [Migrate API](https://www.drupal.org/docs/8/api/migrate-api/migrate-api-overview), which "provides services for migrating data from a source system to Drupal 8. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This builds fine and displays nicely. Just wondering about the start of this sentence. It feels like it is missing something? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It reads consistent with the rest of the document. Improvements can always happen later. |
||
|
||
The "source system" can be almost anything: | ||
- an Islandora 7 system | ||
- a group of scanned images and their metadata inside a CSV file | ||
- a web API | ||
|
||
Why use the Migrate API? | ||
|
||
- You can (potentially) do everything with configs! | ||
- Leverage contrib module plugins. | ||
- Making plugins for more complex sources and processes is (relatively) simple. | ||
- Updating metadata is as simple as: | ||
`drush mim node --update` | ||
|
||
A Migration Configuration defines an Extract, Transform, Load (ETL) process. | ||
|
||
- Source plugins extract data from a source | ||
- Process plugins transform the data | ||
- Destination plugins load the data (create new entities) | ||
|
||
We’ve built two tools for you using the Migrate API: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I found this section a bit hard to follow (there's a lot of information, which is awesome!). Can you add some sub-headings to break it out visually? I think if "A Migration Configuration defines an Extract, Transform, Load (ETL) process." was ####, it would read easier. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I added more Markdown headings marks to the docs. Let me know what you think. |
||
|
||
- [migrate_islandora_csv](https://github.com/Islandora/migrate_islandora_csv) | ||
- Tutorial with a sample migration using some files and a CSV | ||
- [migrate_7x_claw](https://github.com/Islandora-Devops/migrate_7x_claw) | ||
- A tool to get all your Islandora 7 content migrated over | ||
|
||
Recap of migrate_islandora_csv: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I did some testing, and headlines can go as deep as 6 #'s, so these sub-section could be headlined too. |
||
- CSVs | ||
- Everyone understands and knows how to work with CSVs | ||
- Documented | ||
- It’s a step by step walkthrough | ||
ysuarez marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- Process Metadata | ||
- Clean up / transform the metadata using processors | ||
- Build Relationships | ||
- Migrations can reference other migrated content or generate new content on the fly | ||
|
||
Recap of migrate_7x_claw: | ||
|
||
- Designed to migrate Islandora 7 data to Islandora 8. | ||
- DATASTREAMS | ||
- All of your datasteams, including the audit trail, are migrated | ||
- METADATA | ||
- Migrate metadata from Solr or any XML datastream | ||
- CUSTOMIZABLE | ||
- Migrate_7x_claw is a starting point, meant to be tailored to your metadata | ||
|
||
To make migrate_7x_claw work you need: | ||
|
||
- Access | ||
- You need credentials to both your Islandora 7 and 8 installs. | ||
- Migrate API Knowledge | ||
- The tutorial for migrate_islandora_csv | ||
Is still relevant | ||
- Config Sync | ||
- You need to understand Drupal config synchronization. Features knowledge helps too. | ||
- Command Line Skills | ||
- This is best done with shell access and drush | ||
|
||
#### Migrate API demo video | ||
|
||
Check out this video that demonstrates the Drupal Migrate API migration process: [Islandora Webinar: Migrating from Islandora 7 to Islandora 8](migrate-7x.md) | ||
|
||
### Islandora Workbench | ||
|
||
https://github.com/mjordan/islandora_workbench | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you make this URL a hyperlink to its location. Just so people can click through |
||
|
||
More tailored for end users with less technical knowledge or limited server access. | ||
|
||
- Uses Islandora’s REST API | ||
- Runs on your computer | ||
- “CSVs and a pile of scans” | ||
- Cross Platform - Python | ||
|
||
Islandora Workbench highlights: | ||
|
||
- Opinionated | ||
- MUCH less configuration. Decisions made for you. | ||
- No Processing | ||
- CSV has to be in the right format | ||
- Write Operations | ||
- Create, Update, and Delete content | ||
- Bumpers On | ||
- Configuration and CSV are validated | ||
|
||
Islandora Workbench Basics: | ||
|
||
- Column names are field names | ||
- If your value contains a comma, wrap it in double quotes | ||
- Multiple values are pipe delimited | ||
- Entity references are done via numeric id (nid, mid, tid) | ||
|
||
Islandora Workbench - Taxonomy Terms: | ||
|
||
- Can use term id, term name, or both | ||
- 26 | ||
- Cats | ||
- 26|Cats | ||
- If using multiple vocabularies, prefix with vocabulary id: | ||
- cats:Calico|dogs:Dachshund | ||
- Terms that don’t exist can be created | ||
|
||
Islandora Workbench - More Field Types: | ||
|
||
- Typed Relations - Prefix term ids with namespace:rel: | ||
- relators:pht:30 | ||
- Relators:pht:30|relators:pub:45 | ||
- Geolocation fields - “Lat,Long” | ||
- "49.16667,-123.93333" | ||
|
||
Paged Content - Two Ways: | ||
|
||
- Metadata on Parent | ||
- Simple directory structure and filename convention | ||
- Page Level Metadata | ||
- Parent and page metadata in same CSV |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While you're in here, seems like this should point to your new Migration Overview page instead or at least reference the CSV migration module.