Skip to main content

Frontend Services Configuration

This document provides an overview of the configuration settings for the frontend of OpenCDMP, based on their config.json file structure.

Env VariableDescriptionDefault ValueExample
WEBAPP_API_URLServer API URL-https://<hostname>:<port>/<api-path>/
INSTALLATION_URLInstallation base URL-https://<hostname>:<port>/
DEFAULT_CULTUREDefault app culture, in ISO639 format-en
KEYCLOAK_ADDRESSKeycloak server URL string-https://<keycloak-hostname>:<port>
KEYCLOAK_REALMKeycloak realm name-opencdmp
KEYCLOAK_CLIENT_IDKeycloak client name-webapp
KEYCLOAK_SCOPEKeycloak scope parameters-openid <scope-value-1> <scope-value-2>
KPI_SERVICE_ENABLEDBoolean value that enables KPI service (Statistics dashboard)falsetrue
KPI_SERVICE_ADDRESSKPI service URL-http://<hostname>:<port>/<kpi-path>
KPI_SERVICE_DASHBOARD_IDKPI (Statistics) dashboard Id-<dashboard-id>
KPI_SERVICE_KEYWORD_FILTERFiltering keyboards for the KPI dashboard-<filter-value-code>
ACCOUNTING_SERVICE_ENABLEDBoolean value that enables accounting servicefalsetrue
LOGGING_ENABLEDBoolean value that enables logging servicefalsetrue

Overrides

You can also override config.json values via creating a new config-overrides.json file, which defines the values that will be overriden. config-overrides.json configured values are not mandatory and take precedence over other env variables. The file structure is as follows:

Notifications

"notification_service": {
"address": {NOTIFICATION_SERVICE_ADDRESS}
}
VariableDescriptionDefault ValueExample
addressNotification service URL stringnullhttp://<hostname>:<port>/<path>

Logging

"logging": {
"logLevels": {LOG_LEVELS}
}
VariableDescriptionDefault ValueExample
logLevelsarray of levels["debug", "info", "warning", "error"]["debug"]

Default:

"sidebar": {
"infoItems": [
{
"title": "SIDE-BAR.SUPPORT",
"icon": "help",
"externalUrl": "/splash/contact.html",
"accessLevel": "unauthenticated"
}
],
"footerItems": [
{
"routerPath": "/about",
"title": "FOOTER.ABOUT",
"icon": "feedback",
"accessLevel": "public"
},
{
"routerPath": "/terms-and-conditions",
"title": "FOOTER.TERMS-OF-SERVICE",
"accessLevel": "public"
},
{
"routerPath": "/glossary",
"title": "FOOTER.GLOSSARY",
"accessLevel": "public"
},
{
"routerPath": "/user-guide",
"title": "FOOTER.GUIDE",
"accessLevel": "public"
},
{
"routerPath": "/contact-support",
"title": "FOOTER.CONTACT-SUPPORT",
"accessLevel": "authenticated"
}
]
}
VariableDescriptionDefault ValueExample
titlePage title-page-title
routerPathInternal path to the page-/<relative-route>
externalUrlurl that leads to external view-http://<base-route>/<route>
accessLevelAccess level of users allowed to view page-authenticated
iconSidebar menu material symbol icon that appears next to the title-feedback

Authorization Providers

Authorization Providers are used to set an icon next to email in My Profile Page. You can set a default auth provider for all emails or a specific icon based on the email provider that comes from keycloak. If provider don't exist in keycloak, default provider is used.

Default:

"authProviders": {
"defaultAuthProvider": {
"name": "Default",
"providerClass": "defaultIcon"
},
"authProviders": [
{
"name": "google",
"providerClass": "googleIcon",
"cultures": ["en"]
},
{
"name": "facebook",
"providerClass": "facebookIcon",
"cultures": ["en"]
}
]
}
VariableDescriptionDefault ValueExample
nameprovider name-google
providerClassstyle class to be applied-googleIcon
cultureslist of supported cultures in ISO639 format-["en"]