Skip to content

Stitch all pieces together #23

@joecorall

Description

@joecorall

We have several data sources we currently manage independent of each other

1. Drupal node field storage

We treat Drupal's config export for our content type and its attached fields to represent the metadata we're saving in our repository.
drupal

2. Google Sheets columns

We treat the Google Sheet as a human-friendlier UI to create bulk metadata to ultimately be stored in Drupal
sheets

3. Go structs

We use generated structs to help the transformation process between Drupal and Google Sheets

gophercolor

Existing tooling

go-islandora has tooling to transform

drupal right-arrow gophercolor
sheets right-arrow gophercolor

This fabricator repo then uses those structs and has some gnarly validation and transformation logic to basically unmarshal the google sheet data and marshal it into a CSV workbench can process.

Path forward

If we were to create a spec that can read the Drupal field storage, understand its field types and the expected format the data should be in Google Sheets, we could then abstract the transformation between drupal and sheets, allowing us to make edits to the google sheet, and automatically have that be able to be processed by fabricator without any manual code changes. We could just download the sheet and run the transformation. This would allow adoption of this process by others in the Islandora community without needing to write any code. it would also make our own implementation more robust.

TODO

  • Create a transformation spec
  • Run a nightly job (or maybe event driven based on edits to the ingest template) that reconciles changes to the spreadsheet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions