ums

Functional Story 13: Configure Hierarchical System Parameters

1. Business Purpose

Administrators need to configure system behavior without requesting a deployment every time a tenant, system, or module requires a different operational rule. UMS must allow controlled configuration at multiple scopes while preserving clear inheritance and override behavior.


2. Actors

| Actor | Responsibility | | :— | :— | | Global Administrator | Defines defaults that apply platform-wide. | | Tenant Administrator | Adjusts behavior for a tenant when allowed by global policy. | | System Administrator | Adjusts behavior for a specific registered system or suite. | | Client System | Consumes the effective configuration resolved by UMS.

3. Business Preconditions


4. Main Functional Flow

  1. The administrator opens the configuration panel.
  2. The administrator selects the scope where the setting will apply: Global, Tenant, System/Suite, or Module.
  3. The administrator enters a parameter identifier, value, and a clear description of its business purpose.
  4. The administrator decides whether lower scopes may override the value.
  5. The system checks whether a higher-level restriction prevents the requested change.
  6. The system saves the parameter and makes it available for effective configuration resolution.
  7. Client systems receive the most specific applicable value according to the hierarchy.

5. Alternative Flows and Exceptions

A. Override Not Allowed

If a higher-level administrator marked a parameter as non-overridable, the system prevents the lower-level change and explains which higher-level rule is controlling the behavior.

B. Missing Functional Description

If the administrator does not provide a meaningful description, the system prevents publication and asks for a description that explains purpose, impact, expected behavior, and applicable scope.

C. Duplicate Parameter in the Same Scope

If a parameter with the same identifier already exists in the selected scope, the system prevents duplication and guides the administrator to edit the existing parameter or create a versioned change.


6. Business Rules

  1. The most specific applicable value wins: Module over System/Suite, System/Suite over Tenant, Tenant over Global.
  2. A non-overridable value blocks changes in lower scopes.
  3. Every configurable parameter must include code, value, and description.
  4. The description must explain purpose, functional impact, expected behavior, and scope.
  5. Sensitive values must be treated as protected configuration and must not be exposed in plain text to unauthorized users.

7. Acceptance Criteria

  1. An administrator can create a parameter at an allowed scope.
  2. The system prevents lower-scope overrides when a higher-scope rule disallows them.
  3. The effective value returned to a client system matches the hierarchy rules.
  4. A parameter cannot be published without a clear business description.
  5. Duplicate parameter identifiers are not allowed within the same scope.

8. Technical Requirements

[!WARNING] ESTADO DE IMPLEMENTACIÓN: DIFERIDO / FUERA DE ALCANCE
En la fase actual, la gestión activa de parámetros jerárquicos de configuración (AppConfiguration) está diferida y no está implementada dentro del proyecto principal de dominio de C#.


9. Traceability