Appearance
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 tablesThe 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.
| Artifact | What it is | Use it for |
|---|---|---|
| Data Provider | A named pointer to a REST base path (or another transport). | The data source of a grid, and record reads and writes. |
| Data View | A read-only, declared SQL join over physical tables. | Multi-table reads, lookups, grouped figures. |
| Data Service | A 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
| Field | Description |
|---|---|
| Type | rest, 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. |
| Connection | self, the platform's own API. It is the only connection resolved today. |
| Base path | For example /api/v1/plugins/hcm-employee/employees. The standard operations are derived from this one path. |
| Supported operations | search, 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
| Section | Fields |
|---|---|
| Source | Table (for example employee), Alias, Exclude soft-deleted. |
| Joins | Per join: Table, Alias, type LEFT or INNER, one or more ON pairs (Left ref and Right ref, each alias.column), Excl. deleted. |
| Fields | The output columns: a column alias.column and an Output name. |
| Calculated fields | An Output name and an expression built from: field, literal, concat, coalesce, add, sub, mul, div. |
| Filter | A predicate built from and and or groups and comparisons of alias.column with a literal value. |
| Group by | Group by fields (alias.column). |
| Aggregations | Column (alias.column), Function SUM, AVG, COUNT, MIN, MAX, Output name. |
| Sort | alias.column and Descending. |
| Paging | Default page size and Max page size. The executor never returns more than the maximum. |
| Permission key | Recorded 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/tablesand.../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
| Field | Description |
|---|---|
| Operation | get, count, search or composite. |
| Source | Data 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). |
| Filters | Rows 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. |
| Parameters | Name 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
| Operation | Result |
|---|---|
get | One record. |
count | A count of matching records. |
search | A page of matching records. |
composite | Several 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.
Related
Entities and Relationships, Page data flow, Add a data provider, data view, or data service, Wire a page's data.
