Entity Data Authority Behaviors
Use cases and scenarios for the GEN::ENT-DA (Entity Data Authority) area. These behaviors define the cross-cutting lifecycle contract shared by all main entities in the application — Items, Business Affiliates, and every future entity type that is managed as an independent, top-level record within a tenant scope. Any main entity that departs from these patterns must document the deviation explicitly in its own domain area.
A main entity is one that exists independently within a tenant-scoped universe, has its own list view, detail panel, and full CRUD lifecycle. Subordinate entities (those whose lifecycle depends on a parent) are covered in GEN::ENTSUB.
GEN::ENT-DA::0001 — Browse and Search Entities
Section titled “GEN::ENT-DA::0001 — Browse and Search Entities”The user navigates to the entity list page and locates records using search, filtering, and pagination. This use case defines the entity-level browsing contract — what data the page presents, what tabs and filters are available, and how the user reaches a specific record. List interaction mechanics (column configuration, sorting, row selection, cell rendering) are defined in GEN::LST and inherited by every entity list view.
| Depends | GEN::LST |
| Status | Published |
GEN::ENT-DA::0001::0001.UC — View Entity List
Section titled “GEN::ENT-DA::0001::0001.UC — View Entity List”The user navigates to the entity’s dedicated page (GEN::LST::0001). A data grid renders all entities of that class within the user’s tenant. The toolbar presents a search input, a column visibility control (GEN::LST::0002), an actions dropdown for bulk operations, and a primary creation button (for example, ”+ Add Item”). Default columns are applied per entity type. Cell rendering follows GEN::LST::0010.
Postcondition: The user sees the complete set of entities of the given class within their tenant.
GEN::ENT-DA::0001::0002.UC — Search Entities by Name
Section titled “GEN::ENT-DA::0001::0002.UC — Search Entities by Name”The user types a search term into the search input. The grid filters to entities whose name (or designated search fields) matches the term, using the global text filter mechanism (GEN::LST::0003::0001). Clearing the input restores the full list.
Postcondition: The grid displays only entities matching the search term.
GEN::ENT-DA::0001::0003.UC — Filter Entities by Lifecycle State
Section titled “GEN::ENT-DA::0001::0003.UC — Filter Entities by Lifecycle State”For entity types that implement the reference data lifecycle, tabs allow the user to switch between Published, Draft, and other lifecycle-state subsets. Column configuration and sort state are persisted independently per tab (GEN::LST::0002::0003).
Postcondition: The grid displays entities in the selected lifecycle state.
GEN::ENT-DA::0001::0004.UC — Filter Entities by Attribute
Section titled “GEN::ENT-DA::0001::0004.UC — Filter Entities by Attribute”The user applies one or more attribute-based filters — for example, Business Affiliates by role type, or Items by department. Filters compose with name search, lifecycle tabs, and column filters via AND logic (GEN::LST::0003::0009).
Postcondition: The grid displays entities satisfying the combined filter criteria.
GEN::ENT-DA::0001::0005.UC — Select Multiple Entities
Section titled “GEN::ENT-DA::0001::0005.UC — Select Multiple Entities”Row selection follows GEN::LST::0006: checkbox per row, header checkbox for select-all, shift-click for range selection (GEN::LST::0006::0009). Action enablement updates on each selection change (GEN::LST::0006::0005).
Postcondition: The user has selected one or more entities for a subsequent bulk action.
GEN::ENT-DA::0001::0006.UC — Navigate Entity Grid Pages
Section titled “GEN::ENT-DA::0001::0006.UC — Navigate Entity Grid Pages”Large datasets are presented progressively via GEN::LST::0005. The backend uses cursor-based tokens rather than numeric offsets, supporting stable traversal even as data changes.
Postcondition: The user can traverse the complete entity catalog regardless of size.
GEN::ENT-DA::0001::0007.UC — Entity Deep Link with Auto-Open Detail Panel
Section titled “GEN::ENT-DA::0001::0007.UC — Entity Deep Link with Auto-Open Detail Panel”When the user navigates directly to a URL that identifies a specific entity (for example, /items/{itemId} or /suppliers/{affiliateId}), the entity list page loads and the detail panel automatically opens for the specified entity. The URL is bookmarkable and shareable.
Postcondition: The user arrives directly at a specific entity’s detail view without manual search or navigation.
GEN::ENT-DA::0002 — View Entity Details
Section titled “GEN::ENT-DA::0002 — View Entity Details”The user opens a detail view to inspect the full record of a specific entity, including metadata, subordinate entities, and cross-references.
| Depends | GEN::ENT-DA::0001 |
| Status | Published |
GEN::ENT-DA::0002::0001.UC — View Entity Details Panel
Section titled “GEN::ENT-DA::0002::0001.UC — View Entity Details Panel”The user triggers the detail view for an entity — by clicking a row, clicking an action icon, or arriving via deep link. A side panel slides in from the right, partially overlaying the grid. The panel is organized into tabs. The first tab (active by default) displays the entity’s core data fields, a preview widget where applicable, and action buttons (Edit, Delete, and entity-specific actions). The URL updates to include the entity identifier, making the detail view bookmarkable.
Postcondition: The user sees the complete data record and has access to all entity-level actions.
GEN::ENT-DA::0002::0002.FS — Detail Panel Tab Structure
Section titled “GEN::ENT-DA::0002::0002.FS — Detail Panel Tab Structure”The detail panel supports a tabbed layout with the following standard tab categories:
- Details tab — Core entity data fields, preview widget, and action buttons. Always present.
- Subordinate entity tabs — One tab per subordinate entity class (for example, an Item’s “Supplies” or an Affiliate’s “Roles”). Present only when the entity type has subordinate entities. Behavior is defined in
GEN::ENTSUB::0001. - Cross-reference tabs — Tabs showing related entities from other domains linked via subordinate relationships (for example, a Supplier’s “Items” tab showing all items that reference the supplier through ItemSupply records). Present only when bidirectional cross-references exist.
Concrete entity pages define which tabs are present and their order.
GEN::ENT-DA::0003 — Create Entity
Section titled “GEN::ENT-DA::0003 — Create Entity”The user creates a new entity record by filling in a form. The form supports validation, auto-save, and a choice between immediate publication and draft save.
| Depends | — |
| Status | Published |
GEN::ENT-DA::0003::0001.UC — Create Entity (Publish)
Section titled “GEN::ENT-DA::0003::0001.UC — Create Entity (Publish)”The user clicks the primary creation button in the toolbar — a no-row action per GEN::LST::0006::0001. A form panel opens (slide-over or full page, depending on entity type). The user fills in required and optional fields and clicks Publish. The system runs full validation. On success, the entity is created in Published state and appears in the entity list. On failure, field-level error messages guide correction.
Postcondition: A new entity exists in Published state and is available for business processes.
GEN::ENT-DA::0003::0002.UC — Create Entity (Draft)
Section titled “GEN::ENT-DA::0003::0002.UC — Create Entity (Draft)”With the creation form open, the user fills in some fields and selects Save as Draft instead of Publish. The entity is saved without full validation and does not appear in the Published view. The user can return later to complete and publish.
Postcondition: A new entity exists in Draft state, accessible for later completion.
GEN::ENT-DA::0003::0003.FS — Form Validation and Auto-Save
Section titled “GEN::ENT-DA::0003::0003.FS — Form Validation and Auto-Save”The creation form validates each field on keystroke or blur: required fields, format constraints, and uniqueness checks are evaluated in real time. On each field blur the system auto-saves a draft so that no work is lost if the user navigates away. The auto-saved draft is retrievable from the Draft tab.
GEN::ENT-DA::0003::0005.FS — Media Attachment During Creation
Section titled “GEN::ENT-DA::0003::0005.FS — Media Attachment During Creation”Entity types that support media fields (for example, imageUrl) inherit the GEN::MEDIA::0001 behavior within the creation form. The image input surface appears as a field in the form. Setting an image is optional — the entity can be created without one. If provided, the image is persisted along with the other fields on Publish or Save as Draft. Entity-specific deviations are documented in the entity’s own domain area (for example, REF::ITM::0003::0010).
GEN::ENT-DA::0003::0004.FS — Post-Creation Navigation
Section titled “GEN::ENT-DA::0003::0004.FS — Post-Creation Navigation”After a successful create, the system confirms via toast and offers navigation options: return to the entity list, create another entity of the same type, or view the newly created entity’s detail panel.
GEN::ENT-DA::0004 — Edit and Update Entity
Section titled “GEN::ENT-DA::0004 — Edit and Update Entity”The user modifies an existing entity’s data and either publishes the update immediately or saves it as a draft for later review.
| Depends | GEN::ENT-DA::0002 |
| Status | Published |
GEN::ENT-DA::0004::0001.UC — Edit Entity from Detail Panel
Section titled “GEN::ENT-DA::0004::0001.UC — Edit Entity from Detail Panel”With the detail panel open, the user clicks Edit. The panel transitions to an edit form pre-populated with current values. The user modifies fields and clicks Save, or clicks Cancel to discard changes. On save, the entity is updated and a confirmation toast appears. Alternatively, editable fields in the list grid can be modified inline per GEN::LST::0007.
Postcondition: The entity’s data is updated in place.
GEN::ENT-DA::0004::0002.UC — Edit Entity from Any Entry Point
Section titled “GEN::ENT-DA::0004::0002.UC — Edit Entity from Any Entry Point”Regardless of how the user arrived — list page, deep link, QR scan, or cross-reference — the Edit action is available and leads to the same edit form.
Postcondition: The entity is updated from whatever context the user arrived at the detail view.
GEN::ENT-DA::0004::0003.UC — Draft to Published Workflow
Section titled “GEN::ENT-DA::0004::0003.UC — Draft to Published Workflow”The user opens a draft from the Draft tab, completes remaining fields, and clicks Publish. On success, the entity transitions from Draft to Published — it disappears from the Draft view and appears in the Published view.
Postcondition: A previously drafted entity is promoted to Published state.
GEN::ENT-DA::0004::0005.FS — Media Update During Edit
Section titled “GEN::ENT-DA::0004::0005.FS — Media Update During Edit”Entity types that support media fields inherit the GEN::MEDIA::0001 (set/replace) and GEN::MEDIA::0002 (remove) behaviors within the edit form. The user can change or remove the entity’s image as part of any edit operation. Changes take effect on save. Entity-specific deviations are documented in the entity’s own domain area (for example, REF::ITM::0004::0006).
GEN::ENT-DA::0004::0004.FS — Update Propagation
Section titled “GEN::ENT-DA::0004::0004.FS — Update Propagation”When key identifying fields change (for example, an affiliate’s name), the system propagates the change to downstream entities that hold references. Propagation may be synchronous or asynchronous. The specific fields and targets are defined per entity type.
GEN::ENT-DA::0005 — Delete Entity
Section titled “GEN::ENT-DA::0005 — Delete Entity”The user removes one or more entities that are no longer needed. Deletion is a logical operation — the system creates a retired version rather than physically removing data, preserving the full audit trail.
| Depends | GEN::ENT-DA::0001 |
| Status | Published |
GEN::ENT-DA::0005::0001.UC — Delete Entity from List
Section titled “GEN::ENT-DA::0005::0001.UC — Delete Entity from List”The user selects one or more rows and triggers Delete from the actions dropdown — a multi-row action per GEN::LST::0006::0003. A confirmation dialog appears. On confirm, a delete request is sent for each selected entity and the rows are removed from the grid. On cancel, no changes are made.
Postcondition: The selected entities are logically deleted and no longer appear in the active entity list.
GEN::ENT-DA::0005::0002.UC — Delete Entity from Detail Panel
Section titled “GEN::ENT-DA::0005::0002.UC — Delete Entity from Detail Panel”With the detail panel open, the user clicks Delete — a single-row action per GEN::LST::0006::0002. The same confirmation and logic from GEN::ENT-DA::0005::0001 applies. On confirmation, the entity is deleted, the panel closes, and the grid refreshes.
Postcondition: The entity is deleted from the detail view context.
GEN::ENT-DA::0005::0003.FS — Referential Integrity Warning
Section titled “GEN::ENT-DA::0005::0003.FS — Referential Integrity Warning”When the entity being deleted is referenced by other entities (subordinates, cross-domain references, or transactional records), the confirmation dialog warns with the number and type of referencing records — for example, “This supplier is referenced by 5 item supply records. Deleting it will leave those supplies unlinked.” The user may still proceed after acknowledging the warning.
GEN::ENT-DA::0005::0004.FS — Cascade Deletion of Subordinate Entities
Section titled “GEN::ENT-DA::0005::0004.FS — Cascade Deletion of Subordinate Entities”When a parent entity is deleted, all its subordinate entities are deleted automatically as part of the same operation. The confirmation dialog from GEN::ENT-DA::0005::0003 mentions the subordinate entities that will be affected.
GEN::ENT-DA::0006 — Duplicate Entity
Section titled “GEN::ENT-DA::0006 — Duplicate Entity”The user creates copies of existing entities as a starting point for new records, reducing manual data entry when many entities share similar data.
| Depends | GEN::ENT-DA::0001 |
| Status | Published |
GEN::ENT-DA::0006::0001.UC — Duplicate Entity from List
Section titled “GEN::ENT-DA::0006::0001.UC — Duplicate Entity from List”The user selects one or more rows and triggers Duplicate from the actions dropdown — a multi-row action per GEN::LST::0006::0003. New entity records are created as copies with system-generated identifiers and modified display names (for example, “Copy of Surgical Gloves”). Originals remain unchanged.
Postcondition: One or more new entities exist as copies of the selected originals.
GEN::ENT-DA::0006::0002.FS — Duplicate Naming and Identity
Section titled “GEN::ENT-DA::0006::0002.FS — Duplicate Naming and Identity”Duplicated entities receive new eId values — they are independent entities, not versions of the original. The display name is modified (for example, “Copy of …”) to distinguish the duplicate. Subordinate entities are not duplicated by default; the duplicate is created with no subordinates unless the entity type specifies otherwise.
GEN::ENT-DA::0007 — Bulk Import and Export
Section titled “GEN::ENT-DA::0007 — Bulk Import and Export”The user uploads a prepared file to create, update, or delete entities in batch, or downloads the current entity catalog for offline editing or record-keeping.
| Depends | GEN::ENT-DA::0001 |
| Status | Published |
GEN::ENT-DA::0007::0001.UC — Import Entities via CSV
Section titled “GEN::ENT-DA::0007::0001.UC — Import Entities via CSV”The user triggers the bulk import action and uploads a CSV file with one entity per row. The file includes two control columns:
- System Identifier — The entity’s
eId, required for update and delete actions. Obtained by exporting the entity list first. - Action — One of
NEW,UPDATE,DELETE,DRAFT, orIGNORE, indicating the operation for each row.
The system validates the file structure and shows a summary of planned operations (for example, “45 updates, 12 new, 3 deletes”). The user confirms and the system processes rows individually — processing is not atomic across the entire file. The result is a count of successes and a list of per-row errors.
Postcondition: Entities are created, updated, or deleted as directed by the uploaded file.
GEN::ENT-DA::0007::0002.UC — Export Entity List to CSV
Section titled “GEN::ENT-DA::0007::0002.UC — Export Entity List to CSV”The user filters and sorts the entity list to the desired subset, optionally selects specific rows via GEN::LST::0006, and triggers the download action. Two options: download selected rows only, or all rows matching the current filter (up to a system-defined limit). The exported file includes a system identifier column and an action column pre-populated with IGNORE.
Postcondition: A CSV file containing the selected entities is saved to the user’s machine.
GEN::ENT-DA::0007::0003.FS — Round-Trip File Format
Section titled “GEN::ENT-DA::0007::0003.FS — Round-Trip File Format”The exported CSV is directly compatible with the bulk import workflow. The user can open the file, change the Action column on the rows they want to modify, edit field values, and re-upload without reformatting. This round-trip design minimizes friction for bulk maintenance operations.
GEN::ENT-DA::0008 — View Entity History
Section titled “GEN::ENT-DA::0008 — View Entity History”The user views the complete audit history of changes to an entity and can restore a previous version.
| Depends | GEN::ENT-DA::0002 |
| Status | Published |
GEN::ENT-DA::0008::0001.UC — View Entity Version History
Section titled “GEN::ENT-DA::0008::0001.UC — View Entity Version History”The user selects the View History action for an entity. The system presents a chronological list of versions, showing for each: the timestamp (effective and recorded), the author, and a version identifier. The user clicks a version to see a read-only snapshot of the entity’s data at that point in time. The snapshot view clearly indicates that it is a historical view, not the current state.
Postcondition: The user can inspect the entity’s data as it existed at any previous point in time.
GEN::ENT-DA::0008::0002.UC — Restore Historical Version
Section titled “GEN::ENT-DA::0008::0002.UC — Restore Historical Version”From a historical snapshot view, the user clicks Restore. The system creates a new draft (or pending update, depending on the entity type) pre-populated with the historical data. The user then proceeds through the standard edit and publish workflow to promote the restored data as the new current version. Restoring does not delete intermediate versions — it creates a new version that happens to carry the same data as the historical one.
Postcondition: A previous version of the entity has been recovered as a draft and is ready to be reviewed and published.
Summary
Section titled “Summary”| Use Case | Scenarios | UC | FS |
|---|---|---|---|
GEN::ENT-DA::0001 Browse and Search Entities | 7 | 7 | 0 |
GEN::ENT-DA::0002 View Entity Details | 2 | 1 | 1 |
GEN::ENT-DA::0003 Create Entity | 5 | 2 | 3 |
GEN::ENT-DA::0004 Edit and Update Entity | 5 | 3 | 2 |
GEN::ENT-DA::0005 Delete Entity | 4 | 2 | 2 |
GEN::ENT-DA::0006 Duplicate Entity | 2 | 1 | 1 |
GEN::ENT-DA::0007 Bulk Import and Export | 3 | 2 | 1 |
GEN::ENT-DA::0008 View Entity History | 2 | 2 | 0 |
| Total | 30 | 20 | 10 |
Copyright: © Arda Systems 2025-2026, All rights reserved