It’s time for another entry in our “tips and tricks” series on VoiceObjects Developer Edition. Today we want to take a closer look at the editor outline view and how you can use it to quickly find your way in complex object definitions.
Take a look at the List object below (we’re using the Neon theme here for maximum impact):

Feeling lost yet? Don’t! The outline’s here to help.
At its top level, the outline shows all the sections that can be defined for a specific object. All object types have the Definition and the Properties sections. Other sections vary depending on the object type. For example, objects representing input states (such as the Input or Menu object, or indeed our List object) have Event Handling and Tuning sections.

Just like the editor itself, the outline uses color coding to indicate required sections. A section is shown as required as long as it contains at least one undefined required field or sub-section. By expanding the marked sections using the “+” buttons you can drill down into these sub-sections.

Click on a section header in the outline to open the respective section in the editor. If necessary, the editor will scroll to bring the section into view.

As you define some of the fields in the editor, the color coding of the sections changes and you see the “(…)” icon indicating that the respective section contains entries. In our example we start by filling the Data Definition section:

The Voxeo VoiceObjects platform uses a full object-oriented approach for maximum re-usability, so in particular you can always utilize autonomous objects in place of embedded ones. As an example within our List object, we utilize existing autonomous Output objects instead of defining embedded ones for the Welcome and No Data messages. To do this, simply drag the Output objects on the respective section headers. As they drop into place, the chain link icon symbolizes the reference. In addition, the respective section and all its parents are marked with the “*” icon to indicate unsaved changes.

But the outline doesn’t just show information, it can also be used to modify the object. Right-click on a section header in the outline to get a context menu with options. In the example shown above, you can clear the reference to the autonomous object.
One of the places where the outline really shines is when working with sets of items. The Voxeo VoiceObjects tools use this concept in many places; a straightforward example are output items within an Output object:

Each item is represented by a separate entry in the outline. By default, these entries summarize the key settings made for the respective item – for output items these are the language, the occurrence level, and layer switches. If you define a label for an item, this is used instead.
The more items you have – and in multi-lingual applications using personalization and random prompting there can easily be quite a number – the higher the benefit.

Click on any item in the outline to open it, and to simultaneously close all other items that may be open in the editor on the same nesting level. This reduces visual clutter and makes working with items very efficient, even when there are many of them. Also, using the right-click context menu in the outline, you can add, remove, and clear items without the need to switch to the editor itself.
What we’ve shown here for output items works the same way, of course, for menu items, event handling items, grammar items – just any items you can think of. Isn’t consistency a wonderful thing?
So in summary, the outline provides you with
- a quick overview of sections with content through the “(…)” icon;
- a quick overview of sections with unsaved changes through the “*” icon;
- a quick overview of sections with required fields through color coding;
- a quick indication of linked autonomous objects through the chain link icon;
- an efficient way of navigating to specific places in the object definition;
- an efficient way of modifying the object definition;
- the most efficient way of dealing with sets of items.
In a word: The outline is your friend. Make sure you treat it like one, and you’ll never be lost again.
–Incidentally, to give credit where credit is due: The title line is from the Talking Head’s “The Lady Don’t Mind”. Great stuff, if you happen to like it.