Skip to content

Records and summary groups ​

Owners can open Records beside Configure for an ObjectType with configured fields. The page lists stored records and provides schema-driven create, edit and delete controls. The schema page also links to Records. These routes require the selected Owner role.

Groups retain their existing single-ObjectType and combined related-record configurations. Choose Summary in Result mode to calculate average, count, sum, minimum or maximum, optionally grouped by up to three displayed bindings. For example, use Grade records, a Course binding and a numeric Grade binding to show average grade by course. Summary is independent of table/form layout.

Permissions, source filters, contexts and related-record visibility apply before calculation. Teachers therefore see aggregates of their accessible records, which may represent only part of a course. The display labels this scope. Summary inputs must be readable; summaries and their View records drill-down are read-only. Counts represent source records, or non-null values when a binding is specified; they are not distinct student counts. Missing numeric values are ignored; zero is included.

Calculations accept at most 1,000 authorized source records, 200 result buckets and eight seconds per request. Overflow fails without returning a partial aggregate. Narrow the source with a query or context for larger datasets. At most eight metrics are allowed. Related grouping records retain distinct identities even if their labels match.

For editable contextual groups, enable create/delete under Record operations and grant each UserType its create/delete permissions. Creation also needs explicit Set during creation fields. Data permissions, readable bindings and view restrictions remain ceilings. Required fields must be available or have defaults. Creation writes one anchor record through a direct records source; active scoped contexts and related-only creation are unavailable. It does not create or connect a collection of related records. Deletion applies only to accessible anchor rows and requires the current revision.

API configuration uses bindingModel.recordOperations: {create, delete}, role createRecords, createBindingKeys, deleteRecords, and optional view placement restrictions allowCreate, allowDelete, createBindingKeys. Defaults deny creation/deletion. bindingModel.summary contains groupBy binding keys and metrics with key, label, op and optional binding (only count may omit it).

Owner endpoints: /v1/organizations/{organizationId}/object-types/{objectTypeId}/records (GET/POST) and /{objectId} (POST for edit/delete). Contextual create/delete use the existing group /objects endpoints with groupVersion, contexts and optional view placement/version. Summary /rows?bucket=… returns read-only source rows for a returned bucket ID.

Owner record tables edit values inline with explicit Save/Cancel. Group tables use row Edit → Save/Cancel; Sheets autosave individual cells. Creation opens an inline draft with schema defaults and required validation. Failed saves preserve values for correction. Form-layout groups and schema configuration retain their form workflows.

Shared table interaction ​

Simple record tables now use DataTables Editor with the same Add/Delete toolbar, typed inputs and trailing Save/Cancel columns as ObjectTypes, UserTypes and Relationships. Select a row before Delete. Adding opens an inline draft; clicking an editable cell opens its editor. DynamicGroups and Sheets use the same renderer in Owner previews and View placements, with an approved interaction exception: a single Actions column. Group tables use Edit → Save/Cancel and trash → Confirm Delete/Cancel; Sheets autosave cells and show Editing... instead of editing buttons. See Dynamic Sheets. Permission checks, creation readiness, relationship lookup pagination, version checks and read-only summaries remain enforced. People/Members and substantial configuration screens retain their appropriate form/modal workflows. This replaces the earlier custom record-table forms and add rows.

Records administration ​

Open Admin Panel → Records in Owner mode. Records by Object Type lets you choose an ObjectType and manage its records using the shared Add/Delete toolbar and explicit Save/Cancel controls. Member Binding connects existing member accounts to their profile records. Record Connections connects or disconnects existing records through defined relationships. Bindings and connections use paginated selectors, so no ID entry is required.

The Records page is /org/{orgId}/records; tabs support #object-types, #member-binding, and #record-connections. An optional objectTypeId query parameter preselects the record type. Existing ObjectType Records URLs continue to work. ObjectType catalog Records links now open the central page. Permission policies remain on the Permissions page, with a link to Records for data setup. All three tabs remain Owner-only and preserve schema validation, revisions, identity uniqueness, relationship cardinality, and audited server authorization.

Member binding overview ​

Records → Member Binding now starts with an overview of existing and expected bindings. Each row shows the member, membership state, assigned UserTypes requiring the profile, profile ObjectType, bound record and binding status. Missing bindings are calculated from active assigned UserTypes' profile ObjectTypes; two UserTypes sharing a profile type require one binding. Members whose roles specify no profile show Not required. Existing additional bindings remain visible even when no assigned UserType currently requires them.

Select a row and choose Set / change binding to populate the existing setup selectors, or Unbind to remove its active binding immediately. Removing a binding changes the connection to the account; it does not delete the record or remove a UserType. Unavailable record bindings and bindings retained by removed/expired members remain visible for cleanup. Unbinding preserves Owner authorization, audit history and optimistic revisions.

The overview pages through 20 members at a time, keeping each member's profile rows together. Search and status filters apply to the current page; use Previous/More members to review other pages. Refresh reloads current state.

Current record connections ​

Records → Record Connections starts with a paginated overview of current connections across relationships. Rows identify the relationship, source/target record types and readable record labels, plus availability status. The relationship filter applies across the full dataset; text search filters the currently loaded page.

Select one row and choose Disconnect to remove the connection without deleting either record. Choose Modify to prefill the record selectors, choose a different source or target, and use Save changes or Cancel. The relationship stays fixed during modification; create a separate connection for a different relationship. Existing Connect/Disconnect selectors remain available below the overview for creating connections.

Changes retain Owner-only access, endpoint type/organization validation, relationship cardinality, revisions and audit history. Unavailable record endpoints remain visible for cleanup when the relationship definition is active. Disconnecting or replacing a connection can change relationship-based access immediately on subsequent requests.

Dynamic Tables — product guides and API reference.