Write Rules
Purpose
Write rules control whether a user is allowed to create, modify, or delete data. They are enforced directly in the UI and API.
Write rules:
- Always attach to a classification
- Are evaluated in real time
- Provide structured user feedback
Severity Levels
| Level | Effect |
|---|---|
| Error | Blocks saving |
| Warning | Allows saving |
| Info | Informational only |
| Confirmation | Requires user acknowledgment |
Role Targeting
Write rules may:
- Apply to selected roles
- Exclude specific roles
- Apply globally if no roles are selected
Behavior
Write rules only block new violations introduced by the current edit, meaning that existing rule violations are displayed but do not prevent users from updating unrelated fields, while only violations caused by the current change will block saving.
Additional Information
This behavior exists to prevent the permission system from becoming a blocker for normal system operation once real-world data has accumulated. In long-lived systems, business rules almost always evolve over time, and legacy data may no longer fully comply with newly introduced constraints. If write rules were enforced retroactively on every edit, users would be unable to correct simple, unrelated fields—such as updating an address, fixing a typo, or adding a note—without first resolving historical rule violations that may be outside their responsibility or even their authority to fix. By only blocking new violations introduced by the current change, Minyu ensures that data quality improves gradually without freezing operational workflows, while still guaranteeing that no additional invalid states are introduced into the system.
Configuring a Write Rule
- Open the classification
- Open context menu → Configure Write Rule
-
Configure:
-
Active
- Message – primary feedback
- Details – optional deep explanation
- When True
- Severity
- Roles / Exclude Roles
- Save
Enforcement Scope
Write rules are enforced uniformly across forms, inline editing, imports, and APIs, operating identically on all data entry paths.