Skip to content

Glossary

Every term these docs use, defined once. Terms are cross-linked from the pages that introduce them.

action chain — an ordered list of actions attached to a block event (mounted, clicked, committed, rowClicked). Actions include callApi, setValue, showToast, downloadFile, navigate.

application — the top-level product surface a user opens (e.g. "HCM"). A standalone plugin ships its own in metadata/application/.

artifact — one JSON file of one type in spk-assembly/metadata/. See artifact types.

authoring bundle — the offline grounding data (schemas, capability catalog, blocks, examples, docs) the SDK reads. Refreshed with erp env sync. See SDK modes.

binding — a block property that reads from page state: { "source": "binding", "binding": { "scope": "page", "key": "kpiTotal" } }. The other property form is { "source": "static", "value": ... }.

block — a UI widget (core.grid, core.button, core.kpi-card, core.lookup, …). The unit of a page's layout. Never called "widget" in platform terminology, but they're the same thing. erp blocks list.

composite (Data Service) — a Data Service that fans out to several other Data Services in one call. Response: { "results": { "<step>": <envelope> } }.

connected mode — running the SDK as a package against a deployed ERP with no platform source. See SDK modes.

data provider — a metadata/provider/*.json file mapping a name to a REST basePath. A page's metadata.dataSource names one.

data service — a metadata/data_service/*.json file: a parameterized query (count / search / get / composite). Called at /api/v1/data-services/<name>/execute.

data view — a metadata/data_view/*.json file: a declared read-only SQL join over physical tables.

day_offset — a field on a status-date-sweep config. 0 = compare a date against now; N = compare against now + N days (the "N days before" reminder). Negative shifts earlier.

entity — a table you declare by its fields (metadata/entities/*.json). The Entity Engine generates the DDL, CRUD REST, grid query, and single-record read.

entity rule — a metadata/rules/*.json file: declarative logic (REJECT / SET_VALUE / EXECUTE_SERVICE / START_WORKFLOW) at a lifecycle point (BEFORE_CREATE, AFTER_UPDATE, …).

event.new — in a committed action chain, the value the user just entered or picked. Not event.value. For a core.lookup, it's the picked record's id.

.spk — the built plugin package. A zip of spk-assembly/.

flags — a pre-stringified JSON field on an entity field definition. Holds { "reference": { "entityType": "Employee" } } (turns on _label resolution) or { "formula": "<expression>" } (computed field, no column).

i18n key — a dotted string (office-equipment.equipment-register.title) standing in for user-visible text. Resolved from metadata/i18n/en.json.

idempotent-additive — the install behaviour for entities and seed data: re-installing adds missing columns / upserts rows by key, never drops or duplicates.

KPI cardcore.kpi-card, a block that shows one number bound from page state.

mainClass — the fully-qualified name of a PF4J Plugin subclass in spk-assembly/lib/*.jar. Optional: a pure-JSON plugin leaves it null and the platform loads it through a built-in generic no-op entry point. Set it only when you ship your own Java extensions.

MCP servererp-plugin-language, the tool server your AI agent calls for schemas, blocks, examples, and validation. erp mcp install.

metadata.dataSource — the page-level string that wires a core.grid to a data provider. Page-level, never on the grid block.

module — a functional area inside an application (e.g. "Leave Management"). Owns menu entries. Pages attach to a module via their modules array.

page — one screen (metadata/page/*.json): rows → columns → items (blocks), plus page-level metadata.

page state — the runtime key/value bag a page reads with bindings and writes with setValue. Keys are whatever you invent (kpiTotal, formDialogOpen).

PF4J — the Java plugin framework the platform uses to load a plugin. A pure-JSON plugin is loaded through a built-in generic entry point; you never touch PF4J directly.

register rule — an unconditional AFTER_CREATE EXECUTE_SERVICE rule on a shared config entity that auto-registers a scheduled job on the first seeded config row.

role code — the stable identifier for a role (OFFICE_EQUIPMENT_MANAGER). Workflows and permissions reference roles by code, never by display name.

schemaName — the Postgres schema an entity's table routes to, from plugin.json. The scaffold default is erp_core.

seed datametadata/seed-data/*.json: rows upserted on install by keyFields. Used for reference data and for shared job-config rows.

status-date-sweep — the generic scheduled job (engine-entity.status-date-sweep) that flips a record's status when a date column crosses now (± day_offset). Configured by seeding an entity_status_date_sweep_config row.

workflow — a metadata/workflow/*.json file: stages, an approval task, and approvalPermissions. Started by a START_WORKFLOW rule action; the decision is written back by a generic callback controller.