Document toolboxDocument toolbox

Perspective sets

Introduction

Perspectives set is a core concept of HDC. It defines how a number of linked objects are presented to the user. The presentation can be dynamically changed, depending on user needs or context. Perspective Sets can be assigned to Tesslets in Layouts Manager and used to retrieve specific views on data.

 

Please remember, you cannot edit the Perspective Sets setting for the currently activated Configuration.

Please refer to the header of the Perspective Sets Manager to identify which Configuration you are trying to modify.

Object linking possibilities are not limited by the HDC database. However, users can create "perspectives" that limit linking to specific classes of objects. A single object can have child objects in the form of documents or other objects. Depending on the perspective, only objects of a given type are shown in the hierarchy tree, and only documents (or documents of a given type) are displayed in GridView Tesselet. This allows for flexible data presentation as required by users and enables the creation of alternative views on the same data through configuration only.

Interlinked Objects in HyperDoc Database

The image below depicts the management panel for Perspective Sets. It comprises three windows:

  • The Top window is used to create a set of perspectives and define their Root class and a specific object.

  • The Bottom-left window lists the perspectives that are part of the set.

  • The Bottom-right window displays available object classes ("child" classes) for a given Perspective ("parent" class").

Several perspectives can be grouped into Perspective Set.

Each Tesselet can be configured to use any given Perspective Set. All object classes, including documents, can be freely mixed in any perspective as long as it represents useful business logic. For instance, objects of selected classes can form a hierarchy by using TreeView Tesselet and a Perspective Set definition that could resemble the following:

Perspective Set: Hierarchy: {Root:Property}, {Property:Building}, {Building:Floor}, {Floor:Space}

Each pair of classes in the above example represents a single perspective. It's important to note that one class could have several relative classes specified, for example:

Perspective: {Floor:Space,Document,Equipment}

Another perspective set can be created to display documents in the form of a GridView Tesselet.

Perspective Set: Doclist: {Building:Document}, {Floor:Document}, {Space:Document}

Yet another perspective can be utilized to display a large number of equipment elements linked to objects of class Space. This perspective is suitable for display in the GridView Tesselet as it supports paging and shows full metadata at hand:

Perspective: Equipment: {Space:Equipment}

 

Example with object inheritance

Having the Ground Object as a superclass, including Bench, Tree, and Trash bin, provides the option to add both generic Ground Objects or specific Trees.

When choosing Property -> Ground Object perspective, all objects will be returned, encompassing Trees, Benches, and Trash Bins in the form of generic objects (containing only properties common for Ground Objects).

If the "include sub-classes" checkbox is not selected, only objects created as generic Ground Objects will be displayed.

For obtaining specific classes like Bench, Tree, or Trash bin, one should use the respective perspective under Property.

The Tree Tesslet will showcase generic objects. In contrast, for instance Grid Tesslet will display multiple classes as Tabs.

 

Indirect Perspectives

Looking at the sample objects available in HyperDoc Database, if we want to present the Tenant name on each Space, we have to use indirect perspectives to achieve that.

  • Space -> Tenant via Rental Unit, Contract 

  • Space -> Rental Unit

  • Rental Unit -> Contract

  • Contract -> Tenant

Set Sequence

The 'Set Sequence' button allows you to arrange the order of classes within a specific Perspective. This affects how the sets are displayed, such as determining the tab order in a GridView.

Include Subclasses

The 'Include Subclasses' option is used when a user wants to display not only objects representing a given class directly, but also all of its subtypes.

This feature is particularly useful in scenarios like these:

  1. Grouping and displaying all Documents regardless of their subtype (e.g., Architectural, Vent, etc.)

  2. Grouping and displaying Ground Objects of all subtypes in one tab while specific objects are displayed in other tabs.

In this configuration, the Documents perspective is set up to include all subclasses:

Notice that Arkitekt, K, VS, V and El are actually defined as subclasses in the Class structure Object Classes.

 

Related pages: