Jump to: navigation, search

Configure Hierarchy Filtering


Hierarchy Filtering allows the UBIK data designer to provide filter rules for the global object hierarchy on the client. For example, if a user wants to see all objects having the color green and a certain progress value, we have to create hierarchy filter rules - only allowing to view filterable objects that meet both of these criteria. When the filter is applied, objects that do not meet the criteria will be invisible. This means they will not be seen when browsing through the data and not even be found when doing queries or search operations. The designer can decide which objects are affected by the filtering by declaring objects as hierarchy filterable objects. These will be filtered based on the defined criteria. In addition, the designer can also declare objects to be hierachy filterable folder objects. These objects are filtered depending if there is visible content inside the data branch beneath this object. By defining these objects and rules, it is possible to thin out whole data branches depending on filter rules.


[edit]

Studio

Client

  • Define a preset file containing the property names of the filter criteria. Place it in the local databse directory ({AppData}\LocalState\Databases\<Profile or Project name>\default.hfpreset). One filter setting consists of the Property ID and description to be filtered, and the level of filtering for this property, which is relevant when composing filter rules in the UI. The following paramaters can be defined:
  • list of settings (one per property)
  • each setting contains:
    • property name
    • property level
    • default matching mode
<?xml version="1.0" encoding="utf-8"?>
<HierarchyFilterPreset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <HierarchyFilterSettings>
                <HierarchyFilterSetting>
                        <PropertyName>MP_DESCRIPTION</PropertyName>
                        <PropertyDescription>Description</PropertyDescription>
                        <Level>0</Level>
                        <DefaultMode>StartsWith</DefaultMode>
                </HierarchyFilterSetting>
                <HierarchyFilterSetting>
                        <PropertyName>MP_BRAND</PropertyName>
                        <PropertyDescription>Brand</PropertyDescription>
                        <Level>1</Level>
                        <DefaultMode>Equals</DefaultMode>
                </HierarchyFilterSetting>
                <HierarchyFilterSetting>
                        <PropertyName>MP_MODEL</PropertyName>
                        <PropertyDescription>Model</PropertyDescription>
                        <Level>2</Level>
                        <DefaultMode>Equals</DefaultMode>
                </HierarchyFilterSetting>
        </HierarchyFilterSettings>
</HierarchyFilterPreset>
  • Define one or more profiles for filtering. Create files having the extension ("*.hfprofile"). A filter rule consists of the property id, the value to be compared and a comparison mode (StartsWith, Equals).
<?xml version="1.0" encoding="utf-8"?>
<HierarchyFilterRulesProfile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>HF_CUSTOM_01</Name>
  <IsDefault>true</IsDefault>
  <HierarchyFilterRules>
    <HierarchyFilterRule>
      <PropertyName>MP_DESCRIPTION</PropertyName>
      <Value>PUMP</Value>
      <Mode>StartsWith</Mode>
    </HierarchyFilterRule>
    <HierarchyFilterRule>
      <PropertyName>MP_BRAND</PropertyName>
      <Value>MÜLLER</Value>
      <Mode>Equals</Mode>
    </HierarchyFilterRule>
    <HierarchyFilterRule>
      <PropertyName>MP_MODEL</PropertyName>
      <Value>SUPER</Value>
      <Mode>StartsWith</Mode>
    </HierarchyFilterRule>
  </HierarchyFilterRules>
</HierarchyFilterRulesProfile>

See also