Skip to content
This repository has been archived by the owner on Dec 18, 2018. It is now read-only.
Petter Goksøyr Åsen edited this page Jun 8, 2017 · 46 revisions

Welcome to the ls.ext wiki!

System overview and technical information

System components

The diagram shows the components of a default setup of the LS.ext system, and how they are connected. The different components run as docker containers in a closed network and communicate directly to ports only available internally in the docker-network, with only 3 services (ports) exposed: catalinker, patron-client and Koha.

Development

Quickstart

  1. Install the following pre-requisites: git, make, docker, docker-compose
  2. Clone the ls.ext repository git clone https://github.com/digibib/ls.ext.git
  3. Enter the ls.ext directory and make the project: cd ls.ext && make. When the make command has executed you have built the project and all containers should be up and running.
  4. To check the platform integrity, run tests with make test_one

Troobleshooting

  • Elasticsearch won't start - Make sure your system fulfills Elasticsearch Important System Configurations. In particular, the default virtual mmap count is likely too low, set in linux using sudo sysctl -w vm.max_map_count=262144, or see docker for Mac instructions
  • Koha API authentication fails - Make sure the following sysprefs in Koha are set: SessionRestrictionByIP to No and SessionStorage to Temporary files.

In-depth guides for individual components:

Deployment

We at OPL use docker-compose both for provisioning our development machines as well as for provisioning our production servers. Updating a services is just a matter of specifying a different container image in the docker-compose configuration file and restart the service with docker-compose up -d <service>.

Operations

Customizations

Internationalization

Patron-client

The user interface is fully translatable, and a check in our testing pipeline ensures that all strings are translated. We are maintaining English and Norwegian translations. Adding a third language is trivial.

Catalinker

The interface defaults to Norwegian, but English can be triggered by amending &language=en to the URL.

Remaining TODOs

  • Some properties of resources are indexed with their Norwegian label (for example: the nationality of persons).

De-deichmanification

If the LS.ext where to be adopted by another library, some improvements would need to be made to make certain hard-coded values and usages configurable:

  • The RDF resource base URI is hard-coded to http://data.deichman.no/. For resources to be dereferencable, this should be made configurable to a domain under the users control.
  • The ontology namespace is hard-coded to http://data.deichman.no/ontology#
  • Some links to resources in catalinker are hardcoded to OPL domains.