GithubHelp home page GithubHelp logo

europeana / oai-pmh Goto Github PK

View Code? Open in Web Editor NEW
7.0 11.0 6.0 6.56 MB

Europeana OAI-PMH server

License: European Union Public License 1.2

Java 93.31% HTML 6.11% CSS 0.43% Dockerfile 0.15%
cultural-heritage europeana oai-pmh api spring-boot2

oai-pmh's Introduction

OAI-PMH

Europeana OAI-PMH server and test client applications (based on Spring-Boot)

Server

To use the server, fill in the missing properties (wskey, mongo, solr and socks) in the oai-pmh.properties file. Alternatively you can specify those properties in a separate oai-pmh.user.properties file. The latter is safer because that file is in .gitignore so you don't accidentally commit the database credentials.

You can set up the server to use either the Record API (with the recordProviderClass=eu.europeana.oaipmh.service.RecordApi setting) or retrieve data directly from a Mongo database (recordProviderClass=eu.europeana.oaipmh.service.DBRecordProvider) However, the default is using Mongo database and using Record API is not officially supported.

Client

The client application was designed to test the OAI-PMH server, so not to have a rich oai-pmh client application for harvesting. To use the client, start it with the OAI-PMH verb of the operation you'd like to do as a parameter (e.g listIdentifiers, listRecords, identify etc.). Other request parameters like set, from and until should be placed in the oai-pmh-client.properties file.

Build

mvn clean install (add -DskipTests) to skip the unit tests during build

Server deployment

  1. Generate a Docker image using the project's Dockerfile

  2. Configure the application by generating a oai-pmh.user.properties file and placing this in the k8s folder. After deployment this file will override the settings specified in the oai-pmh.properties file located in the server/src/main/resources folder. The .gitignore file makes sure the .user.properties file is never committed.

  3. Configure the deployment by setting the proper environment variables specified in the configuration template files in the k8s folder

  4. Deploy to Kubernetes infrastructure

oai-pmh's People

Contributors

dependabot[bot] avatar europeana-jenkins avatar helinek avatar ikattey avatar luthien-in-edhil avatar nshweta90 avatar p-ehlert avatar srishtisingh-eu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oai-pmh's Issues

What is the MongoDB schema?

Hi,

I want to use this with my own MongoDB, but I can't figure out the database structure needed for this to work. Is there a sample schema I can use?

Well, I fill my MongoDB credentials in the properties file, but that's just an empty database. What tables do I need there?

Thanks

Can't start server locally

Hey, I'm trying to set everything up on my own computer, but I have problems with the dependencies. When trying to build with maven I get the following error:

Non-resolvable parent POM for eu.europeana:oai-pmh2:0.0.2-SNAPSHOT: Could not find artifact eu.europeana:europeana-parent-pom:pom:2.0 in central (https://repo.maven.apache.org/maven2) and 'parent.relativePath' points at wrong local POM @ line 6, column 10 -> [Help 2]

Is the parent pom missing, or am I skipping a step?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.