A wizard is a kind of user interface that presents a user with a sequence of screens (most widely implemented as dialog boxes). A wizard is usually cut out specifically to implement a certain task, a complex, infrequent or unfamiliar one that a user may find difficult to perform. At each step, a user fulfils the wizard instructions and navigates to the next screen. If any amendment to data provided at one of previous screens is required, a user may get back and enter the correct values. Wizards may support non-linear navigation allowing a user to skip one or more steps, which is defined by the wizard logic and user supplied data.
In general, there are two models of the wizard behavior:
- Progressive: at each step, a wizard performs one or more operations according to the user entry; such operations are irreversible.
- Final cut: as a user navigates between the wizard screens, a wizard collects data but does not act on it. It is only after a user clicks the Finish button that the wizard performs all the required operations.
The Bitrix platform provides a special wizard API since version 6. 6.5.2.