Harnesses form - Completing the Design tab
Use the controls at the top of this tab and drag and drop operations to review or update this harness and associated sections.
The tab presents a real-time preview of the user form, allowing you to adjust the contents, position, style, and other aspects of the elements in the form quickly. As a best practice, build your application skin, using the Skin rules form, before you develop harnesses.
Areas of the layout that correspond to sections (or other elements) that you cannot update appear with a gray background. This may mean that the rule needs to be checked out by you, or belongs to a locked ruleset version, or belongs to a ruleset version that you are not allowed to update.
When you save this rule form, any other sections you have open that this rule references are also saved and validated as they are saved.
At run time, the initial state of each collapsible element on a user form — collapsed or expanded — is determined by the state on the Harness form when you save the form.
Controls that alter the preview
The preview area of this tab holds an approximate visual presentation of the run-time appearance of the harness. These buttons do not affect the contents of the rule, only the display on this tab:
Click the Show wireframes icon to present the wireframe preview. Blue wireframe rectangles help you understand the structure of the section, names of rules referenced in this rule, and the size and other relationships of elements in the section.
Click the Hide wireframes icon to hide wireframes, providing a less busy and more faithful preview.
Controls that alter a layout
These controls operate on layout structures. Select one or more cells first, then click the control to apply the operation. When a control is not available (grayed), it cannot be applied to the current selection. Hover over a control to display a tool tip with information about the control.
You can als also use keyboard shortcuts and right-click context menus to cut, copy, paste, and delete. Select a layout, section include, column, row, or cell and then:
X), Copy (
C), Paste (
Delete. For the full set of keyboard shortcuts that are supported, refer to the Shortcut definition.
- Right-click and select: Cut, Copy, Paste, Delete, Insert Row, Insert Column, Delete Row, Delete Cell or Delete Column. When copying an entire layout, select Paste Above or Paste Below.
> Updating Controls
If the section contains deprecated controls for which there are auto-generated alternatives available, an Update Controls option displays.
Click Update Controls to automatically update the deprecated controls. Buttons with custom settings must be manually converted to use the pxButton control. To add controls to those automatically updated, see Upgrading deprecated and outdated controls on the Pega Community.
Areas of the layout that correspond to sections (or other elements) that you cannot update appear with a gray background. This may mean that the rule needs to be checked out to you, or belongs to a locked ruleset version, or a ruleset version you are not allowed to update.
> Tabs and +/- controls
Sections in a harness may be presented as horizontal elements or as clickable tabs. These are "live" in the Design tab; click a tab to bring it to the front, or click a plus sign to expand a section.
When you save a harness form, the state of these controls is saved as well, and determines the initial presentation of the form. To achieve the desired results, before you save the Harness rule form:
- Click one tab to make it front-most when the user form initially appears at runtime, or
- Click the + or - as desired to control the initial presentation of a section or other element.
> Structure of a harness-based form
Structurally, every harness consists of one or more containers. (The container structure is not required for those harnesses that are defined through handcrafted HTML code.) A container can provide a visual grouping of multiple sections.
Headers belong to containers. A container may have a horizontal header, a set of tabs identifying the (top-level) sections it contains, or no header.
Each container can contain one or more sections, which in turn can contain layouts, repeating layouts, and other sections. Sections contain layouts.
> Prototyping a harness before the work item properties are defined
You can rapidly mock up the layout, labels, and controls on this tab before all properties it ultimately will reference are defined. The development effort you make in designing layout is not wasted, as the resulting harness is a valid starting point for further evolution after the properties are created.
When you first drop a control dragged from one of the control lists, the control initially references a standard placeholder property, for example @baseclass.pyTemplateInputBox. You can save and preview the Harness form (although these properties are not part of your application's work items).
To produce a harness with the appropriate layout, drag and drop the controls, adjust the labels, but do not complete the Cell Properties panel. Reopen the Harness form and update each Cell Properties panel later, when the real properties are defined.
For an example of this approach, see Pega Community article Use pyTemplate properties and controls to rapidly prototype user forms.
> Dragging a property from the Application Explorer
You can complete two cells of a layout in one step if the left cell is to contain a text label and the right cell is to contain a field corresponding to a property on the Application Explorer.
- Locate and expand the work type that contains the property on the Application Explorer.
- Expand the Data Model category and the Property rule type to list property names.
Select the blue dot for the
Single Valueproperty to be placed in the field. Drag and drop the dot into the desired cell.
- The system places the Short Description text of the property as a label in the left cell. It places the property as a (read-write) field in the right cell. You can adjust the settings for these cells.
Manual HTMLon this tab. Similarly, you cannot use this tab to modify sections are in the legacy format. These are marked
Not Upgradedon this tab.
Organize the content and structure of a portal by defining harnesses. By populating harnesses with sections, you can build a modular interface that promotes reuse and maintainability.