datasources Configuration

This configuration is required for startup.

No dedicated Cadenza feature requires this configuration.

  • Documentation

  • YAML Format

  • XML Format

Fill relevant inputs (blue boxes) and click the blue bars on the left to copy XML configuration snippets.
<dataSourcesConfiguration
>
required
<mainDataSource
<id
>
required

Data source ID

xs:string
</id>
<name
>
required
string

Display name of the data source used in Management Center and workbooks.

</name>
<url
>
required
string

URL of the data source

</url>
<type
>
required
string

The data source type. Allowed entries are either a database type or ARCGIS-REST, Wfs, ElasticSearch, OpenSearch, ogc-raster (for WMS and WMTS data sources), vector-tiles, arcgis-raster.

</type>
<credentials
>
optional

The credentials to use when connecting.

<userName
>
required
string

The user name to use when connecting to the data source.

</userName>
<password
>
required
string

The password to use when connecting to the data source. Usually expected to be encoded with the Cadenza password encoder (see also Secrets in Configuration).

</password>
</credentials>
<dataSourceProperties
>
optional

Configuration of properties that define data source-specific behavior.

Property Name Description Values

net.disy.allowcopyobjecttypewithdata

Allows copying data of the data source to the CDS

true, false

net.disy.pivot.comparison.collatorlanguage

Defines the collation language for the pivot transformation in memory, in which Cadenza compares and orders the string values (1)

e.g. de-DE, en-US (see IETF BCP 47 language tag strings)

net.disy.pivot.comparison.nullvalues

Defines the sorting behavior of Cadenza regarding NULL values for the pivot transformation in memory (1)

last, first (is default)

net.disy.client.direct.data.access

Defines the direct access of the Cadenza client to the WMS/WMTS server (2)

false, true (is default)

net.disy.arcgis.service.token.maximum.lifetime

For ArcGIS data sources: Defines the token expiration time in minutes

e.g. 120 (default is 60 minutes (one hour), maximum is 21600 (15 days))

net.disy.arcgis.token.service.referer.url

For ArcGIS data sources: Defines the base URL of the client application that will use the token (Webapp URL)

e.g. https://myserver/mywebapp

net.disy.wfs.use.access.token

For WFS data sources: Makes Cadenza send credentials to the WFS server even if the server doesn’t request them

false, true (is default)

net.disy.wfs.preemptive.authentication

For WFS data sources: Activates access token authentication for the data source (only works with authenticator “OIDC”)

true, false (is default)

net.disy.wfs.sorting.location

For WFS data sources: Defines where the sorting of the returned features is performed. Sorting by the WFS service can be fast, but some services may ignore the sort criteria and return data in an unexpected order. Sorting by Cadenza is usually more robust, but may increase processing time, especially with large data volumes. If it is unclear whether the server supports sorting: With the ’AUTO’ value sorting is performed by Cadenza if sorting by the WFS service is not supported, otherwise it is performed by the service.

WFS_SERVER, CADENZA, AUTO (is default)

(1) Affects not only the pivot tables, but also all other visualization types that are based on the pivot table. With the exception of pivot transformations, Cadenza uses the behavior of the data source regarding the collation language and the null-comparison behaviour. (2) If credentials are required for the WMS/WMTS server, direct access is not possible. Any available feature information is also automatically requested indirectly via the Cadenza server.

<property
<name
>
required
string

The name of the property.

</name>
<value
>
required
string

The value of the property.

</value>
>
requiredmax. unbounded
</property>
</dataSourceProperties>
<connectionProperties
>
optional

Configuration of the properties to be used by the underlying data source connection. The properties are particular to each type of data source. These are usually JDBC driver connection properties, to be passed to the driver when creating a database connection, and are particular to the specific type of database and driver. Typical usages for such connection properties are the fetch size for data sources that rely on JDBC. The use of these properties with non-JDBC data sources is currently unspecified and will be ignored.

<property
<name
>
required
string

The name of the property.

</name>
<value
>
required
string

The value of the property.

</value>
>
requiredmax. unbounded
</property>
</connectionProperties>
<routines
>
optional

Configuration of the routines for RDBMS data sources. A routine is an arbitrary SQL statement to be executed when a JDBC connection is borrowed from the connection pool or returned to it.

<routine
xs:string
executionPhase
required
=
xs:string
borrow
return

Defines when the routine is executed. Possible values: borrow - On borrowing the connection from the connection pool return - On returning the connection to the connection pool

>
requiredmax. unbounded
</routine>
</routines>
<cadenzaDataStoreSchema
>
optional
string

Name of the database schema used as Cadenza Data Store (CDS).

  • For the main data source (configured in ‘mainDataSource’), this element is mandatory.

  • For other RDBMS data sources (configured in ‘dataSources’), defining a CDS schema is necessary if preexisting data is to be enriched.

  • For non-RDBMS data sources, a CDS schema must not be defined.

  • For Oracle data sources, the CDS schema must be the same as the login user’s schema (configured in 'credentials' → 'userName').

</cadenzaDataStoreSchema>
>
required

Defines the main data source: The main data source is a data source on a relational database that, in addition to being usable as a generic data source, is used to store newly created self-service data. There is only one main data source for all repositories.

The configuration must include the cadenzaDataStoreSchema element.

</mainDataSource>
<dataSources
>
optional

Cross-repository data sources are not bound to given repository and can be used from all repositories in Management Center.

<dataSource
<id
>
required

Data source ID

xs:string
</id>
<name
>
required
string

Display name of the data source used in Management Center and workbooks.

</name>
<url
>
required
string

URL of the data source

</url>
<type
>
required
string

The data source type. Allowed entries are either a database type or ARCGIS-REST, Wfs, ElasticSearch, OpenSearch, ogc-raster (for WMS and WMTS data sources), vector-tiles, arcgis-raster.

</type>
<credentials
>
optional

The credentials to use when connecting.

<userName
>
required
string

The user name to use when connecting to the data source.

</userName>
<password
>
required
string

The password to use when connecting to the data source. Usually expected to be encoded with the Cadenza password encoder (see also Secrets in Configuration).

</password>
</credentials>
<dataSourceProperties
>
optional

Configuration of properties that define data source-specific behavior.

Property Name Description Values

net.disy.allowcopyobjecttypewithdata

Allows copying data of the data source to the CDS

true, false

net.disy.pivot.comparison.collatorlanguage

Defines the collation language for the pivot transformation in memory, in which Cadenza compares and orders the string values (1)

e.g. de-DE, en-US (see IETF BCP 47 language tag strings)

net.disy.pivot.comparison.nullvalues

Defines the sorting behavior of Cadenza regarding NULL values for the pivot transformation in memory (1)

last, first (is default)

net.disy.client.direct.data.access

Defines the direct access of the Cadenza client to the WMS/WMTS server (2)

false, true (is default)

net.disy.arcgis.service.token.maximum.lifetime

For ArcGIS data sources: Defines the token expiration time in minutes

e.g. 120 (default is 60 minutes (one hour), maximum is 21600 (15 days))

net.disy.arcgis.token.service.referer.url

For ArcGIS data sources: Defines the base URL of the client application that will use the token (Webapp URL)

e.g. https://myserver/mywebapp

net.disy.wfs.use.access.token

For WFS data sources: Makes Cadenza send credentials to the WFS server even if the server doesn’t request them

false, true (is default)

net.disy.wfs.preemptive.authentication

For WFS data sources: Activates access token authentication for the data source (only works with authenticator “OIDC”)

true, false (is default)

net.disy.wfs.sorting.location

For WFS data sources: Defines where the sorting of the returned features is performed. Sorting by the WFS service can be fast, but some services may ignore the sort criteria and return data in an unexpected order. Sorting by Cadenza is usually more robust, but may increase processing time, especially with large data volumes. If it is unclear whether the server supports sorting: With the ’AUTO’ value sorting is performed by Cadenza if sorting by the WFS service is not supported, otherwise it is performed by the service.

WFS_SERVER, CADENZA, AUTO (is default)

(1) Affects not only the pivot tables, but also all other visualization types that are based on the pivot table. With the exception of pivot transformations, Cadenza uses the behavior of the data source regarding the collation language and the null-comparison behaviour. (2) If credentials are required for the WMS/WMTS server, direct access is not possible. Any available feature information is also automatically requested indirectly via the Cadenza server.

<property
<name
>
required
string

The name of the property.

</name>
<value
>
required
string

The value of the property.

</value>
>
requiredmax. unbounded
</property>
</dataSourceProperties>
<connectionProperties
>
optional

Configuration of the properties to be used by the underlying data source connection. The properties are particular to each type of data source. These are usually JDBC driver connection properties, to be passed to the driver when creating a database connection, and are particular to the specific type of database and driver. Typical usages for such connection properties are the fetch size for data sources that rely on JDBC. The use of these properties with non-JDBC data sources is currently unspecified and will be ignored.

<property
<name
>
required
string

The name of the property.

</name>
<value
>
required
string

The value of the property.

</value>
>
requiredmax. unbounded
</property>
</connectionProperties>
<routines
>
optional

Configuration of the routines for RDBMS data sources. A routine is an arbitrary SQL statement to be executed when a JDBC connection is borrowed from the connection pool or returned to it.

<routine
xs:string
executionPhase
required
=
xs:string
borrow
return

Defines when the routine is executed. Possible values: borrow - On borrowing the connection from the connection pool return - On returning the connection to the connection pool

>
requiredmax. unbounded
</routine>
</routines>
<cadenzaDataStoreSchema
>
optional
string

Name of the database schema used as Cadenza Data Store (CDS).

  • For the main data source (configured in ‘mainDataSource’), this element is mandatory.

  • For other RDBMS data sources (configured in ‘dataSources’), defining a CDS schema is necessary if preexisting data is to be enriched.

  • For non-RDBMS data sources, a CDS schema must not be defined.

  • For Oracle data sources, the CDS schema must be the same as the login user’s schema (configured in 'credentials' → 'userName').

</cadenzaDataStoreSchema>
>
optionalmax. unbounded
</dataSource>
</dataSources>
</dataSourcesConfiguration>
This is a generated sample file with fake data and all the possible options shown, refer to the Documentation tab for what combinations are valid and what is required or not.
cadenzaconfig:
  settings:
    datasources:
      mainDataSource:
        id: "text"
        name: "text"
        url: "text"
        type: "text"
        credentials:
          userName: "text"
          password: "text"
        dataSourceProperties:
        - name: "text"
          value: "text"
        - name: "text"
          value: "text"
        connectionProperties:
        - name: "text"
          value: "text"
        - name: "text"
          value: "text"
        routines:
        - executionPhase: "borrow"
          value: "text"
        - executionPhase: "borrow"
          value: "text"
        cadenzaDataStoreSchema: "text"
      dataSources:
      - id: "text"
        name: "text"
        url: "text"
        type: "text"
        credentials:
          userName: "text"
          password: "text"
        dataSourceProperties:
        - name: "text"
          value: "text"
        - name: "text"
          value: "text"
        connectionProperties:
        - name: "text"
          value: "text"
        - name: "text"
          value: "text"
        routines:
        - executionPhase: "borrow"
          value: "text"
        - executionPhase: "borrow"
          value: "text"
        cadenzaDataStoreSchema: "text"
      - id: "text"
        name: "text"
        url: "text"
        type: "text"
        credentials:
          userName: "text"
          password: "text"
        dataSourceProperties:
        - name: "text"
          value: "text"
        - name: "text"
          value: "text"
        connectionProperties:
        - name: "text"
          value: "text"
        - name: "text"
          value: "text"
        routines:
        - executionPhase: "borrow"
          value: "text"
        - executionPhase: "borrow"
          value: "text"
        cadenzaDataStoreSchema: "text"

Filename: datasources-config.xml

This is a generated sample file with fake data and all the possible options shown, refer to the Documentation tab for what combinations are valid and what is required or not.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dataSourcesConfiguration>
  <mainDataSource>
    <id>text</id>
    <name>text</name>
    <url>text</url>
    <type>text</type>
    <credentials>
      <userName>text</userName>
      <password>text</password>
    </credentials>
    <dataSourceProperties>
      <property>
        <name>text</name>
        <value>text</value>
      </property>
      <property>
        <name>text</name>
        <value>text</value>
      </property>
    </dataSourceProperties>
    <connectionProperties>
      <property>
        <name>text</name>
        <value>text</value>
      </property>
      <property>
        <name>text</name>
        <value>text</value>
      </property>
    </connectionProperties>
    <routines>
      <routine executionPhase="borrow">text</routine>
      <routine executionPhase="borrow">text</routine>
    </routines>
    <cadenzaDataStoreSchema>text</cadenzaDataStoreSchema>
  </mainDataSource>
  <dataSources>
    <dataSource>
      <id>text</id>
      <name>text</name>
      <url>text</url>
      <type>text</type>
      <credentials>
        <userName>text</userName>
        <password>text</password>
      </credentials>
      <dataSourceProperties>
        <property>
          <name>text</name>
          <value>text</value>
        </property>
        <property>
          <name>text</name>
          <value>text</value>
        </property>
      </dataSourceProperties>
      <connectionProperties>
        <property>
          <name>text</name>
          <value>text</value>
        </property>
        <property>
          <name>text</name>
          <value>text</value>
        </property>
      </connectionProperties>
      <routines>
        <routine executionPhase="borrow">text</routine>
        <routine executionPhase="borrow">text</routine>
      </routines>
      <cadenzaDataStoreSchema>text</cadenzaDataStoreSchema>
    </dataSource>
    <dataSource>
      <id>text</id>
      <name>text</name>
      <url>text</url>
      <type>text</type>
      <credentials>
        <userName>text</userName>
        <password>text</password>
      </credentials>
      <dataSourceProperties>
        <property>
          <name>text</name>
          <value>text</value>
        </property>
        <property>
          <name>text</name>
          <value>text</value>
        </property>
      </dataSourceProperties>
      <connectionProperties>
        <property>
          <name>text</name>
          <value>text</value>
        </property>
        <property>
          <name>text</name>
          <value>text</value>
        </property>
      </connectionProperties>
      <routines>
        <routine executionPhase="borrow">text</routine>
        <routine executionPhase="borrow">text</routine>
      </routines>
      <cadenzaDataStoreSchema>text</cadenzaDataStoreSchema>
    </dataSource>
  </dataSources>
</dataSourcesConfiguration>