Create profile entries
In this topic ...
Related Topics ...
Overview
A profile set consists of zero or more profile entries. A profile set entry represents a single aspect of a business relationship that you want to make variable.
We can create as many profile entries as we need and then save them as a profile set. We can then map each profile entry in those profiles to a builder call input by profiling that builder call input.
You manage profile entries from one of two utilities:
- The Profile Entries editor can add, modify, and delete entries. To access the Profile Entries editor, click the Entries tab of the Profile Manager.
- The Profile Input dialog can add or modify entries. To access this dialog, click the profile button [] located next to a builder call input.
Add a Profile Entry
To add a profile entry:
- Launch the New Profile Entry dialog:
- If you are in the Profile Entries editor, click the Add button.
- If you are in the Profile Input dialog, click the Create button.
- In the New Profile Entry dialog, enter the values for the entry fields. See the table below for the types of data we can enter.
- Click OK to add the entry.
Modify a Profile Entry
The Modify Profile Entry dialog is used to modify an existing entry in a profile set. Note that we cannot change the name of the entry.
To modify an existing profile entry:
- Launch the Modify Profile Entry dialog:
- If you are in the Profile Entries editor, select an entry from the Entries table and click the Edit button.
Alternatively, we can double-click the entry name.
- If you are in the Profile Input dialog, choose an entry from the Profile Entry Name select box and click the Modify button.
- In the Modify Profile Entry dialog, enter the new values for the entry fields (except for the Name field). See the table below for the types of data we can enter.
- Click OK to update the entry fields.
Values for Profile Entries
Entry Field Description Name Name of the profile entry, from the New Profile Entry dialog. Identifies the entry in the Profile Data Table (Manage Profiles editor) and in the Profile Entry Outline view.
The name must be a valid XML element name; do not use spaces or special characters.
Prompt Text that will be used for the builder call input. The prompt is also displayed in the Profile Value Editor Work Area (in the Manage Profiles editor) and in the Profile Entry Outline view.
UI Type The type of UI control used to represent the profile entry. Available controls are:
TextInput A single-line text input box. TextArea A multi-line text entry area. Checkbox A check box with two values. Select A list of predefined selections. SelectableInput A list of predefined selections; however, the user can create a new selection by typing into the select box. Radio Box An array of radio buttons, only one of which can be enabled. Extra Data The data used to populate the UI control, such as choice-1, choice-2, choice-3,...choice-n for a Select entry. Default The default value assigned to the profile entry. You can customize this value for on a per-profile basis. The value is displayed for the profile in the Manage Profiles editor and in the Profile Values table of the Profile Builder Call Input dialog. Execution Time Determines whether a profiled builder call input gets its value during generation or during execution time (when the application server executes the JSP code for the application). Specify true if the builder inputs to which this entry applies can take an indirect reference. Setting a profile entry to be resolved at execution time limits the number of WebApp objects generated for your application, improving performance.
Note that if you set an input to be evaluated at execution time, that input's value cannot also be an indirect reference. If it is, the reference itself rather than the value will be returned.
Notable inputs that cannot be associated with execution time entries are the Imported Page builder's Page to Import and the Service Call builder's WSDL URL input.
A profile entry may apply to more than one builder call input. If you set such an entry's Execution Time value to true, any inputs that cannot resolve their values at execution time will throw an error. This error will vary for different builders, but the general error will be that the input value is not valid.
Use Execution Time Entries
We can set profile entries to be resolved at execution time by setting their Execution Time value to true. Setting profile entry values to be resolved at execution time is generally recommended so your Web application can take advantage of the following benefits:
- Improved performance -- Resolving profile entries at execution time limits the number of unique WebApps and JSPs that need to be generated for different profiles. A smaller number of WebApps results in fewer compiles for the JSPs in those WebApps.
- Greater flexibility -- Profile entries resolved at execution time provide for a greater range of values. For example, if you want to supply a value to a builder call input that is dependent on the time of day, highly variable from one request to another, or any other value that is dependent on the execution time environment.
Not all builder call inputs can use execution time entries. Notable inputs that cannot take execution time values include the Imported Page builder's Page to Import input and the Service Call builder's WSDL URL input. If you inadvertently profile a builder call input with an execution time value, upon model generation, you will see an error for that builder call saying that it cannot resolve an indirect reference.
In general, we recommend that you use execution time profile entries when we can. Web applications driven by several profile sets with many entries will benefit most from using execution time values, but even Web applications that are not highly variable will see some benefit.
A general rule of thumb for knowing whether a builder call input can take an execution time value is that if it can take an indirect reference (${ ... }) then it probably can be associated with a profile entry that gets resolved at execution time.
Delete a Profile Entry
To delete a profile entry from the Profile Entries editor:
- Select the target entry by clicking on it once.
- Click the Remove button.