Skip to content

qwc-services/sogis-document-service

Repository files navigation

docker

Document service

The document service delivers reports from the Jasper reporting service with permission control.

Dependencies

Configuration

The static config files are stored as JSON files in $CONFIG_PATH with subdirectories for each tenant, e.g. $CONFIG_PATH/default/*.json. The default tenant name is default.

JSON config

  • JSON schema
  • File location: $CONFIG_PATH/<tenant>/documentConfig.json

Example:

{
  "$schema": "https://raw.githubusercontent.com/qwc-services/sogis-document-service/master/schemas/sogis-document-service.json",
  "service": "document",
  "config": {
    "jasper_service_url": "http://localhost:8002/reports",
    "jasper_timeout": 60
  },
  "resources": {
    "document_templates": [
      {
        "template": "demo",
        "report_filename": "PieChartReport"
      }
    ]
  }
}

Environment variables

Config options in the config file can be overridden by equivalent uppercase environment variables.

Environment variables:

Variable Description Default value
JASPER_SERVICE_URL Jasper Reports service URL http://localhost:8002/reports
JASPER_TIMEOUT Timeout (s) 60

Usage

API documentation:

http://localhost:5018/api/

Request format:

http://localhost:5018/<template>?<key>=<value>&...

Example:

http://localhost:5018/BelasteteStandorte.pdf

Arbitrary parameters can be appended to the request:

http://localhost:5018/BelasteteStandorte.pdf?feature=123

The format of the report is extracted from the template name, i.e.

http://localhost:5018/BelasteteStandorte.xls?feature=123

If no extension is present in the template name, PDF is used as format.

See also jasper-reporting-service README.

Docker usage

To run this docker image you will need a running jasper reporting service.

The following steps explain how to download a jasper reporting service docker image and how to run the sogis-document-service with docker-compose.

Step 1: Clone qwc-docker

git clone https://github.com/qwc-services/qwc-docker
cd qwc-docker

Step 2: Create docker-compose.yml file

cp docker-compose-example.yml docker-compose.yml

Step 3: Start docker containers

docker-compose up sogis-document-service

For more information please visit: https://github.com/qwc-services/qwc-docker

Development

Create a virtual environment:

python3 -m venv .venv

Activate virtual environment:

source .venv/bin/activate

Install requirements:

pip install -r requirements.txt

Start local service:

CONFIG_PATH=/PATH/TO/CONFIGS/ python src/server.py

Testing

Run all tests:

python test.py

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors