08 — UX Flows
Flow 1 — Start With Empty Model
Goal:
Create a useful application model from nothing.
Steps:
text
Open Admin Console
↓
Create Draft Model
↓
Add Entity Types
↓
Add Property Groups
↓
Add Property Definitions
↓
Add Hierarchy Rules
↓
Add Relationship Definitions
↓
Add Templates
↓
Validate
↓
PublishOutcome:
The runtime API and frontend can now create and manage entities using the published model.
Flow 2 — Add Entity Type
Example: Add Room.
Steps:
- Open draft model.
- Go to Entity Types.
- Click Add Entity Type.
- Enter:
text
key: room
name: Room
hierarchy allowed: true
can have children: true- Add hierarchy rules:
text
building can contain room
room can contain asset- Validate draft.
- Publish.
Result:
The application can now create rooms and move assets into rooms.
Flow 3 — Add Property Group
Example: Add Network property group.
Steps:
- Open draft model.
- Go to Property Groups.
- Add group:
text
key: network
name: Network- Add property definitions:
text
ip_address
subnet_mask
gateway
vlan- Assign property group to entity type
asset. - Validate.
- Publish.
Result:
Asset forms and detail pages can show a Network section.
Flow 4 — Add Relationship Definition
Example: Asset depends on Asset.
Steps:
- Open draft model.
- Go to Relationship Definitions.
- Add relationship:
text
key: depends_on
source: asset
target: asset
cardinality: many_to_many
directional: true
self-reference allowed: false- Validate.
- Publish.
Result:
Runtime users can add dependency relationships between assets.
Flow 5 — Publish Draft
Steps:
- Open Publish screen.
- Run validation.
- Review errors.
- Fix errors.
- Review warnings.
- Review impact analysis.
- Confirm publish.
- System archives old published model.
- System publishes draft model.
- System invalidates metadata cache.
- Runtime API begins using new model.
Flow 6 — Block Dangerous Change
Example:
An admin tries to delete property definition ip_address while 12,000 assets have values for it.
Expected UI behavior:
- mark as destructive,
- show affected data count,
- prevent casual publish,
- require explicit migration plan or soft-deprecation first.
Preferred alternative:
text
Deprecate property
↓
Hide from new forms
↓
Keep existing values readable
↓
Migrate data later
↓
Purge after retention if safeFlow 7 — Configure Generic Runtime CRUD
Steps:
- Publish entity type and property metadata.
- Runtime UI requests metadata for entity type.
- Runtime UI renders form.
- User submits entity create/update.
- Backend validates against published metadata.
- Backend writes entity and property values.
- Backend writes audit event.
Outcome:
The application gains useful CRUD behavior without bespoke code for every type.