Overview
The ResourceShell provides a composable framework for CRUD operations on arbitrary WildFly management resources. The ModelBrowser is currently the most prominent consumer. While the generic UX works well for the vast majority of resources, some resources benefit from a more specialized UI.
This umbrella issue tracks all extension points for the resource shell. Each extension point is a separate sub-issue that can be designed and implemented independently.
Design Decisions
- Separate registries per concern — each extension point has its own registry rather than one monolithic
ResourceExtension interface. This keeps concerns decoupled and allows incremental adoption.
- Registration key — extensions register against a combination of
Environment (which provides operation mode, stability level, product version, etc.) and an AddressTemplate (which can contain wildcards). This allows extensions to be scoped by resource type and conditional on server capabilities.
Extension Points
Current Architecture
The ResourceShell is a pure layout container that composes optional children:
ResourceShell
├── Sticky header group
│ ├── ResourceBreadcrumb (optional)
│ └── ResourceHeader (optional)
└── Content section
├── ResourceTabs (option A)
│ ├── Data tab → ResourceData → Pipeline → ResourceView / ResourceForm
│ ├── Attributes tab → AttributesTable
│ ├── Operations tab → OperationsTable
│ └── Capabilities tab → CapabilitiesTable
└── ResourceList (option B)
└── DataList of child resources
All intelligence lives in the composed children. The shell itself has no behavior and no data loading.
Overview
The
ResourceShellprovides a composable framework for CRUD operations on arbitrary WildFly management resources. TheModelBrowseris currently the most prominent consumer. While the generic UX works well for the vast majority of resources, some resources benefit from a more specialized UI.This umbrella issue tracks all extension points for the resource shell. Each extension point is a separate sub-issue that can be designed and implemented independently.
Design Decisions
ResourceExtensioninterface. This keeps concerns decoupled and allows incremental adoption.Environment(which provides operation mode, stability level, product version, etc.) and anAddressTemplate(which can contain wildcards). This allows extensions to be scoped by resource type and conditional on server capabilities.Extension Points
ResourceTabsor replace/remove default tabsCurrent Architecture
The
ResourceShellis a pure layout container that composes optional children:All intelligence lives in the composed children. The shell itself has no behavior and no data loading.