Use Cases for Category Facet Inheritance
These use cases demonstrate the effects of combining certain facet inheritance settings. Use these as a reference to help set up your own facet inheritance settings.
- Use case 1: Turn off inheritance for a single child category
- Use case 2: Turn off inheritance for an entire category branch
- Use case 3: Multiple inheritance chains within a category branch
- Use case 4: Unique inheritance chain within a category branch
- Use case 5: Multiple parents
- Use case 6: More examples of inheritance chains
Use Case 1: Turn off inheritance for a single child category
Suppose you want all categories in a branch to inherit facet customizations, except for a single category that does not. For example, all child categories under Shoes should inherit a facet rule of boosting the Price facet, but the Running Shoes category should only apply a facet rule of boosting the Color facet.
Step 1 - Go to the Category Inheritance Manager
The Category Inheritance Manager is located under Configurations → Settings → Category Inheritance Manager. You should be able to see your categories, as well as the facet inheritance settings.
For an explanation of the file icons in the rightmost column, see Inheritance Preview.
Step 2 - Turn on Pass Down for Shoes
With the default facet inheritance settings, nothing is passed down. Select the button in the first column to turn on Pass Down for Shoes. Now, all categories in the Shoes category branch are inheriting facet rules from Shoes.
Note the inheritance preview in the rightmost column. If you select a category, the row will be highlighted in blue and the preview column will display the facet inheritance influences from that category. For example, we selected the Shoes category, so the preview is showing how facet rules from Shoes are being passed down.
The blue file icon indicates an internal change in the facet rules for Shoes. The light blue file icons indicate external influences, which are the facet rules passed down from Shoes.
Step 3 - Turn off Receive From for Running Shoes
We want to set different customisations on Running Shoes instead of inheriting facet rules from Shoes. Select the button in the second column to turn off Receive From for Running Shoes. Now, Running Shoes will not inherit facet rules from Shoes.
If you select the Shoes category for preview, note that the light blue file icon is no longer present for Running Shoes.
Use Case 2: Turn off inheritance for an entire category branch
Suppose you want all categories in a branch to inherit facet customisations, except for a single category branch that does not. For example, all Sneakers should inherit a facet boost rule for Brand, but the Running Sneaker category branch should be controlled by the algorithm.
Step 1 - Go to the Category Inheritance Manager
The Category Inheritance Manager is located under Configurations → Settings → Category Inheritance Manager. You should be able to see your categories, as well as the facet inheritance settings.
Step 2 - Turn on Pass Down for Sneakers
With the default facet inheritance settings, nothing is passed down. Select the button in the first column to turn on Pass Down for Sneakers. Now, all categories in the Sneakers category branch are inheriting facet rules from Sneakers.
Step 3 - Turn off Receive From for Running Sneakers
We want the algorithm to control facet rules for Running Sneakers instead of inheriting facet rules from Sneakers. Select the button in the second column to turn off Receive From for Running Sneakers. Now, Running Sneakers will not inherit facet rules from Sneakers.
If you look at the inheritance preview for Sneakers, you can verify that Running Sneakers is no longer inheriting facet rules from Sneakers. Note that Wide Fit Running Sneakers is still inheriting facet rules from Sneakers, so we require one more step to turn off inheritance for the entire category branch.
Step 4 - Turn off Pass Through for Running Sneakers
We want the algorithm to control facet rules for the entire Running Sneakers category branch. Select the button in the third column to turn off Pass Through for Running Sneakers. Now, the inheritance chain from Sneakers will stop at Running Sneakers.
If you look at the inheritance preview for Sneakers, you will see that Running Sneakers and Wide Fit Running Sneakers are no longer inheriting facet rules from Sneakers. If there were additional category levels below Wide Fit Running Sneakers, they would also not inherit facet rules from Sneakers.
Use Case 3: Multiple inheritance chains within a category branch
In Use Cases 1 and 2, there was only one inheritance chain. That is, only a single category was passing down its facet rules. However, it is possible to configure multiple inheritance chains in a category branch.
Suppose you want all categories in a branch to inherit facet customisations and all categories in a subcategory branch to inherit another set of facet customisations. For example, all Shoes should inherit a facet boost rule for Price, and all Running Shoes should inherit a facet boost rule for Color.
Step 1 - Go to the Category Inheritance Manager
The Category Inheritance Manager is located under Configurations → Settings → Category Inheritance Manager. You should be able to see your categories, as well as the facet inheritance settings.
Step 2 - Turn on Pass Down for Shoes
With the default facet inheritance settings, nothing is passed down. Select the button in the first column to turn on Pass Down for Shoes. Now, all categories in the Shoes category branch are inheriting facet rules from Shoes.
Step 3 - Turn on Pass Down for Running Shoes
We want to start another inheritance chain from Running Shoes. Select the button in the first column to turn on Pass Down for Running Shoes. Now, all categories in the Running Shoes category branch are inheriting facet rules from Running Shoes.
If you look at the inheritance preview for Running Shoes, you can verify that Marathon Running Shoes is inheriting from Running Shoes.
Use Case 4: Unique inheritance chain within a category branch
In Use Case 3, there were two inheritance chains running through a single category branch. What if you wanted to have one inheritance chain in one category branch, and a different inheritance chain in another category branch?
For example, suppose you want all Basketball Shoes to inherit a facet boost rule for Brand from Shoes, and all Running Shoes to inherit a facet boost rule for Color.
Step 1 - Go to the Category Inheritance Manager
The Category Inheritance Manager is located under Configurations → Settings → Category Inheritance Manager. You should be able to see your categories, as well as the facet inheritance settings.
Step 2 - Turn on Pass Down for Shoes
With the default facet inheritance settings, nothing is passed down. Select the button in the first column to turn on Pass Down for Shoes. Now, all categories in the Shoes category branch are inheriting facet rules from Shoes.
Step 3 - Turn off Receive From and Pass Through for Running Shoes
We do not want the Running Shoes branch to inherit facet rules from Shoes. Select the buttons in the second and third columns to turn off Receive From and Pass Through for Running Shoes.
If you look at the inheritance preview for Shoes, you can verify that Running Shoes and Marathon Running Shoes are no longer inheriting facet rules from Shoes.
Step 4 - Turn on Pass Down for Running Shoes
We want Running Shoes to start its own inheritance chain. Select the button in the first column to turn on Pass Down for Running Shoes. Now, all categories in the Running Shoes category branch are inheriting facet rules from Running Shoes.
You can look at the inheritance preview for Running Shoes to verify that Marathon Running Shoes is inheriting from Running Shoes.
You can also look at the inheritance preview for Shoes to verify that Running Shoes and Marathon Running Shoes still do not inherit facet rules from Shoes.
Use Case 5: Multiple parents
If a category has multiple parents, then it will attempt to inherit all facet customizations from parents with Pass Down = On. Facet inheritance from multiple parents follows these rules:
-
If possible, merge all rules as a union.
- For example, if parent 1 has a facet boost rule for Price and parent 2 has a facet boost rule for Brand, then the child has boost rules for Price and Brand.
- For example, if parent 1 has a facet boost rule for Price and parent 2 has a facet boost rule for Brand, then the child has boost rules for Price and Brand.
-
Local customizations take priority over inherited customizations.
- For example, if parent 1 has a facet boost rule for Price and the child has a bury rule for Price, then the child has a bury rule for Price.
- For example, if parent 1 has a facet boost rule for Price and the child has a bury rule for Price, then the child has a bury rule for Price.
-
Nodes that are closer to the child category have higher priority than other parents.
- For example, suppose the child has a level 1 node with a facet boost rule for Price, and a level 2 node with a bury rule for Price. The child will have a facet boost rule for Price since the level 1 node is closer.
- For example, suppose the child has a level 1 node with a facet boost rule for Price, and a level 2 node with a bury rule for Price. The child will have a facet boost rule for Price since the level 1 node is closer.
-
If conflicts cannot be resolved by any of the above rules, then the parent node with the most recent updates (that is, the latest saved/edited timestamp) will have priority.
You can also select a single parent to inherit from, which will limit inheritance to the selected parent’s category path. See Multiple Parents Conflict for details.
Let’s look at the following example:
Sneakers has two parents: Training Shoes and Slip-On. Each category has Pass Down = On and Pass Through = On, so every parent category will pass down its facet customizations to Sneakers. The final facet customizations for Sneakers are Block A, Boost B, Boost D, Block X, and Bury F.
- Sneakers has Receive From = On, so it inherits from both inheritance chains.
- Sneakers has no local customizations, so all of its facet customizations come from its parents.
- Facets D, X, and F only have one customization among both chains, so their rules are simply merged into the facet customizations for Sneakers.
- Facet B has a bury rule at Shoes and a boost rule at Training Shoes. Training Shoes is closer to Sneakers than Shoes is, so Sneakers inherits the boost rule from Training Shoes.
- Facet A has a boost rule at Shoes, a bury rule at Sports Shoes and Formal Shoes, and a block rule at Slip-On. Slip-On is the closest parent to Sneakers, so Sneakers inherits the block rule from Slip-On.
- Remember that Receive From = Off only affects what that category inherits. Sneakers inherits the block rule for X from Formal Shoes, even though Formal Shoes and Slip-On have Receive From = Off.
Use Case 6: More examples of inheritance chains
In these examples, Category A has a facet customisation of A, Category B has a facet customisation of B, etc. Pay attention to each of the inheritance settings and how they affect the inheritance chains.
Example 6-1
Example 6-2
Example 6-3
Example 6-4
Example 6-5
Updated about 1 year ago