• Contents

General Handler Authoring Practices

At the beginning of every handler

  • Insert a Write Trace step that identifies the handler name and that it started. The IP.log trace log only shows when a handler finishes. It does not indicate when a handler starts.

  • Assign blank or null values to all assignment steps.

Build to the right

Design your handler so that the steps flow down and fill the screen but not so far that you have to scroll down to see the steps. Then connect and start over at the top. As the handler gets larger, add columns of steps to the right. This makes it easier to scroll through the handler since you only have to scroll to the right and not down. A variation would be to reverse the layout and make it so you scroll down but never to the right to view the handler.

Double monitors and/or high resolutions

Get a video card that can support dual monitors or high-resolution setting to minimize the amount of scrolling you'll need to do.

Extend step to show whole selection step

Expand step size to show the values and the step label.

Use one Selection step instead of multiple condition steps

This may seem obvious but it is a common mistake.

Identify data type of variables in name

Use "Hungarian Notation" to prefix variable names with the type of variable. For example, a string variable name would be prefixed with "str". A list of string would be "lstr". Look at the default handlers for examples. The Queue Period Stats handlers are a good example.

Link steps as integers take up less space

Many handler authors use "link" steps to clean up link lines. The link steps are usually just dummy assignment steps for a variable called Link. Instead of creating Link as a string variable, make Link an integer. Integers take up less space.

Store information subject to change outside of handlers

Design handlers so as to avoid making it necessary to open the handler to make small changes. Use server parameters, IA tables or database tables to store the information like directory paths, file names, server names, external numbers for blind transfers, or anything else that may need to be changed.

Copy & paste to new handler to get rid of unused variables

After making many changes to a handler, select all the steps (Ctrl+A) and then copy and paste the steps into a new handler. This will remove any un-used variables and will renumber the steps.

No need to reboot server to initialize accumulators

Just end the accumulator server using the Task Manager and let it restart on its own.

Create custom attributes to store default attributes that are not stored

Certain default call attributes such as ANI/DNIS string are not populated by default. Make a point of initializing these call attributes.

ACD Queue Tips

Database Practices

Documentation Practices

Efficiency Practices

Handler Best Practices

Limiting the Impact on Interaction Processor

Overall Project Tips

Overview of Building Handlers and Subroutines


Troubleshooting Tips