Skip to content

Configuration Core

Urs Joss edited this page Aug 5, 2020 · 25 revisions

Configuration of SciPaMaTo-Core

You can provide a configuration file application.properties and put it in the same directory where your core-web.jar resides.

The properties are of the following form:

specific.property.name=value

Any line starting with the hash (#) is considered a comment. You can find a full sample application.properties at the end of the page.

1. Application specific settings

scipamato.brand

The brand name of the application. (default: SciPaMaTo)

scipamato.page-title

The page title used in the browser tab. If not present, scipamato.brand will be used instead.

scipamato.default-localization

The default localization for the user interface (default: de (German), currently also supported en (English))

scipamato.paper-number-minimum-to-be-recycled

The lowest number SciPaMaTo will consider for new papers (in case of gaps). I.e. any number below the defined value would not be recycled in case of gaps. Set this in order to either create a gap by using a higher number than the highest currently assigned number. Or to prevent SciPaMaTo from filling gaps in a lower range and only recycle free numbers in the high ranges.

scipamato.multi-select-box-action-box-with-more-entries-than

The threshold of entries in a multi-select box above which the action box (buttons for 'select all/none') is presented (if configured). Default: 4.

scipamato.pubmed-api-key

The api_key used for accessing PubMed. See https://ncbiinsights.ncbi.nlm.nih.gov/2018/08/14/release-plan-for-e-utility-api-keys/

scipamato.ris-exporter

Specifies the flavor for the RIS file export for exporting studies into a RIS file format to be imported into other citation managers (see WikiPedia) Currently supports values DEFAULT and DISTILLERSR (defaults to, well, DEFAULT)

scipamato.cms-url-search-page

The first part of the URL to access the paper summary when adding paper/number/1234. Will be added in RIS files as tag L1.

wicket.external.agilecoders.bootstrap.theme

The look and feel of the application. SciPaMaTo can use the themes provided by Bootswatch, the default theme is cerulean. Other options, e.g. cosmo, cyborg, darkly, flatly, journal, lumen, paper, readable, sandstone, simplex, slate, solar, spacelab, superhero, united, yeti.

purge_grace_time_in_minutes

Setting for the data synchronization from SciPaMaTo-Core to SciPaMaTo-Public. The synchronization process will touch a timestamp (column last_synched in the synchronized tables) of any record synchronized from core to public. Any record not touched within X minutes (default: 30) will be deleted in SciPaMaTo-Public after the synchronization.

2. Web Server Settings

server.port

defines the port the application server listens on (default: 8080)

server.servlet.session.timeout

The session timeout for the web server (default: 3600s)

spring.servlet.multipart.max-file-size

The maximum file size for a single attachment (default: 10 MB)

spring.servlet.multipart.max-request-size

Max request size (for all files combined) (default: 10 MB)

3. Logging

logging.file

location of your log file (default: log/scipamato.log)

logging.level.root

root log level, e.g. DEBUG, INFO, WARN (default: INFO)

logging.level.ch.difty

log level for specific package (here e.g. ch.difty.*)

4. Database

The core application needs both the connection information for the core database and the public database. It requires the latter for pushing data from the core to the public database (synchronization).

The application uses user/password and JDBC connection string starting with sync.source both for working purely within SciPaMaTo-Core, but also for reading core data during the synchronization.

Spring-batch uses user/password and JDBC connection string starting with sync.target for writing into the public application (the user needs permissions select, insert, update and delete in the respective public tables).

Spring-batch further uses user/password and JDBC connection string starting with sync.batch to store the meta-information about the synchronization steps and jobs in the SciPaMaTo-Core table.

db.schema

the database schema (default: public)

sync.source.datasource.jdbc-url

the jdbc connection string for the core database (default: jdbc:postgresql://localhost:5432/scipamato)

sync.source.datasource.username

the user name for the application to connect to the core database (default: scipamato). Needs read-only permissions for the synchronized tables in the core database.

sync.source.datasource.password

the password for the application to connect to the core database (default: scipamato)

sync.target.datasource.jdbc-url

the jdbc connection string for the pulibc database (default: jdbc:postgresql://localhost:5432/scipamato_public)

sync.target.datasource.username

the username for the core application for pushing the data into the public database (default: scipamadminpub). Needs write access to the synchronized tables in the public database.

sync.target.datasource.password

the password for the core application for pushing the data into the public database (default: scipamadminpub)

sync.batch.datasource.jdbc-url

the JDBC connection string for the application for the administration of the data synchronization process from core to public (spring-batch meta-tables) (default: inherits the setting from sync.source.datasource.jdbc-url)

sync.batch.datasource.username

user to maintain the spring batch metatables (default: 'scipamadmin'). Needs write-access to the batch metadata tables. Initially needs rights to create the batch metadata tables.

sync.batch.datasource.password

password for above user (default: 'scipamadmin')

5. Database Migration

spring.flyway.user

The user name used by Flyway to perform the migrations. Must have the permissions to create, modify, update, drop tables, sequences, and alter the data. (default 'scipamadmin').

spring.flyway.password

Password for above user (default: 'scipamadmin')

spring.flyway.clean-disabled

If this setting is true, Flyway refuses to clear the database, even if called to do so. Definitely should be set to true in production environments.

6. Example application properties

The following example provides the default values (except the database profile!). There’s no need to use this specific version. You can use it as a template to change specific values to configure your preferred choices.

#
# Application-specific settings
#
##################################

# Brand name of  the application
scipamato.brand=SciPaMaTo
# Default Localization [en, de]
scipamato.default-localization=de
# Lowest paper number that can be recycled in case of gaps
scipamato.paper-number-minimum-to-be-recycled=30
# Threshold above which a multi-select-box may show the action box
scipamato.multi-select-box-action-box-with-more-entries-than=4
# The PubMed api_key
scipamato.pubmed-api-key=xxx

# Information required for RIS file export
# RIS file flavour [DEFAULT, DISTILLERSR - defaults to DEFAULT]
scipamato.ris-exporter=DEFAULT
# base part of the URL that will be added into the RIS file as tag L1 (exclusive numbers/XXXX)
scipamato.cms-url-search-page=https://...

# Look and Feel: Bootstrap Theme - see http://bootswatch.com/
wicket.external.agilecoders.bootstrap.theme=cerulean


#
# Web Server Settings
#
########################

# Port exposing the application, i.e. 8080 -> http://localhost:8080/
server.port=8080
# Session Timeout
server.servlet.session.timeout=3600s

# Maximum file upload size
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB


#
# Logging specification
#
###########################

logging.file=log/scipamato.log
logging.level.root=INFO


#
# Database Configuration
#
#############################

sync.source.datasource.jdbc-url=jdbc:postgresql://localhost:5432/scipamato
sync.source.datasource.username=scipamato
sync.source.datasource.password=scipamato

sync.target.datasource.jdbc-url=jdbc:postgresql://localhost:5432/scipamato_public
sync.target.datasource.username=scipamadminpub
sync.target.datasource.password=scipamadminpub

sync.batch.datasource.username=scipamadmin
sync.batch.datasource.password=scipamadmin

#
# Synchronization settings
#
#############################
# purge grace time - any records not touched by synchronization within the last X minutes will be purged
purge_grace_time_in_minutes=30

If the property file contains passwords, it makes sense to protect the file from reading for unauthorized users.