Skip to content

Data Views, Data Services and Data Providers ​

Screens read data through a chain of named artifacts instead of raw tables or hand-written endpoints:

text
Block  ->  Data Service  ->  Data Provider  (a REST endpoint or connector)
                         ->  Entity         (an entity created in the Entity Designer)
                         ->  Data View      (a multi-table SQL join)  ->  database tables

The Explorer nodes under Workspace > Data are Data Views, Data Services and Data Providers. Entities are documented in Entities and Relationships. For how a page binds to a service see Page data flow.

ArtifactWhat it isUse it for
Data ProviderA named pointer to a REST base path (or another transport).The data source of a grid, and record reads and writes.
Data ViewA read-only, declared SQL join over physical tables.Multi-table reads, lookups, grouped figures.
Data ServiceA named, parameterised operation backed by a provider, an entity or a view.KPI numbers, search-as-you-type, dashboards.

All three are versioned artifacts with a draft and publish lifecycle. A consumer always refers to a name, never to a path.

Data Providers ​

Where to find it ​

Workspace > Data > Data Providers. Opening or creating one opens the Provider Designer, a single properties form.

Fields ​

FieldDescription
Typerest, mock, graphql, offline, ai, connector. Only rest and mock are editable and resolvable today. Selecting another kind is stored, but resolving it at run time fails until an implementation exists.
Connectionself, the platform's own API. It is the only connection resolved today.
Base pathFor example /api/v1/plugins/hcm-employee/employees. The standard operations are derived from this one path.
Supported operationssearch, get, create, update, patch, delete (and the other standard operations). Untick those the endpoint does not support.

Behaviour ​

A grid takes its provider from the page's data source. A page that needs one record uses a providerCall action. If a grid shows no rows, check that the page's data source name, the provider name and the base path line up; see My grid shows 0 rows.

API and CLI ​

/api/v1/authoring/providers. erp artifact ... --type providers. Schema: Reference: provider definition.

Data Views ​

Where to find it ​

Workspace > Data > Data Views. The Data View Designer is a flat form with no canvas.

Key concepts ​

A data view is a real SQL join, executed in one query. Every table and column is a plain physical identifier, such as employee.department_id, not an Entity Designer field name. Tables created by the Entity Designer are physical tables too, so a view can join them as well as tables a plugin owns. The pickers suggest tables and columns but accept an unlisted name. A data view is not called directly: it is reached only through a Data Service whose source is a Data View.

Sections ​

SectionFields
SourceTable (for example employee), Alias, Exclude soft-deleted.
JoinsPer join: Table, Alias, type LEFT or INNER, one or more ON pairs (Left ref and Right ref, each alias.column), Excl. deleted.
FieldsThe output columns: a column alias.column and an Output name.
Calculated fieldsAn Output name and an expression built from: field, literal, concat, coalesce, add, sub, mul, div.
FilterA predicate built from and and or groups and comparisons of alias.column with a literal value.
Group byGroup by fields (alias.column).
AggregationsColumn (alias.column), Function SUM, AVG, COUNT, MIN, MAX, Output name.
Sortalias.column and Descending.
PagingDefault page size and Max page size. The executor never returns more than the maximum.
Permission keyRecorded for future use. It is not enforced yet.

Date truncation is available for group by on a date column: a group-by reference can be declared to be truncated to a unit, and the same truncation is applied to the select and the grouping.

Behaviour ​

  • A filter value is typed from the column. A text column compared with a value that looks numeric is compared as text.
  • The schema pickers use GET /api/v1/authoring/data-views/schema/tables and .../tables/{table}/columns.
  • Because a view is plain SQL over physical tables, record-level security rules do not apply to it unless the consuming service adds them. Check access when you expose a view.

API and CLI ​

/api/v1/authoring/data-views. erp artifact ... --type data-views. Schema: Reference: data view definition.

Data Services ​

Where to find it ​

Workspace > Data > Data Services. The Data Service Designer is a flat form.

Fields ​

FieldDescription
Operationget, count, search or composite.
SourceData Provider (choose a published provider), Entity (only entities created in the Entity Designer are queryable here, not a plugin's own tables), or Data View (a published view).
FiltersRows of Field, Operator (eq, neq, gt, gte, lt, lte, contains) and Value. The value is a literal, or ${param.<name>} to bind a declared parameter. For a data view the field is alias.column.
ParametersName and Type (string, number, boolean). Callers supply them at run time.
Steps (composite only)Each step: As (the key in the combined response), Data Service (the service it runs), and named input values. A value is a literal, ${param.x}, or ${step.<as>.<field>} from an earlier step only.

Operations ​

OperationResult
getOne record.
countA count of matching records.
searchA page of matching records.
compositeSeveral other Data Services run in sequence and combined into one response. Each step is a separate request inside the platform, so for a single multi-table read prefer a Data View.

Run a service ​

POST /api/v1/data-services/{name}/execute with the parameters. The call uses the caller's tenant and permissions.

API and CLI ​

/api/v1/authoring/data-services. erp artifact ... --type data-services. Schema: Reference: data service definition.

Entities and Relationships, Page data flow, Add a data provider, data view, or data service, Wire a page's data.