UX View¶
The UX View object defines customized views and controls for the Digital Rebar UX interface. UX Views enable role-based customization of the user interface, including navigation menus, table columns, filters, branding, and access restrictions.
Note
UX Views are appearance and usability modifications only. They do NOT enforce security constraints. Use RBAC roles and tenants for actual access control.
Architecture¶
Role Mapping¶
UX Views are associated with users through role mapping:
- Each UX View defines
ApplicableRoles- a list of role IDs - When a user logs in, DRP matches their assigned roles against UX Views
- The first matching role determines which UX View is applied
- Views are sorted by
Meta.priority(highest first) for selection order
Priority and Selection¶
The Meta.priority field controls view selection order. Higher priority values appear first in the dropdown and are selected by default when multiple roles match.
Preview Mode¶
Users can preview UX Views without permanent assignment through the UX interface. Preview mode applies the view temporarily until browser refresh.
Key Capabilities¶
UX Views control:
- Navigation: Custom menu structure and landing pages via
Menufield - Table Columns: Visible columns and custom fields via
Columnsfield - Filters: Predefined filters for object lists via
Filterfield - Branding: Custom logos via
BrandingImagefield - Access Control: Restrict available workflows, stages, tasks, profiles, and parameters via restriction fields
- Classifiers: Custom classifier configurations via
Classifiersfield
CLI Operations¶
# Create UX View
drpcli ux_views create my-view.yaml
# Update UX View
drpcli ux_views update my-view my-view.yaml
# List UX Views
drpcli ux_views list
# Show UX View
drpcli ux_views show field-tech
# Delete UX View
drpcli ux_views destroy field-tech
Fields¶
| Field | Definition |
|---|---|
| Airgap | Airgap is not used. Moved to license. Deprecated |
| ApplicableRoles | ApplicableRoles defines the roles that this view shows up for. e.g. superuser means that it will be available for users with the superuser role. |
| BrandingImage | BrandingImage defines a files API path that should point to an image file. This replaces the RackN logo. |
| BulkTabs | BulkTabs defines the tabs for this view |
| Classifiers | Classifiers is deprecated |
| Classifiers/Continue | Continue defines if the classifier should continue |
| Classifiers/Icon | Icon defines the icon to use for the classifier |
| Classifiers/NoAppend | NoAppend defines if the elements should be appended |
| Classifiers/Params | Params are additional data for the classifier |
| Classifiers/Placeholder | Placeholder defines a string placeholder |
| Classifiers/Regex | Regex defines a regex string for matching classifiers |
| Classifiers/Test | Test defines a bash test to apply |
| Classifiers/Title | Title defines the name of the classifier |
| Columns | Columns defines the custom colums for a MenuItem Id |
| Description | Description is a string for providing a simple description |
| Documentation | Documentation is a string for providing additional in depth information. |
| HideEditObjects | HideEditObject defines a list of fields to hide when editting |
| Id | Id is the Name of the Filter |
| LandingPage | LandingPage defines the default navigation route None or "" will open the system page. if it starts with http, it will navigate to the Overiew page. Otherwise, it will go to the machine's page. |
| MachineFields | MachineFields defines the fields for this view |
| Menu | Menu defines the menu elements. |
| Menu/Id | Id is the name of the MenuGroup |
| Menu/Items | Items is a list of items in this MenuGroup |
| Menu/Items/Color | Color defines the color for this menu item |
| Menu/Items/Filter | Filter to use on the MenuItem |
| Menu/Items/GroupBy | GroupBy is a list of subgroups for the menu item |
| Menu/Items/HasFlag | HasFlag defines if there is a flag to test for showing the menu item |
| Menu/Items/HasObject | HasObject defines if the object is really an object based menu item |
| Menu/Items/Icon | Icon defines the icon for this menu item |
| Menu/Items/Id | Id is the name of the MenuItem |
| Menu/Items/Overwrite | Overwrite defines a set of things to overwrite |
| Menu/Items/Title | Title is the title of the MenuItem |
| Menu/Items/To | To is the destination route for viewing this menu item |
| Menu/Title | Title is the displayed name of the MenuGroup |
| Meta | Meta contains the meta data of the object. The type of this field is a key / value map/dictionary. The key type is string. The value type is also string. The general content of the field is undefined and can be an arbritary store. There are some common known keys: color - The color the UX uses when displaying icon - The icon the UX uses when displaying * title - The UX uses this for additional display information. Often the source of the object. Specific Object types use additional meta data fields. These are described at: https://docs.rackn.io/stable/redirect/?ref=rs_object_metadata |
| Params | Params holds the values of parameters on the object. The field is a key / value store of the parameters. The key is the name of a parameter. The key is of type string. The value is the value of the parameter. The type of the value is defined by the parameter object. If the key doesn't reference a parameter, the type of the object can be anything. The system will enforce the named parameter's value's type. Go calls the "anything" parameters as "interface {}". Hence, the type of this field is a map[string]interface{}. |
| ParamsRestriction | ParmsRestriction defines a list of restrictions for the parameter list |
| ProfilesRestriction | ProfilesRestriction defines a list of restrictions for the profile list |
| ShowActiviation | ShowActiviation is not used. Moved to license. Deprecated |
| StagesRestriction | StagesRestriction defines a list of restrictions for the stage list |
| TasksRestriction | TasksRestriction defines a list of restrictions for the task list |
| WorkflowsRestriction | WorkflowRestriction defines a list of restrictions for the workflow list |
References¶
For detailed field documentation, examples, and usage instructions, see:
- UX Views Operator Guide - Complete field reference and examples
- UX Configuration - Portal configuration guide
- RBAC Model - Role-based access control
- User Model - User object reference
- Role Model - Role object reference