You can use the property-file element to collect property values from a CIM user at runtime, using the following additional elements:
value—Default value to assign to the property.input—Label displayed as a prompt for the user.validator—Validate the user’s input. The validator ID references a validator defined in avalidators.xmlfile in the Base plugin or the product’s\cimdirectory.error-message—If the validator returns false, the error message is displayed and the input is asked for again.
The following example shows how to collect property values at runtime:
<property-file file="atg/PropertyFile.properties">
<property-group id="base">
<property name="someProp">
<value>${AppServerPortsProvider.httpPort}</value>
<input type="text">
<label>Prompt</label>
<validator id="PortNumberValidator">
<error-message>Error</error-message>
</validator>
</input>
</value>
</property >
</property-group>
</property-file>The dynamic value (${…}) replacement is similar to that used elsewhere in CIM (see Using Dynamic Values in Properties Files). The format is ${WORKER_ID.PROPERTY} where WORKER_ID is the ID of a validator, task, or provider. In the example above, AppServerPortsProvider is a provider ID.
You can use a worker object provided by CIM, or a custom worker object.

