<c:simple-property name="rootDirectory" type="directory" required="true"/> <c:dynamic-property name="users" displayName="User Display Name"> <c:database-backing key="users"/> </c:dynamic-property>
A new feature available to server-side plugins is the ability to specify that a configuration property's enumerated values be read from the RHQ database at the time they are needed. For instance, if a server plugin wanted to prompt the user to select one of the existing roles in the system, rather than statically hardcoding this information into the plugin descriptor, the property can indicate to pull the current list of roles from the RHQ database.
These "dynamic properties" are defined in a similar way as other simple properties in the server plugin descriptor:
<c:simple-property name="rootDirectory" type="directory" required="true"/> <c:dynamic-property name="users" displayName="User Display Name"> <c:database-backing key="users"/> </c:dynamic-property>
In addition to the normal attributes found on a simple property, a dynamic property must indicate its backing; in other words, where to retrieve the values from at runtime. Ultimately, multiple types of backings will be supported, however currently the only source to pull values is the database.
The database-backing element must indicate what values to pull through the key attribute. The possible values for this attribute are enumerated in the configuration schema (rhq-configuration.xsd). These values include:
users
roles
package-types
resource-type-with-plugin
package-architectures
Note: This list may be out of date, be sure to check the schema for the latest supported database keys.