Jump to: navigation, search

Difference between revisions of "HowTo:Configure Hierarchy Filtering"


(Created page with "<Descriptive text goes here...> <!-- DO NOT REMOVE THIS -->{{Template:HowTo/Begin}}<!-- DO NOT REMOVE THIS --> = Instructions = <!-- DO NOT MODIFY THE NAME OF THIS SECTION,...")
 
Line 1: Line 1:
<Descriptive text goes here...>
+
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 [[SYSCLS_HIERARCHYFILTERABLE|hierarchy filterable]] objects. These will be filtered based on the defined criteria. In addition, the designer can also declare objects to be [[SYSCLS_HIERARCHYFILTERABLE|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.
  
 
<!-- DO NOT REMOVE THIS -->{{Template:HowTo/Begin}}<!-- DO NOT REMOVE THIS -->
 
<!-- DO NOT REMOVE THIS -->{{Template:HowTo/Begin}}<!-- DO NOT REMOVE THIS -->
 
= Instructions =
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
 
<Give step-by-step instructions, use images, ...>
 
  
 
= Studio =
 
= Studio =
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
<Give step-by-step instructions, use images, ...>
+
* declare the metaclasses to be filtered with the [[SYSCLS_HIERARCHYFILTERABLE|hierarchy filterable classification]].
 +
* declare the metaclasses to be used as filterable folder objects with the [[SYSCLS_HIERARCHYFILTERABLEFOLDER|hierarchy filterable folder classification]].
 +
* objects that should not be affected by the filtering do not have any of both classifications.
  
 
= Client =
 
= Client =
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
<Give step-by-step instructions, use images, ...>
+
* 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>\<Profile or Project name>.hfpreset). One filter setting consists of the Property ID to be filteres, and the level of filtering for this property, which is relevant when composing filter rules in the UI. Level 0 is a global filter rule, all other levels will depend from the objects already filtered by the predecessing filter level.
 +
<source lang="xml">
 +
<?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>
 +
<Level>0</Level>
 +
</HierarchyFilterSetting>
 +
<HierarchyFilterSetting>
 +
<PropertyName>MP_BRAND</PropertyName>
 +
<Level>1</Level>
 +
</HierarchyFilterSetting>
 +
                <HierarchyFilterSetting>
 +
<PropertyName>MP_MODEL</PropertyName>
 +
<Level>2</Level>
 +
</HierarchyFilterSetting>
 +
</HierarchyFilterSettings>
 +
</HierarchyFilterPreset>
 +
</source>
 +
* 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>
 +
      <MatchingMode>StartsWith</MatchingMode>
 +
    </HierarchyFilterRule>
 +
    <HierarchyFilterRule>
 +
      <PropertyName>MP_BRAND</PropertyName>
 +
      <Value>MÜLLER</Value>
 +
      <MatchingMode>Equals</MatchingMode>
 +
    </HierarchyFilterRule>
 +
    <HierarchyFilterRule>
 +
      <PropertyName>MP_MODEL</PropertyName>
 +
      <Value>SUPER</Value>
 +
      <MatchingMode>StartsWith</MatchingMode>
 +
    </HierarchyFilterRule>
 +
  </HierarchyFilterRules>
 +
</HierarchyFilterRulesProfile>
  
 
<!-- DO NOT REMOVE THIS -->{{Template:HowTo/End}}<!-- DO NOT REMOVE THIS -->
 
<!-- DO NOT REMOVE THIS -->{{Template:HowTo/End}}<!-- DO NOT REMOVE THIS -->
Line 20: Line 61:
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
  
[[Category:How-To]]
+
[[Category:How-To|Configure Hierarchy Filtering]]
 
+
 
[[Category:WinX|Configure Hierarchy Filtering]]
 
[[Category:WinX|Configure Hierarchy Filtering]]

Revision as of 07:54, 24 October 2017

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>\<Profile or Project name>.hfpreset). One filter setting consists of the Property ID to be filteres, and the level of filtering for this property, which is relevant when composing filter rules in the UI. Level 0 is a global filter rule, all other levels will depend from the objects already filtered by the predecessing filter level.
<?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>
                        <Level>0</Level>
                </HierarchyFilterSetting>
                <HierarchyFilterSetting>
                        <PropertyName>MP_BRAND</PropertyName>
                        <Level>1</Level>
                </HierarchyFilterSetting>
                <HierarchyFilterSetting>
                        <PropertyName>MP_MODEL</PropertyName>
                        <Level>2</Level>
                </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>
     <MatchingMode>StartsWith</MatchingMode>
   </HierarchyFilterRule>
   <HierarchyFilterRule>
     <PropertyName>MP_BRAND</PropertyName>
     <Value>MÜLLER</Value>
     <MatchingMode>Equals</MatchingMode>
   </HierarchyFilterRule>
   <HierarchyFilterRule>
     <PropertyName>MP_MODEL</PropertyName>
     <Value>SUPER</Value>
     <MatchingMode>StartsWith</MatchingMode>
   </HierarchyFilterRule>
 </HierarchyFilterRules>

</HierarchyFilterRulesProfile>


See also