Giter Site home page Giter Site logo

folio-org / mod-marccat Goto Github PK

View Code? Open in Web Editor NEW
5.0 15.0 2.0 11.02 MB

** DEPRECATED: Closed ** FOLIO metadata management / marccat module

License: Apache License 2.0

Dockerfile 0.01% Shell 0.60% Python 0.01% PLpgSQL 85.36% Java 13.46% RAML 0.07% Ruby 0.01% mIRC Script 0.51%
marc-records marc21 marc java docker jenkins

mod-marccat's Introduction

mod-marccat

Copyright (C) 2018-2019 The Open Library Foundation

This software is distributed under the terms of the Apache License, Version 2.0. See the file "LICENSE" for more information.

Introduction

FOLIO Cataloguing module.

Decisions

No required permissions

For now, no permissions are required to access endpoints. Will be added soon.

Compilation

   mvn clean install

See that it says "BUILD SUCCESS" near the end.

Docker Build

Build the docker container running from root folder:

   docker build -t mod-marccat .

Actually there are no test, but in near future runs with it:

   docker run -t -i -p 8081:8081 mod-marccat

Installing MARCcat module

Follow the guide of Deploying Modules sections of the Okapi Guide and Reference, which describe the process in detail.

First of all you need a running Okapi instance. (Note that specifying an explicit 'okapiurl' might be needed.)

   cd ../okapi
   java -jar okapi-core/target/okapi-core-fat.jar dev [for development mode]

Declare MARCcat module to Okapi:

curl -w '\n' -X POST -D -   \
   -H "Content-type: application/json"   \
   -d @target/ModuleDescriptor.json \
   http://localhost:9130/_/proxy/modules

That ModuleDescriptor tells Okapi what the module is called, what services it provides, and how to deploy it.

Deploying MARCcat module

Next we need to deploy the module. There is a deployment descriptor in target/DeploymentDescriptor.json. It tells Okapi to start the module on 'localhost'.

Deploy it via Okapi discovery:

curl -w '\n' -D - -s \
  -X POST \
  -H "Content-type: application/json" \
  -d @target/DeploymentDescriptor.json  \
  http://localhost:9130/_/discovery/modules

Then we need to enable the module for the tenant:

curl -w '\n' -X POST -D -   \
    -H "Content-type: application/json"   \
    -d @target/TenantModuleDescriptor.json \
    http://localhost:9130/_/proxy/tenants/<tenant_name>/modules

Maximum upload file size and java heap memory setups

mod-data-import provides the ability to upload a file of any size. The only limitation is related to the current implementation of the RMB and the size of the heap in the java process. Currently, before saving the file, it is read into memory, respectively, it is necessary to have the size of the java heap equal to the file size plus 10 percent.

Example

File Size Java Heap size
256mb 270+ mb
512mb 560+ mb
1GB 1.1+ GB

Setup Mod-configuration

MARCcat needed some configuration to setup and configure all table and relation of database. After installing all you needed is run:

   sh setup/setup-conf.sh [options]

where options are:

  • host;
  • port;
  • database parameter;
  • name;
  • username;
  • password;

Storage Architecture

mod-marccat has its own pre-existing storage, it results in a single cohesive module, where the data and logic tiers are logically divided within the same artifact. It uses Hibernate for dealing with the persistence logic. Tenants are isolated at database level, so multi-tenancy is managed by mod-marccat addressing all the requests from different tenants to the proper database.

Initialize Postgres Database

to configure postgres database run:

  sh setup-test-db [database_name] [marccat_user_name] [marccat_password] [host] [port] [admin_user] [admin_password

where options are:

  • database (required);
  • username;
  • password;
  • host;
  • port;
  • admin user;
  • admin password;

for instance:

  sh setup-test-db biblio marccat admin localhost 5432 postgres postgres

Issue tracker

See project MODCAT at the FOLIO issue tracker.

Additional information

The raml-module-builder framework.

Other modules.

See project MODDATAIMP at the FOLIO issue tracker.

Other FOLIO Developer documentation is at dev.folio.org

mod-marccat's People

Contributors

agazzarini avatar aliceguercio avatar carmentrazza avatar cchiama avatar dcrossleyau avatar dependabot[bot] avatar eturienzo avatar funkymalc avatar gpettinato avatar ihardy avatar leirediez avatar matteopascucci avatar natasciab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.