Develop > Wizards > Wizards Overview > About creating a wizard

About creating a wizard

The Wizard tool enables implementers and administrators to add wizards within Service Manager that assist users with certain tasks, such as adding contacts to a database, escalating a Service Desk record to the applicable Service Manager module, and creating a new configuration item type for Configuration Management.

Functionality in a wizard record can include any or all of the following functionality:

  • Creating records
  • Selecting records from a database
  • Modifying the current record
  • Executing expressions (RAD or JavaScript), processes, and format control
  • Asking for user input
  • Stacking wizards to run in succession

You may find it helpful to review the embedded, out-of-box wizards. These wizards offer a variety of functionality, such as:

  • Create a User (the User Quick Add Utility)
  • Escalate an Interaction
  • Reject a Change
  • Add a CI Type
  • Add a Contract

You can view these wizards by clicking Tailoring > Wizards, and then clicking the Search button.

In addition to simplifying repetitive user tasks, Wizards are very useful for processes that require the user to supply prerequisite information. For example, during the interaction creation cycle you could present a wizard panel flow for the operator to enter data. Based on how the caller replies to questions regarding the problem, the wizard determines which panels the operator sees next. While the wizard is executing, the operator-entered data may be accumulated in a file variable that is returned to the calling application when the wizard is complete.

The wizard can display a form and execute a Format Control record or process. The instructions in the Format Control record where there is a condition on “initial” that evaluates to true will be executed before the form opens. The instructions where there is a condition on “add” that evaluates to true will be executed after the user clicks OK.

Wizards are also very helpful when multiple complex decisions must be made in order to reach a conclusion. For example, Change Management approval requirement conditions are normally based on the data contents of one field in the change record. An example of such a condition is risk.assessment in $L.file="1." However, there may be circumstances where the approval requirement condition is based on the values of several different fields. For instance, there may be three fields that affect the approval requirements: division, area, and department. Hard coding all the possible combinations of these field values into condition statements requires a great deal of work and would be difficult to maintain. You can define these conditions in wizard records that do not display forms but that allow you to call a subroutine or execute standard Service Manager processing statements (similar to Format Control calculation statements). These options allow for the manipulation of record data. At runtime, the wizard acts as a decision tree that results in significant processing reductions compared to that involved in the original method of coding.