Skip to content

Comments

Add OAI-PMH Ingestors#1180

Open
eilmiv wants to merge 18 commits intoElixirTeSS:masterfrom
pan-training:oai_pmh_ingestors
Open

Add OAI-PMH Ingestors#1180
eilmiv wants to merge 18 commits intoElixirTeSS:masterfrom
pan-training:oai_pmh_ingestors

Conversation

@eilmiv
Copy link
Collaborator

@eilmiv eilmiv commented Nov 25, 2025

Summary of changes

  • Add ingestor for OAI-PMH endpoints that ingests materials and events based on Dublin Core metadata
  • Add ingestor for OAI-PMH endpoints that ingests materials and events based on Bioschemas RDF metadata

Motivation and context

This is a relevant step in the mTeSS-X project. In particular, it is MR11. See #1179.

Checklist

  • I have read and followed the CONTRIBUTING guide.
  • I confirm that I have the authority necessary to make this contribution on behalf of its copyright owner and agree
    to license it to the TeSS codebase under the
    BSD license.

@eilmiv eilmiv requested a review from fbacall February 5, 2026 15:27
@eilmiv eilmiv marked this pull request as ready for review February 5, 2026 15:27
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new OAI-PMH ingestion pathway to TeSS to import Events and Materials from remote OAI-PMH endpoints, with support for both Dublin Core and Bioschemas RDF metadata (MR11 / #1179).

Changes:

  • Introduce Ingestors::OaiPmhIngestor with RDF-first (Bioschemas) parsing and Dublin Core fallback.
  • Register the new ingestor in IngestorFactory.
  • Add unit tests covering empty endpoints, Dublin Core materials/events, mixed records, and Bioschemas RDF parsing.
  • Fix HTML body tag class attribute quoting in the application layout.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
lib/ingestors/oai_pmh_ingestor.rb New OAI-PMH ingestor implementation for RDF (Bioschemas) and Dublin Core ingestion.
lib/ingestors/ingestor_factory.rb Registers Ingestors::OaiPmhIngestor as an available ingestor.
test/unit/ingestors/oai_pmh_test.rb Adds unit tests for OAI-PMH ingestion behavior and parsing outcomes.
app/views/layouts/application.html.erb Quotes body class attribute to produce valid HTML when multiple classes are emitted.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

eilmiv and others added 5 commits February 20, 2026 13:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant