Skip to main content

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:

  1. The customer selects the cupboard shape at the beginning (e.g. "corner cupboard", "chest of drawers", "sloping roof")
  2. This selection should remain fixed throughout the entire configuration
  3. 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​

  1. Open the editor of your configurator
  2. Select the feature that you want to lock
  3. Click on the edit icon
  4. Navigate to the Rules area
  5. Activate the
    Loading...
    option
  6. Save the changes
  7. 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​

  1. Only block strategically important features

    • Key decisions such as product type, category
    • Features that define the basic product structure
  2. Avoid excessive locking

    • Too many locked features can block the rule engine
    • The flexibility of the configurator suffers
  3. 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
  4. 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
Tip

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.