Harness form
|
|
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.
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.
You cannot use this tab to modify sections (referenced in the harness) with the Auto-generated HTML? checkbox cleared (on the HTML tab). These are marked Manual HTML
on this tab. Similarly, you cannot use this tab to modify sections are in the legacy format. These are marked Not Upgraded
on this tab.
When you save this rule form, PRPC also saves any other sections you have open that this rule references, and validates the rules as they are saved.
At runtime, 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.
As a best practice, build your application skin (using the Skin rule form) before you develop harnesses, especially if you are using SmartLayouts (with spacing determined by the skin styles.) The system renders the Layout tab using the styles of the skin rule identified in the Skins field of the Run Process In group of your General preferences. If the Skins field is blank, these displays use the styles of the skin identified in your current portal rule. See Designer Studio — Setting your preferences.
Using the Harness form to review or update a harness creates a clipboard page and initializes properties. This may in turn cause declarative processing to execute. Use caution before implementing any OnChange declarative processing that produces database updates.
Identifying controls on this tab
The preview area of this tab holds an approximate visual presentation of the runtime appearance of the flow action. These buttons do not affect the contents of the rule, only the display on this tab:
Click the button to present the SmartFrames 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 button to hide wireframes, providing a less busy and more faithful preview.
These controls operate on layout structures. Select one or more cells first, then click the control to apply the operation described. When a control is not available (grayed), it cannot be applied to the current selection.
Control |
Description |
Cut the selection. | |
Copy the selection. | |
Paste the contents in the selected area. | |
Delete the contents of a single cell (not a row or column). | |
Insert a new row before (above) the selected row. | |
Insert a new row after (below) the selected row. | |
Delete the selected row. | |
Insert a new column before (to the left of) the selected column. | |
Insert a new column after (to the right of) the selected column. | |
Delete the selected column. | |
Merge right — Combine the selected cell and the cell to the right. | |
Merge down — Combine the selected cell and the cell below it. | |
Unmerge — Undo the previous merge. |
You can 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:
CTRL
+ X
), Copy (CTRL
+ C
), Paste (CTRL
+ V
), or Delete
. You can change the key combinations in Keyboard Preferences. See Setting your preferences.Sections in a harness may be presented as horizontal elements () or as clickable tabs (). These are "live" in the Layout tab; click a tab to bring it to the front, or click a plus sign to expand a section.
When you save a Harness rule 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:
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 cells, arranged in rows and columns.
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 the Basic Group, 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 PDN article 25216 Use pyTemplate properties and controls to rapidly prototype user forms.
Working with the Cell Properties panel
Each control is defined by your inputs in floating panel, which you can pin for faster input. To open the panel, select the control (after dropping it) and press Enter or click the magnifying glass icon () that appears.
Use these controls on the header of floating panel:
Layout Group: Adding a container, section, layout, tab, or repeating layout
Click the down arrow () in the Container control group () and select a control:
Control |
Description |
Add a panel set to this harness, to support a composite portal. See Adding a panel set. |
|
Add a container to the harness form. Every harness must contain at least one container, and every container must contain at least one section. See Adding a container. |
|
Add a dynamic container to a harness. See Adding a dynamic container. |
|
Add a tabbed container to a harness. See Adding a tabbed container. |
|
Add an accordion container to a harness. See Adding an accordion container. |
|
Add a section to a harness container. See Adding a section. |
|
Add a layout to the section included in a harness container — a <TABLE> element containing one or more rows and one or more columns. You can then change the number and size of rows and columns, and set up the contents of each cell (a <TD> HTML element). See: |
Basic Group: Placing a property or label in a cell
A cell can hold a label or property value or a form field that accepts a user-entered property value. The property value uses a control to present the value in read-only or read-write mode.
Click the down arrow () in the Basic control group () and select a control:
Control |
Description |
Add a static read-only text label into a cell. Adding a label. | |
Add a Text Input, which corresponds to .pxTextInput control. Adding a Text Input control. | |
Add a TextArea, which can contain more than one line of text. Corresponds to the.pxTextArea control. Adding a Text Area control. | |
Add an icon to the form, in a cell or on a header. When clicked at runtime, the icon starts an action. Corresponds to the .pxIcon control. Adding an icon. | |
Place a button into a cell at the bottom of the form. When clicked at runtime, the button starts an action. Corresponds to a .pxButton control. Adding a button. | |
Add a checkbox representing a TrueFalse value. Corresponds to a .pxCheckbox control. Adding a Checkbox. |
|
Add a radio button group representing a property value. Adding a radio button group. | |
Place a text link in a cell. When clicked at runtime, the link starts an action. Corresponds to a .pxLink control rule. Adding a Link control. | |
Add a text box containing a |
|
Add a Select control that presents a fixed list of values. Adding a Select control. |
|
Include an image in the form. Adding an Image. |
Click the down arrow () in the Advanced control group () and select a control:
Control |
Description |
Reference, in a cell, a paragraph rule that presents only read-only text and images using rich text. Optionally, you can link a SmartInfo pop-up section with the paragraph. Adding a paragraph. | |
Use an AutoComplete text box to present a drop-down list of dynamic choices computed by an activity. Adding an AutoComplete field. | |
Add a red label that opens a pop-up SmartInfo section when the user hovers the mouse pointer over the label. Adding a Smart Label. | |
Add a dynamic drop-down list. Adding a Dynamic Select control. | |
Adding a control that allows multiple selections from a possibly long list. Adding a list-to-list control. | |
A cell can contain an interactive chart, defined by a summary view rule with a completed Chart tab. Adding a chart. | |
For harnesses that are part of a composite application built with Internet Application Composer only. Add a hidden field to expose a property value, making it available to the external page that displays the composite application. See Adding a Data Field control. | |
Add a menu to a composite portal. See Adding a Menu Bar. | |
N/A |
In addition to these Advanced controls, you can add interactive data displays to support quick review or editing for a Page List or Value List . Adding a Tree, Adding a Grid, Adding a Tree Grid. |
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.
Single Value
property to be placed in the field. Drag and drop the dot into the desired cell.