How can I protect features from rule changes?
In some cases, a characteristic should be set manually by the user and must not be changed by the automatic rule evaluation. The "Lock feature for rule engine" option is available for this purpose.
Use case
Imagine a cabinet configurator:
- The customer selects the cupboard shape at the beginning (e.g. "corner cupboard", "chest of drawers", "sloping roof")
- This selection should remain fixed throughout the entire configuration
- However, there are validity rules for other features, e.g:
- For pitched roof: Width must be between 200-400 cm
- For chest of drawers: width must be between 80-200 cm
Problem without blocking: If the customer enters a width of 150 cm for "pitched roof" (invalid value), the rule engine would automatically switch to "chest of drawers" to create a valid condition.
Solution with blocking: The "Cupboard shape" feature is blocked. The rule engine can no longer change the value, even if this results in temporarily invalid combinations.
To lock a feature
- Open the editor of your configurator
- Select the feature that you want to lock
- Click on the edit icon
- Navigate to the Rules area
- Activate the Loading...option
- Save the changes
- Publish your configurator
What does the blocking do?
Behavior with locked features
- The user can still change the value manually
- The rule engine may not overwrite the value
- Other characteristics are still adjusted by rules
- The locked value remains fixed, even if this results in conflicts
Example
For a configurator with locked feature "cabinet shape":
Situation:
- Schrankform: "Dachschräge" (gesperrt)
- Breite: 150 cm (vom Benutzer eingegeben)
G ültigkeitsregel:
- Dachschräge erlaubt nur Breite 200-400 cm
Ohne Sperrung:
→ Regelengine ändert "Schrankform" auf "Kommode"
→ Problem: Unerwünschte Änderung
Mit Sperrung:
→ "Schrankform" bleibt "Dachschräge"
→ Breite 150 cm bleibt ungültig markiert
→ Benutzer muss Breite korrigieren
Dealing with invalid states
If a characteristic is locked, situations may arise in which the rule engine cannot find a valid solution because the locked value may not be changed.
Visual information for the user
- Invalid values are visually highlighted
- The user receives an error message with instructions
- The affected characteristics are clearly named
Best practices
-
Only block strategically important features
- Key decisions such as product type, category
- Features that define the basic product structure
-
Avoid excessive locking
- Too many locked features can block the rule engine
- The flexibility of the configurator suffers
-
Combine with sensible validity rules
- Define clear value ranges for dependent characteristics
- Use "Hide values" where appropriate, but not as a replacement for validity rules
-
Inform the user
- Add helpful descriptions
- Explain why certain combinations are not possible
Debugging
When developing with locked features, it is important to understand when and why the rule engine cannot find a solution.
Notes in the Admin Panel
- Locked features are displayed in the debugging tool
- The problematic features are named if they cannot be solved
- You can see whether a locked feature is the cause
Typical problems
Problem: "The rule engine cannot find a valid solution"
- Cause: A locked characteristic has a value that is not compatible with any rule
- Solution: Check the validity rules or temporarily unlock the characteristic
Problem: "User complains about missing options"
- Cause: Locked value restricts the selection too much
- Solution: Extend the validity rules or reconsider the blocking
Alternatives to blocking
Before you block a characteristic, check these alternatives:
1. hide values
- Hides invalid options from the selection
- Less drastic than blocking
- Disadvantage: Can lead to empty selection fields if the current value is hidden
2. structured steps
- Place important decisions in early steps
- Later steps build on this
- Advantage: User understands the dependencies better
3rd conflict dialog
- Let the user decide for themselves in the event of conflicts
- Advantage: More transparency and control for the user
Summary
Locking features is a powerful tool for special use cases:
✅ Use blocking when:
- Basic product decisions should not be changed automatically
- The user must have full control over certain features
- You want to deliberately force a manual correction
❌ Avoid blocking if:
- Flexible automatic rule evaluation is desired
- The rule engine should find optimal combinations
- You are unsure whether blocking is necessary
Start without blocking and only add it if you need to solve a specific problem. In most cases, the rule engine works best without restrictions.