The functionality for loading data via Custom Data Source definition.


Sometimes, it is necessary to load data from more than one table. Or load just an aggregations from big table.

You can define this type of queries in UI in the extension Custom Data Source. And use these "queries" in reports, widgets ...

Or you can load the data via our API.


The best way to understand the functionality will be through examples.

First you need to define a Custom Data Source. The API only calls the load according to existing definition. The number of rows in result is limited, if not changed by options.

const result = await doo.extensions.customDataSource
    .getData('My Datasource Name');

In case you need to filter data, use options. As the column names in result are not unique and it is not possible to connect them always to data source columns, use simple filters and unique column names if possible.

const options = {
    limit: 25,
    filter: 'Table1 - ColumnName(contains)apple'
const result = await doo.extensions.customDataSource
    .getData('My Datasource Name', options);