-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Name and Version
0.6.1
What is the problem this feature will solve?
The admin panel currently lacks a structured way to expose metadata about its entities (models, apps, keys, etc.). This metadata is critical for providing a better user experience for the admin panel operators on the frontend. Without this information, users may face the following challenges:
- Limited Visibility: Admin panel operators cannot view or understand the underlying properties of entities, their relationships, and validation rules, leading to inefficiencies in their workflows.
- Inconsistent Documentation: There is no centralized or programmatic way to document admin properties, making it harder for developers and operators to understand the system.
- Reduced Maintainability: The lack of metadata makes it difficult to debug or extend the admin panel, as there is no clear reference for how properties are structured or validated.
- Frontend Dependency: The frontend team has to rely on manual inputs or assumptions about the structure of admin panel entities, which can lead to inconsistencies and errors.
By addressing this issue, we can improve the user experience for admin panel operators, streamline frontend development, and provide a built-in documentation mechanism for the admin panel.
What is the feature you are proposing to solve the problem?
We propose creating a set of backend endpoints that provide metadata about admin panel entities. These endpoints will expose detailed information about each property of the entities, enabling both frontend and backend teams to work more efficiently. The metadata for each property will include the following fields:
- adminPropertyName: The name of the property as it appears in the admin panel DTOs.
- core_aliases or expression:
- If the property directly maps to a core entity, this field will include the core aliases.
- If the property is part of an expression, this field will include the expression used to compute it.
- If the property is admin-only (i.e., it does not map to any core property), this field will be none.
- description: A brief explanation of what the property represents and its purpose.
- validation rule: The validation criteria that this property must satisfy (e.g., data type, constraints, etc.).
- appliedWhen condition: The condition under which this property is applicable or relevant.
These metadata endpoints will serve two primary purposes:
- Frontend Integration: The metadata will be displayed on the frontend to improve the user experience for admin panel operators. (See related frontend story: [App] Add Informational Side Panel ai-dial-admin-frontend#69)
- Documentation: The metadata can act as a form of auto-generated documentation for admin panel entities, making it easier for developers and operators to understand the system.
What alternatives have you considered?
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status