Version 1

    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.



    * 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




    Wildfly management model provides a capability reference functionality where an attribute references an existing entry in the domain model.


    * 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




    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.