Skip to content

Refactor the OAI code, Step 2 #8842

@landreev

Description

@landreev

This is a followup issue for #8372 (PR #8753).
Once that is merged we can proceed cleaning up and refactoring the remaining old OAI code.
Some of that code predates Dataverse and was copy-and-pasted from the implementation in DVN.
In the process it created in some extra layers of code that duplicate each other, and should probably be significantly simplified. (That is on top of a significant amount of old code that we used to maintain on the Dataverse side, but got rid of in Step. 1 when switching to the new gdcc/xoai library).
Major pieces:

  • Server: the object implementing XOAI "items" (DataverseXoaiItem) acts as a wrapper around the entity class storing the record in the database (OAIRecord). The XOAI items should instead implement both. There's a similar situation with the Set objects.
  • Client: OaiHandler may not be necessary/may be duplicating the functionality provided by the XOAI library; should be possible to further streamline the implementation.

Aside from that, the overall code needs to be cleaned up and modernized.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

On Hold ⌛

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions