User story
Any input text field that requires an existing value, for example a socket binding, thread-pool, datasource, factory, etc. should be provided as a drop down list for the user to select, this way makes the user input accurate to an existing entry. If the user do a typo in the input, the persistent model (domain.xml or standalone.xml) may not let Wildfly start.
Examples:
* Configuration / Subsystems / Mail
see *socket binding* attribute
* Configuration / Subsystems / Transactions - see *socket binding* attribute
see *socket binding* attribute
Jdbc store datasource - this looks like we should have combo box to select a datasource which is defined in datasources and xa-datasources
Requirements
Wildfly management model provides a capability reference functionality where an attribute references an existing entry in the domain model.
Example:
* Attribute outbound-socket-binding-ref of /profile=full/subsystem=remoting/remote-outbound-connection=*
* Attribute data-source in /profile=full/subsystem=infinispan/cache-container=ejb/replicated-cache=*/store=binary-jdbc
Actually not all extensions make use of this capability functionality, for example:
* Attribute outbound-socket-binding-ref in /profile=full/subsystem=mail/mail-session=default/server=smtp
* Attribute socket-binding in /profile=full/subsystem=transactions
* Attribute security-realm of /profile=full/subsystem=remoting/remote-outbound-connection=*
Wildfly at the kernel level provides the functionality to link dependencies, but not all extensions make use of them.
HAL can statically link those dependencies, but they need to be mapped, the linked issues provided some examples.
UI Component
Ballroom project already contains a widget named SuggestBoxItem that is a textfield with a suggestion box, see sample below
Details
There are two tasks to implement this in HAL.
1) Add support for capability-reference in ModelNodeFormBuilder, this way the text field is automatically generated to list the existent values.
2) For those attributes that miss the capability-reference, manually add SuggestBoxItem and lookup the values in the management model.
References
https://issues.jboss.org/browse/EAP7-491
Comments