Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • L ls.ext
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • digibib
  • ls.ext
  • Wiki
  • Home

Last edited by Benjamin Jan 25, 2018
Page history

Home

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.

  • System components overview
  • Ontology
  • HTTP flows
  • JSON-LD PATCH

Deichman Stack

Development

Quickstart

  1. Install the following pre-requisites: git, make, docker, docker-compose, curl
  2. Clone the ls.ext repository git clone https:/gitlbal.deichman.no/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:

  • Patron-client
  • Catalinker
  • Services

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

  • Supervision & metrics
  • Backup & restore

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.
Clone repository
  • Backup & restore
  • Catalinker
  • Development Patron client
  • Development Services
  • Documentation todo
  • HTTP flows
  • Home
  • JSON LD PATCH
  • Ontology
  • Patron Client todo
  • System component interfaces ports
  • System components overview
  • deichman stack