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
- Compilation
- Docker Build
- Initialize Postgres Database
- Installing MARCcat module
- Deploying MARCcat module
FOLIO Cataloguing module.
For now, no permissions are required to access endpoints. Will be added soon.
mvn clean install
See that it says "BUILD SUCCESS" near the end.
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
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.
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
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.
File Size | Java Heap size |
---|---|
256mb | 270+ mb |
512mb | 560+ mb |
1GB | 1.1+ GB |
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;
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.
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
See project MODCAT at the FOLIO issue tracker.
The raml-module-builder framework.
Other modules.
See project MODDATAIMP at the FOLIO issue tracker.
Other FOLIO Developer documentation is at dev.folio.org