HomeGuidesRecipesAPI
HomeGuidesAPILog In

Conditions vs. Rules

The difference between Conditions and Rules, and their use and applicability is frequently confused.

This is due mostly to the setup looking very similar in Design, however, there are some key differences.

The main difference is that Conditions control what is active and/or visible in a Project, whereas Rules control the output of an Auto Logic Answer.

Conditions are able to be placed on many elements in your Project; such as Pages, Questions, Group Logic Answers, Documents, Actions and Workflow Transitions. This means that Conditions essentially have over-arching control over how a Project displays and performs.

Rules are not able to be associated with so many elements. Rules are simply used on an Answer to an Auto Logic Question.

This does not mean that Rules are without their use! This simple difference actually makes Rules very useful, and this becomes apparent when you consider the main time that Auto Logic Rules are calculated by Infiniti's engine: Generation.

While Conditions have to be evaluated constantly while someone is using a Project, Rules are under no such constraint. They can, therefore, be more complicated, as they know that the information they are referencing is complete. This is why Rules can reference Questions in Repeating Pages/Sections and evaluate them as a whole ("At least one must match" or "every answer must match"). Conditions can not do this because they have to be evaluated on the fly as someone uses the project - the impact on performance could be too great.

Conditions and Rules are "cousins", but the difference is that Conditions are flexible while Rules are powerful.

While there are minor exceptions, consider Rules as determining what happens when the Project is generated (such as inserting content or applying styles) and Conditions as determining what happens while the Project is being used in Produce (such as hiding/showing Questions).