4. Configuration

BABEL_DEFAULT_LOCALE

Type: enum('da', 'de', 'en', 'nl')

Default: en

Locale to be used by the application.

BABEL_DEFAULT_TIMEZONE

Type: str()

Default: UTC

The timezone to be used for user facing dates.

BABEL_TRANSLATION_DIRECTORIES

Type: path()

Default: /opt/mgrid/dashboard/locale

A semi-colon (;) separated string of absolute and relative (to the app root) paths to translation folders.

BASE_URL

Type: url()

Default: https://dashboard.example.com

Base URL for the application.

CACHE_MAX_AGE

Type: int()

Default: 3600

Maximum time in seconds to cache data from the API.

DASHBOARD_CATEGORIES

Type: map()

Default: {}

Dashboard categories. An example: predefined: name: Predefined parent: null locked: true userdefined: name: Userdefined parent: null locked: false

DASHBOARD_FUNCTION_TEMPLATES

Type: any(map(), list(map()))

Default: {}

Dashboard function templates. An example: populationData: | function (data) { return { {{ key|tojson }}: data.table.rows[0][2] }; } populationClick: | function (baseUrl) { return { “empty”: {}}; }

DASHBOARD_WIDGET_DEFAULTS

Type: map()

Default: {}

Dashboard widget defaults, applied through the use of the YAML merge key (see https://yaml.org/type/merge.html). An example: defaultChaincareChart: &defaultChaincareChart title: Chaincare programs appId: exp1 renderer: chart presetref: DB_CHAINCARE datamap: { chaincareData: null } labelmap: { chaincareLabels: null } clickmap: { presetRef: null }

DASHBOARD_WIDGETS

Type: any(map(), list(map()))

Default: {}

Dashboard widgets. An example: diabetespopulation: title: Diabetes subtitle: Number of new diabetes patients per month renderer: chart type: bar presetref: DB_DIABETESPERMONTH options: { “scales”: { “y”: { “min”: 0, “ticks”: { “maxTicksLimit”: 5 } } } } datamap: { firstRow: { column: 2 }} labelmap: { firstRow: { column: 1 }} clickmap: { presetRef: null }

DASHBOARDS

Type: map()

Default: {}

Dashboards. An example: default: name: The default category: predefined panels: - {“id”: “populationtable”, “x”: 0, “y”: 0, “width”: 4, “height”: 4} - {“id”: “populationtext”, “x”: 4, “y”: 0, “width”: 3, “height”: 4}

DB_HOST

Type: str()

Default: override_me

The hostname of the application model database, e.g. postgres.

DB_NAME

Type: str()

Default: override_me

The name of the application model database, e.g. dashboard.

DB_PASSWORD

Type: password()

Default: override_me

The password for the application model database, e.g. secret.

DB_PORT

Type: int()

Default: 5432

The port number of the application model database, e.g. 5432.

DB_USER

Type: str()

Default: override_me

The username for the application model database, e.g. dashboard.

DOWNLOAD_POT_ENABLED

Type: bool()

Default: False

Enable or disable the possibility to download the raw translation file (.pot) from <BASE_URL>/api/v1/download/pot and the translated files (.po) from e.g. <BASE_URL>/api/v1/download/po/en

HOST

Type: ip()

Default: 127.0.0.1

IP address the server binds to.

Type: path()

Default: /static/images/cgm-logo.png

Location of the logo image used in the UI.

JWT_CONTENT_ENCRYPTION_ALGORITHM

Type: str()

Default: A256CBC-HS512

Encryption algorithm used by JWT for the content.

JWT_KEY_ENCRYPTION_ALGORITHM

Type: str()

Default: A256KW

Encryption algorithm used by JWT for the key.

JWT_LEEWAY

Type: int()

Default: 10

Leeway before and after the current time that the JWT token is valid.

JWT_REUSE_FROM_OIDC_PROVIDER

Type: bool()

Default: False

Instead of creating own JWT for explorer API access, reuse the JWT from provider. If true the other JWT_ settings are ignored.

JWT_SECRET_KEY

Type: password()

Default: override_me

Secret key for signing the JWT token.

JWT_SUBJECT

Type: str()

Default: system:platform

Subject of the JWT token.

LOGGING_CONFIG_FILE

Type: path()

Default: /etc/mgrid/dashboard/logging.ini

Location of the logging configuration file.

OIDC_ACCESS_TOKEN_URL

Type: url()

Default: https://dashboard.example.com/oauth/token

Access token URL for OpenID Connect.

OIDC_AUTHORIZE_URL

Type: url()

Default: https://dashboard.example.com/oauth/authorize

Authorize URL for OpenID Connect.

OIDC_BASE_URL

Type: url()

Default: https://dashboard.example.com

Base URL for OpenID Connect.

OIDC_CLIENT_AUTHENTICATION_METHOD

Type: enum('client_secret_post', 'client_secret_basic')

Default: client_secret_post

Client authentication method for OpenID Connect.

OIDC_CLIENT_ID

Type: str()

Default: override_me

Client identifier for OpenID Connect.

OIDC_CLIENT_SECRET

Type: password()

Default: override_me

Client secret for OpenID Connect.

OIDC_LOGOUT_REDIRECT_URL

Type: url()

Default: https://dashboard.example.com

Redirect URL after logging out with OpenID Connect.

OIDC_NAME

Type: str()

Default: override_me

Application name for OpenID Connect.

OIDC_PROVIDER_DOMAINS

Type: list(domain())

Default: ['example.com']

Provider domains for OpenID Connect.

OIDC_REDIRECT_URL

Type: url()

Default: https://dashboard.example.com

Redirect URL after logging in with OpenID Connect.

OIDC_SCOPE

Type: str()

Default: openid organization roles session

Scope for OpenID Connect.

OIDC_USERINFO_URL

Type: url()

Default: https://authprov.example.com/userinfo

Userinfo URL for OpenID Connect.

OIDC_USERINFO_PUBLICKEY

Type: path()

Default: ''

Path to public key file of OpenID Connect userinfo signature (JWS).

PAGE_TITLE

Type: str()

Default: Analytics

Title of the application.

PERMANENT_SESSION_LIFETIME

Type: int()

Default: 86400

# Maximum number of seconds which a newly issued cookie will be considered valid. # After this amount of time, the cookie will expire (effectively logging the user out).

PLATFORM_APPLICATIONS

Type: list()

Default: []

Platform applications. An example: - id: exp1 type: explorer name: Patient Explorer icon: fas fa-users base_url: “https://explorer1.example.com:8443” internal_url: “https://explorer1.example.com:8443/test

PLATFORM_DOMAIN

Type: domain()

Default: example.com

Base domain of the platform (e.g., common for Explorer and Dashboard).

PORT

Type: int()

Default: 5000

IP port the server binds to.

SECRET_KEY

Type: password()

Default: override_me

The secret key that is used to authenticate requests to the UI.

SECURITY_AUTH_METHOD

Type: enum('oidc')

Default: oidc

Authentication method for the application

SECURITY_EDITOR_ROLES

Type: list(str())

Default: []

List of roles that grant editor abilities.

SERVER_NAME

Type: any(domain(), null())

Default: None

Name of the server.

Type: bool()

Default: True

# Enable or disable hiding cookie from JavaScript by setting the HttpOnly flag. # Not honored by all browsers.

Type: str()

Default: _dashboard_session

Name of the session cookie.

Type: str()

Default: /

The path that the session cookie will be valid for.

Type: bool()

Default: True

# Enable or disable sending the cookie only over a secure connection.

SESSION_FILE_DIR

Type: path()

Default: /tmp/flask_session

The directory where session files are stored.

SESSION_PERMANENT

Type: bool()

Default: False

Enable or disable permanent sessions.

SESSION_TYPE

Type: enum('null', 'filesystem', 'sqlalchemy')

Default: filesystem

Specifies which type of session interface to use.

SQLALCHEMY_ENGINE_OPTIONS

Type: map()

Default: {'pool_pre_ping': True, 'pool_size': 1}

A dictionary that can contain options for the model database engine, most notably to change the connection pool characteristics.

SQLALCHEMY_TRACK_MODIFICATIONS

Type: bool()

Default: False

If set to True, modifications to the model database objects will be tracked. This requires extra memory and should be disabled if not needed.

SSL_VERIFY

Type: bool()

Default: True

Enable or disable SSL verification.

WHITE_LABEL

Type: bool()

Default: False

Hide MGRID name and link to data protection statement when true.

WIDGET_REFRESH_ENABLED

Type: bool()

Default: True

Enable or disable showing the timestamp of the last widget refresh.