Skip to content
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

Harvester 2.0: Deploy mdTranslator on cloud.gov #4467

Closed
1 task
rshewitt opened this issue Sep 20, 2023 · 13 comments
Closed
1 task

Harvester 2.0: Deploy mdTranslator on cloud.gov #4467

rshewitt opened this issue Sep 20, 2023 · 13 comments
Assignees
Labels
H2.0/Harvest-Transform Transform Logic for Harvesting 2.0

Comments

@rshewitt
Copy link
Contributor

rshewitt commented Sep 20, 2023

User Story

In order to have a transformation service available to the harvester 2.0 pipeline, data.gov wants deploy an instance of mdTranslator on cloud.gov.

Acceptance Criteria

  • GIVEN an mdTranslator app deployed on cloud.gov
    WHEN a request is made against the service
    THEN a response containing the translated metadata is provided

Background

  • harvester 2.0
  • mdTranslator is mature, actively worked on, we have direct contact with those that work on it, and it supports metadata standards we care about.
  • example api
  • mdTranslator rails API

Security Considerations (required)

none

Sketch

  • Standup local instance of mdTranslator ( optional )
    • Capture local deployment instructions in README
  • Determine repo to use (Jin's/Aspenwall's/ADIWG develop)
  • Determine repo to store the code
  • Write cloud foundry manifest using ruby buildpack
  • Push and debug
  • Integrate with github actions for testing and deployment
    • Use the tests which come from the repo you choose
@rshewitt rshewitt added the H2.0/Harvest-General General Harvesting 2.0 Issues label Sep 20, 2023
@rshewitt rshewitt self-assigned this Sep 20, 2023
@rshewitt rshewitt moved this to 🏗 In Progress [8] in data.gov team board Sep 20, 2023
@rshewitt
Copy link
Contributor Author

macos has a system ruby pre-installed. if you want to install mdTranslator locally and have a mac make sure to install a version manager like RVM or rbenv.

@rshewitt
Copy link
Contributor Author

rshewitt commented Sep 22, 2023

  • update from call with johnathan
    • we're going to use the science base api for the moment
      • science base has been/is currently in hot water for violating SLA.
      • we're holding off on deploying our own instance of the rails API and the translator gem on cloud.gov.
    • unless we need to add our own features sooner rather than later we may be good just sticking to their rail repo and translator repo ( i.e not using a fork )
    • dcatus reader could be ready at the beginning of the year.
    • mdtoolkit docker registry

@rshewitt
Copy link
Contributor Author

rshewitt commented Sep 27, 2023

sandbox branch with example post to mdtranslator converting fgdc to iso19110. I can probably just read the file instead of parsing it as a tree.

@rshewitt
Copy link
Contributor Author

rshewitt commented Sep 27, 2023

science base mdtranslator api returns a 200 response despite errors existing in the input fgdc dataset

  • ERROR: ISO-19115-1 writer: spatial reference system identifier is missing: CONTEXT is resource spatial reference system
  • ERROR: ISO-19115-1 writer: spatial reference system type is missing: CONTEXT is resource spatial reference system

There's a forceValid option which substitutes required content ( true = substitue; false = don't substitute ). Both cases includes the errors in the response content.

@rshewitt
Copy link
Contributor Author

according to the mdtranslator api documentation "if validation errors prevent the writer from generating a return, messages will be returned as 'text/plain'". In that case, we would have to parse the response content to derive meaning from it. So far it seems as long as the response is okay ( e.g. 200 ) regardless of whether the transformation is successful the response contains what could be transformed.

@nickumia-reisys
Copy link
Contributor

A tangential point... If we would be implementing our own version of the mdTranslator and the API configuration is separate from the translator logic, details on the response of the API seem to be biased and no necessarily representative on what we would be expecting in our setup.

@hkdctol hkdctol moved this from 🏗 In Progress [8] to 📔 Product Backlog in data.gov team board Oct 25, 2023
@btylerburton btylerburton changed the title Harvester 2.0: Deploy mdTranslator on cloud.gov WIP: Harvester 2.0: Deploy mdTranslator on cloud.gov Nov 27, 2023
@btylerburton btylerburton moved this from 📔 Product Backlog to New Dev in data.gov team board Nov 27, 2023
@btylerburton btylerburton changed the title WIP: Harvester 2.0: Deploy mdTranslator on cloud.gov Harvester 2.0: Deploy mdTranslator on cloud.gov Nov 30, 2023
@btylerburton btylerburton moved this from New Dev to 📔 Product Backlog in data.gov team board Nov 30, 2023
@gujral-rei gujral-rei moved this from 📔 Product Backlog to 📟 Sprint Backlog [7] in data.gov team board Dec 7, 2023
@rshewitt rshewitt self-assigned this Dec 8, 2023
@rshewitt rshewitt moved this from 📟 Sprint Backlog [7] to 🏗 In Progress [8] in data.gov team board Dec 8, 2023
@rshewitt rshewitt moved this from 🏗 In Progress [8] to 📟 Sprint Backlog [7] in data.gov team board Dec 8, 2023
@rshewitt rshewitt moved this from 📟 Sprint Backlog [7] to 🏗 In Progress [8] in data.gov team board Dec 8, 2023
@rshewitt rshewitt moved this from 🏗 In Progress [8] to 📟 Sprint Backlog [7] in data.gov team board Dec 11, 2023
@btylerburton btylerburton added H2.0/Harvest-Transform Transform Logic for Harvesting 2.0 and removed H2.0/Harvest-General General Harvesting 2.0 Issues labels Dec 13, 2023
@rshewitt rshewitt moved this from 📟 Sprint Backlog [7] to 🏗 In Progress [8] in data.gov team board Dec 18, 2023
@rshewitt
Copy link
Contributor Author

mdtranslator rails app uses ruby 2.7.7. cf ruby buildpacks don't support 2.x. need to bump ruby to deploy.

@rshewitt
Copy link
Contributor Author

rshewitt commented Dec 19, 2023

mdtranslator is deployed here. parts of the ui aren't going to work but since we only care about the api it doesn't matter. that instance is using develop. this comment is no longer relevant.

@rshewitt
Copy link
Contributor Author

bare bone mdtranslator app is deployed here. this route only accepts posts. here's a python implementation as an example. you can get some example data here

@rshewitt
Copy link
Contributor Author

rshewitt commented Dec 20, 2023

i'm going to remove as much content as needed from the app which derived from the rails start project utility before I commit anything to the transformation repo

@rshewitt
Copy link
Contributor Author

sinatra could be a lighter alternative than rails

@rshewitt rshewitt moved this from 🏗 In Progress [8] to ✔ Done in data.gov team board Dec 20, 2023
@rshewitt rshewitt moved this from ✔ Done to 👀 Needs Review [2] in data.gov team board Dec 20, 2023
@rshewitt rshewitt moved this from 👀 Needs Review [2] to 🏗 In Progress [8] in data.gov team board Dec 21, 2023
@rshewitt rshewitt moved this from 🏗 In Progress [8] to 📡 Blocked in data.gov team board Dec 28, 2023
@rshewitt
Copy link
Contributor Author

blocked until cf credentials are stored in repo

@rshewitt rshewitt moved this from 📡 Blocked to ✔ Done in data.gov team board Dec 28, 2023
@rshewitt
Copy link
Contributor Author

dropped instances to 0. app couldn't deploy using 64mb so bumped it to 128.

@btylerburton btylerburton moved this from ✔ Done to 🗄 Closed in data.gov team board Jan 4, 2024
@btylerburton btylerburton moved this to 🗄 Closed in data.gov team board Feb 16, 2024
@github-project-automation github-project-automation bot moved this from 🗄 Closed to ✔ Done in data.gov team board Feb 16, 2024
@btylerburton btylerburton moved this from ✔ Done to 🗄 Closed in data.gov team board Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
H2.0/Harvest-Transform Transform Logic for Harvesting 2.0
Projects
Archived in project
Development

No branches or pull requests

3 participants