Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Islandora Workbench works best when ingesting one collection at a time. To begin, login to Islandora 2.0 in your web browser and create a new collection called “Pacific Northwest Agricultural Photograph Collection”.

Step 3:

...

Acquire The CSV

Islandora Workbench requires a csv in either Google Sheets or on your local disk. The AG_Photos spreadsheet is provided as a sample input_csv and can be upload to your Google Drive.

https://wiki.lyrasis.org/download/attachments/273351526/Newspapers1909-10.xlsx?api=v2

Step 4: Build a Config File

Islandora Workbench uses YAML files to configure its operations. These files are documented in detail already, so for the purposes of this sample ingest we will use this config file: 


task: create
host: "https://islandora.traefik.me/"
username: xxxx
password: xxxx
media_type: file
input_csv: 'xxx

...

Islandora Workbench uses YAML files to configure its operations. These files are documented in detail already, so for the purposes of this sample ingest we will use this config file: (update AG .xlsx link below after publish)

task: create
host: "https://islandora.traefik.me/"
username: xxxx
password: xxxx
media_type: file
input_csv: 'AG.xlsx'
id_field: PID
csv_field_templates:
- field_rights: "http://rightsstatements.org/vocab/CNE/1.0/"
- field_member_of: 103xxxx
- field_model: 13xxxx
- field_resource_type: 25xxxx
- field_display_hints: 21xxxx
default_file_mimetype: 'image/tiff'
default_file_extension: ".tif"
use_node_title_for_media: 1
allow_adding_terms: true


The csv_field_templates are fields that will apply to every resource in the collection. The numbers referenced in these fields are Drupal Node IDs; you will need to update these numbers in your config file based on the Node IDs in your Drupal instance:_field_templates are fields that will apply to every resource in the collection. The numbers referenced in these fields are Drupal Node IDs; you will need to update these numbers in your config file based on the Node IDs in your Drupal instance:

input_csv

The public link to your spreadsheet in Google Sheets

Note: If the gid of your spreadsheet does not automatically set to 0, you may need to set google_sheets_gid with the value from your spreadsheet. More information is available in the relevant workbench documentation .

field_member_of

This is the Node ID of the collection you created in step 2. You can find the ID by hovering over any of the tabs when you view the collection - it will be in the URL as “/node/id”.

...

Display hints are used to indicate where a viewer should be used. You can find the list of display hints and associated IDs at https://your.site/admin/structure/taxonomy/manage/islandora_display/overview. These are large images so we’ll want to use the Open Seadragon viewer.

Step

...

5: Prepare Ingest Spreadsheets

For this exercise we’ll be using a sample collection of 100 photographs. You can make a copy of the spreadsheet to try this exercise locally. 

List of Fields

Label

Machine Name

Field Type

Vocabulary

Identifier

field_identifier

Text(plain)


Title


Text(plain)


Description

field_description_long

Text(formatted, long)


Abstract

field_abstract

Text(formatted, long)


Date (EDTF)

field_edtf_date

EDTF


Date

field_date_display

Text(plain)


Date Created

field_edtf_date_created

EDTF


Subject

field_subject

Entity Reference

Subject

Geographic Subject

field_geographic_subject

Entity Reference

Geographic Subject

Genre

field_genre

Entity Reference

Genre

Extent

field_extent

Text(plain)


Source

field_source

Text(plain)


Language

field_language

Entity Reference

Language

Contact Us

field_rights_contact

Text(formatted, long)


Rights

field_rights

Link


Resource Type

field_resource_type

Entity Reference

Resource Type

Linked Agent

field_linked_agent

Typed Relation

Family, Corporate Body, Person



Each of these fields will need to exist in your Islandora 2.0 installation prior to running Workbench or the operation will fail. Any fields that don’t already exist can be created using the Drupal interface. The name of the field in the CSV must match the machine name of the field in Drupal. Each field has a corresponding type that will also need to be set. This will be covered in detail in the next step.

Step

...

6: Configure Drupal Fields and Taxonomies

Taxonomies will need to be created for fields that use the Entity Reference or Typed Relation field types. For demo purposes you can leave these fields unpopulated or add a few test terms; new terms will be added automatically during the ingest if they do not already exist.

...

Note: RDF mappings are defined in a YAML configuration file. You can view and edit this file by going to /admin/config/development/configuration/single/export. Select RDF mapping for Configuration type and node.islandora_object for Configuration name. You can view the list of available RDF namespaces by going to /admin/config/search/jsonld.

Step

...

7: Check, Then Run

You should always check your configuration and spreadsheet are valid before running the ingest. Fortunately, Islandora Workbench makes this easy with the --check command:

...

Islandora Workbench works best when ingesting one collection at a time. To begin, login to Islandora 2.0 in your web browser and create a new collection called “Whitman College Pioneer, 1896-11-01”.

...

-11-01”.

Step 3: Acquire the CSV

Islandora Workbench requires a csv in either Google Sheets or on your local disk. The AG_Photos spreadsheet is provided as a sample input_csv and can be upload to your Google Drive.

Newspaper.xlsx

Step 4: Build a Config File

Islandora Workbench uses YAML files to configure its operations. These files are documented in detail already, so for the purposes of this sample ingest we will use this config file: (update newspaper.xlsx link below after publish) 


task: create
host: "https://islandora.traefik.me/"
username: xxxxxxx
password: xxxxxxxxxxxx
input_csv: 'newspaper.xlsxhttps://wiki.lyrasis.org/download/attachments/273351526/Newspaper_fixed.xlsx?version=1&modificationDate=1674548425416&api=v2'
id_field: id
csv_field_templates:
- field_rights: "http://rightsstatements.org/vocab/CNE/1.0/"
- field_display_hints: 21xxxx
use_node_title_for_media: 1
allow_adding_terms: true
list_missing_drupal_fields: true

...

The csv_field_templates are fields that will apply to every resource in the collection. The numbers referenced in these fields are Drupal Node IDs; you will need to update these numbers in your config file based on the Node IDs in your Drupal instance:are Drupal Node IDs; you will need to update these numbers in your config file based on the Node IDs in your Drupal instance:

input_csv

The public link to your spreadsheet in Google Sheets

Note: If the gid of your spreadsheet does not automatically set to 0, you may need to set google_sheets_gid with the value from your spreadsheet. More information is available in the relevant workbench documentation .

field_display_hints

Display hints are used to indicate where a viewer should be used. You can find the list of display hints and associated IDs at https://your.site/admin/structure/taxonomy/manage/islandora_display/overview. These are large images so we’ll want to use the Open Seadragon viewer.

Step

...

5: Prepare Ingest Spreadsheets

For this exercise we’ll be using a sample collection of100 of 100 newspaper issues and pages. You can make a copy of the spreadsheet to try this exercise locally. 

The first two columns are ‘id’ and ‘parent_id’. Each item is created one at a time, so the first item (a newspaper issue) serves as the parent for the subsequent items (pages). Field_weight is used to set the order of the pages, and field_member_of is used to put the issues in the top-level collection.

List of Fields

Label

Machine Name

Field Type

Vocabulary


parent_id



Weight

field_weight

Number(integer)


Member Of

field_member_of

Entity Reference


Model

field_model

Entity Reference


Identifier

field_identifier

Text(plain)


Title


Text(plain)


Description

field_description_long

Text(formatted, long)


Abstract

field_abstract

Text(formatted, long)


Date Issued

field_edtf_date_issued

EDTF


Date (EDTF)

field_edtf_date

EDTF


Date

field_date_display

Text(plain)


Date Created

field_edtf_date_created

EDTF


Volume

field_volume_num

Text(plain)


Issue

field_issue_num

Text(plain)


Subject

field_subject

Entity Reference

Subject

Geographic Subject

field_geographic_subject

Entity Reference

Geographic Subject

Genre

field_genre

Entity Reference

Genre

Extent

field_extent

Text(plain)


Source

field_source

Text(plain)


Language

field_language

Entity Reference

Language

Contact Us

field_rights_contact

Text(formatted, long)


Rights

field_rights

Link


Resource Type

field_resource_type

Entity Reference

Resource Type

Linked Agent

field_linked_agent

Typed Relation

Family, Corporate Body, Person



Each of these fields will need to exist in your Islandora 2.0 installation prior to running Workbench or the operation will fail. Any fields that don’t already exist can be created using the Drupal interface. The name of the field in the CSV must match the machine name of the field in Drupal. Each field has a corresponding type that will also need to be set. This will be covered in detail in the next step.

Step

...

6: Configure Drupal Fields and Taxonomies

Taxonomies will need to be created for fields that use the Entity Reference or Typed Relation field types. For demo purposes you can leave these fields unpopulated or add a few test terms; new terms will be added automatically during the ingest if they do not already exist.

...

Note: RDF mappings are defined in a YAML configuration file. You can view and edit this file by going to /admin/config/development/configuration/single/export. Select RDF mapping for Configuration type and node.islandora_object for Configuration name. You can view the list of available RDF namespaces by going to /admin/config/search/jsonld.

Step

...

7: Check, Then Run

You should always check your configuration and spreadsheet are valid before running the ingest. Fortunately, Islandora Workbench makes this easy with the --check command:

...