Saturday, January 26, 2013

CZ: Understanding Valid and Complete Configuration

This is very common question among Configurator Developers: What is Valid Configurator and What is Complete Configuration? What is the difference between the two?
Order can be booked with only valid and complete configuration.

COMPLETE:
Configuration is said to be complete if all mandatory inputs have been provided. Alternatively, Incomplete is referred as Unsatisfied as well. Configuration can be incomplete/unsatisfied because of node definition (Structure) or because of Rules.
For example, if there is an option feature with min/max as 1/1, then atleast 1 option selection has to made for it. If user did not make any selection, then configuration will remain incomplete. For some features, you can specify if they need user input while creating the feature. Those can make Configuration incomplete if value has not been provided.
Configuration can be incomplete due to rules as well. For example, if there is a rule like
A Implies AnyTrue(B, C)
then if A is selected in Configuration, either B or C must be selected (Configurator Original Engine cannot select any option on its own). If none of B or C is selected, configuration will remain incomplete. The rule will be said as Unsatisfied Rules, and you can chose to display your own message for it in the rule definition.

VALID:
Configurator is said to be valid if none of the rules are violated or none of the Resource is over consumed.
If there is a violation in the configuration, its status will be marked as invalid. If any integer feature has maximum defined value as 100, and if user tries to enter 200, Configurator will accept input but it will make the configuration invalid.
Usually in rule case like BomModel Requires (IntFeature <= 100) will throw immediate violation when IntFeature value entered is more than 100, Configurator does not accept value in such case - Configurator will not prevent user from creating invalid configuration.

No comments:

Post a Comment