gdcc / xoai

OAI-PMH Java Toolkit
BSD 3-Clause "New" or "Revised" License
4 stars 3 forks source link

XOAI

Quality Gate Status Coverage Bugs Vulnerabilities TCK

What is XOAI?

XOAI is the most powerful and flexible OAI-PMH Java Toolkit (initially developed by Lyncode, updated by DSpace). XOAI contains common Java classes allowing to easily implement OAI-PMH data and service providers.

Compliance with the OAI-PMH standard is checked using an included Technology Compatibility Kit, relying on https://github.com/zimeon/oaipmh-validator. Compliance checks are operated on every pull request and push to main branch.

Usage

Moving (again): as XOAI is no longer actively maintained by DSpace since 2019, this fork by the Global Dataverse Community Consortium provides an updated version for the needs of and usage with the open source repository Dataverse Software.

This library is available from Maven Central, simply rely on them in your builds:

When building a data provider, you'll add xoai-data-provider:

<dependency>
    <groupId>io.gdcc</groupId>
    <artifactId>xoai-data-provider</artifactId>
    <version>${xoai.version}</version>
</dependency>

When building a service provider, you'll add xoai-service-provider:

<dependency>
    <groupId>io.gdcc</groupId>
    <artifactId>xoai-service-provider</artifactId>
    <version>${xoai.version}</version>
</dependency>

Some minimal usage documentation has been scraped from the DSpace Wiki, mostly explaining the concepts of this library, and put into docs/README.md. It also contains some minimal explanation of this forks special changes. Feel free to extend the documentation, pull requests welcome.

Development

This project uses Spotless Maven Plugin, google-format-java and pre-commit to ensure a standardized and well-formatted codebase.

After cloning the repo, please make sure to install pre-commit, which will take care of everything for you:

pip install pre-commit
pre-commit install

If you want to run spotless directly, use Maven:

mvn spotless:apply
# - or to just check for consistency use -
mvn spotless:check

Release notes

v5.2.2

🌟 FEATURES

💔 BREAKING CHANGES

🏹 BUG FIXES

v5.2.1

🌟 FEATURES

💔 BREAKING CHANGES

🏹 BUG FIXES

v5.2.0

🌟 FEATURES

💔 BREAKING CHANGES

🏹 BUG FIXES

v5.1.0

🌟 FEATURES

💔 BREAKING CHANGES

🏹 BUG FIXES

v5.0.0

This is a breaking changes release with a lot of new features, influenced by the usage of XOAI within Dataverse and other places.

💔 BREAKING CHANGES

🌟 FEATURES

🏹 BUG FIXES

License

See LICENSE or DSpace BSD License