Skip to content

Form Display

Form Display is used to show all of the information related to an object. It is also the place where users perform tasks related to the displayed object, such as navigation to other related objects, editing, creating diagrams, etc.

Calling Form Display

There are many ways to call a Form Display:

Understanding Form Display

Once a Form Display is called, the Active Model View will display the corresponding object attributes and references in a tabular format. Links are also provided for navigation to the referenced objects. Whenever possible, object names (instead of rdf:ID) are displayed as navigation links. The following screenshot illustrates some of the features of a Form Display.

Form Display – figure 2

There are two interactive features that enable users to find the context information in the Form Display:

  • In a Form display showing a raw model object, a hierarchical ‘path’ column is displayed by default. This attribute, dynamically generated based on the pre-defined object containership, displays the object hierarchal path using object names. When users click the path hyperlink, the Model Explorer navigation tree will be automatically expanded, showing the hierarchical location of the related object. Users can also Auto-expand the tree to find the other hierarchical paths associated with the current object Form Display – figure 3
  • Mouse-over the associated object in the Form to popup a data grid displaying the detailed information about the associated object, as illustrated below: Form Display – figure 4

For 1-to-many association, only the first associated object (name or ID) is displayed in a Form display. Clicking the link, all of the associated objects will be displayed, as illustrated below.

Form Display – figure 5

The Form Display enables users to enter the data when in the editing mode.

Composite Form

Form Display is designed to present a single object at a time. While it allows navigation to other objects, it can be inconvenient for users to browse the model, as the context is lost during navigation. The Composite Form addresses this limitation by providing an integrated view of related or associated objects, enhancing usability for both model browsing and editing.

About Composite Form

A Composite Form is a structured form designed to present and edit complex, interrelated objects in a single, integrated view. It combines hierarchical, tabular, and form-based representations of data, allowing users to interact with multiple related objects seamlessly. The Composite Form Display is built on the Model-View-ViewModel (MVVM) architectural pattern. This approach enhances usability by providing a comprehensive and context-aware interface for model browsing and editing.

The following shows a sample of a Composite Form with key components highlighted.

Form Display – figure 6

As illustrated above, a Composite Form consists of three major components:

  • Form Display of the (Master) Object – Displays the selected or browsed object in a structured form, allowing users to view and edit its properties.
  • Navigation Tree of the Associated Objects – Organizes related or associated objects in a hierarchical navigation tree, enabling seamless exploration of related data.
  • Form or Tabular Display of the Selected Associated Object – Presents the associated object(s) selected from the navigation tree:
  • If an object tree node is selected, it is displayed in a Form for detailed inspection and editing.
  • If a category or class tree node is selected, the associated objects are displayed in a Tabular view for better data organization and comparison.

This structured layout enhances usability by integrating hierarchical navigation, detailed object forms, and tabular representations, making it easier to interact with complex model data.

Note:

  • The Composite Form can be enabled or disabled by clicking the command icon, as illustrated below. This is a persistent setting, meaning the Tool retains the setting until it is manually changed. Form Display – figure 7
  • Calling a Composite Form is more time-consuming compared to a standard Form Display due to the complexity of rendering multiple associated objects. For performance reasons, the Composite Form is disabled for certain classes, such as GeographicalRegion and BaseVoltage. This is achieved by adding these classes to the exception list in the default ViewModel definition, preventing unnecessary performance overhead when working with large models. Additionally, if the number of discovered associated objects for the browsed object exceeds a configurable limit, the Tool will automatically disable the Master Form for this object.
  • If the object contains too many associated object tree nodes, the associated objects are not displayed for the performance reasons. Users can change this behavior by modifying the configuration as described in Model-View-ViewModel (MVVM).
  • The master object can also be included as the root of the navigation tree. In this case, the Form Display of the Master Object is not needed. This special type of Composite Form is referred to as a Compact Composite Form, where all interactions occur within the navigation tree and associated object panels. This approach streamlines the display, making it more compact and focused on hierarchical object relationships. An example of this is shown later.

Model Editing in Composite Form

Refer to Object Editing in a Composite Form for detailed instructions on how to edit models within a Composite Form.

Exploration of Associated Objects

To help users explore or locate the associated objects, a set of command icons are provided at the top of the navigation tree as shown and described below.

Form Display – figure 8

Control

Description

Form Display – figure 9

Provide a hint (partial name) to initiate the search for an associated object. Once the item is identified, select the item to expand the tree for the identified object and bring it into tree view.

Form Display – figure 10

Expand the entire tree.

Form Display – figure 11

Collapse the entire tree.

Form Display – figure 12

Expand the tree to find the currently-selected tree node.

Form Display – figure 13

Display the selected object in the main view. This option is enabled only when an associated object is currently selected within the navigation tree.

Form Display – figure 14

Cancel or undo the pending model changes. This option is available only in edit mode and enabled only when model changes are detected.

Form Display – figure 15

Save the pending model changes to the model. This option is available only in edit mode and enabled only when model changes are detected.

Form Display – figure 16

Expand the tree to locate all invalid objects. This option is available only when invalid objects are detected within the navigation tree.

Form Display – figure 17

Expand the tree to locate the next invalid object from the current selection. This option is available only when the next invalid object is detected within the navigation tree, and enabled only when there is a next invalid object from the current selection.

Form Display – figure 18

Expand the tree to locate the previous invalid object from the current selection. This option is available only when the previous invalid object is detected within the navigation tree, and enabled only when there is a previous invalid object from the current selection.

Form Display – figure 19

Expand the tree to locate all changed objects. This option is available only when changed objects are detected within the navigation tree.

Form Display – figure 20

Expand the tree to locate the next changed object from the current selection. This option is available only when the next changed object is detected within the navigation tree, and enabled only when there is a next changed object from the current selection.

Form Display – figure 21

Expand the tree to locate the previous changed object from the current selection. This option is available only when the previous changed object is detected within the navigation tree, and enabled only when there is a previous changed object from the current selection.

Form Display – figure 22

Displays the object counts in the format deleted / changed / invalid / total, providing users with a quick overview of the status of the associated objects.

  • Deleted – The number of deleted objects that have been saved (in blue).
  • Changed – The number of objects that have been added or modified but not yet saved (in gray).
  • Invalid – The number of objects that contain errors or inconsistencies requiring attention (in red).
  • Total – The total number of the associated objects (in black or white). Note that the total number of object tree nodes in the navigation tree may be greater than this count, as the same object can appear multiple times under different categories

Rendering of Composite Form

In addition to rendering Composite Form as independent View, Composite Form Display can also be rendered in a Side Panel or Popup, allowing users to view supplementary information without navigating away from the main display. The following illustrates how a Compact Composite Form can be invoked from a diagram context menu or by double-clicking an object in the diagram. When triggered, the Composite Form is hosted in a Side Panel, allowing users to view and edit related object details without leaving the main diagram view.

Form Display – figure 23

Customization of Composite Form

The Composite Form Display is highly customizable, as illustrated below. Users can configure its layout, data presentation, and interaction to align with specific modeling requirements. For further details on customization, refer to MVVM Support.

Form Display – figure 24

Lazy Loading of “Heavy” Objects

Previously, when a “heavy” object (i.e., one with many associated descendant objects) was loaded, the tool attempted to build and display the entire association tree at once. This could result in noticeable delays and high memory usage, particularly for models containing tens of thousands of associated objects as highlighted in the example above.

With lazy loading enabled, only a skeleton structure of the associated descendant objects is initially loaded. Detailed information is retrieved and displayed dynamically when a user selects or expands specific objects. This on-demand loading approach reduces loading time, improves UI responsiveness, and allows users to browse large models more smoothly.

For end users, this means faster model loading, quicker tree expansion, and a more responsive experience when exploring complex networks with deeply nested associations.

Delayed-loaded objects are shown in italics in the association tree. When a user selects an object, its content is loaded dynamically and the name changes to normal text, as illustrated below.

Form Display – figure 25

Note

Lazy loading is applied only when the tool determines that an object is “heavy,” i.e., when the number of associated descendant objects exceeds a threshold, predefined in the ViewModel.

Form Display – figure 26

Users can load the full properties by clicking the corresponding command icon, as illustrated below.

Form Display – figure 27

Data Entry Validation

The Tool provides Data Entry Validation, ensuring that user input is accurate, consistent, and compliant with predefined rules before being saved to the model. Refer to Data Entry Validation for more details.

Settings

Form related settings can be managed by clicking the command icon, as illustrated below. These are persistent settings, meaning the Tool retains the setting until they are manually changed.

Form Display – figure 28

  • Show/Hide Namespace Prefix: Display/hide namespace prefix for properties.
  • Show/Hide Object Path: Display/hide object path.
  • Display or Do Not Display Associated: Display associated objects in the side panel or only the object in the form.
  • Confirm/Auto Saving on Model Change: If enabled, prompt for confirmation before leaving the display if there are any unsaved changes. Applicable only in editing mode.
  • Confirm/Auto Saving on Errors: If enabled, prompt for confirmation before saving if modeling errors are found. Applicable only in editing mode.
  • Enable/Disable Row Highlighting: If enabled, highlight rows for non-standard properties, such as undeclared or extended ones.
  • Enable/Disable Data Entry Validation: Enable/disable Data Entry Validation.

Activities Performed from Form Display

Users typically call Form Display to perform a certain task related to the displayed object, such as editing, visualization, navigation to related objects, etc. These tasks are typically invoked by clicking the command icons at the top of the Form Display. To find more information about each related command icon, simply move the curse over the icon. A tool tip will popup, prompting what activity can be performed by clicking the corresponding icon.

Form Display – figure 29

Configuration

Form Displays can be adjusted by modifying the UI or Client Configurations located in the \config\ui folder. This can be done in either CIMSpyConfig.xml or, preferably, AddonConfig.xml, which contains user-defined configurations.

Form Display – figure 30

The following table summarizes the configurable parameters

Attribute

Default

Description

maxObjectsForTreeExpansion

16

If the number of object tree nodes is below this value, the entire associated tree will expand during the initial rendering.

maxTreeNodesToLocate

200

During auto-tree expansion for invalid or changed associated objects, if the number of located tree nodes reaches this value, the expansion will stop.

splitPopupWidth

1000

Popup Width for Composite Form Display

splitPopupHeight

720

Popup Height for Composite Form Display

associatedFormRelativeWidth

72

Horizontal Relative Size for Associated Panel (Master Form Width = 100). See the sample below.

associatedFormRelativeHeight

82

Vertical Relative Size for associated object form (Height of the Navigation Tree of the Associated Objects = 100). See the sample below.

associatedPopupRelativeWidth

100

Horizontal Relative Size for Associated Panel within a Popup (Master Form Width = 100). This applies to Form Display in a Popup.

associatedPopupRelativeHeight

100

Vertical Relative Size for associated object form within a Popup (Height of the Navigation Tree of the Associated Objects = 100). This applies to Form Display in a Popup.

displayPath

true

If true, the object path will be displayed in the master form.

displayMasterFormType

true

If true, the property type will be displayed in the master form.

displayAssociatedFormType

false

If true, the property type will be displayed in the property sheet of the associated object.

displayMasterPopupType

false

If true, the property type will be displayed in the master form within a popup. This applies to Form Display in a Popup.

displayAssociatedPopupType

false

If true, the property type will be displayed in the property sheet of the associated object within a popup. This applies to Form Display in a Popup.

enableDataEntryValidation

true

If true, invalid objects will be highlighted in red in the navigation tree of the associated object

displayDataEntryValidationMsg

false

If true, the data entry validation message will be displayed in a separate column.

Form Display – figure 31