Objects are created and edited in so-called object editors. Object editors share various common features, but also have features that are particular to the object type. Depending on the object type you want to create or edit, the corresponding object editor is displayed.
In this chapter only the common features shared by all object editors will be described. For details on the individual sections of each object editor, see the description of the corresponding object in the Object Reference.
Object editors always consist of an object outline showing an overview on the currently open editor and the actual editor which is displayed as a tab in the editor area of Desktop for Eclipse.
The following example shows a Module editor the object editor for a Module object:

Each object editor contains the following elements:
|
Component |
Function |
|
Shows a tree structure representing an overview of the currently open object and allows quickly navigating through the editor. |
|
|
Contains all attributes and parameters defining an object. Depending on the object type, the editor consists of various sections. If multiple objects are open at the same time, one tab will be shown for each open editor in the editor area. |
|
|
Tab header |
Part of the editor. Displays the corresponding object type icon followed by the object type which is replaced dynamically by the object name when typing it in. If too many object editors or dialog flows are open at the same time so that they do not all fit into the editor area, a symbol |
|
Object editors consist of a number of sections in which the properties of the objects are configured. Each object editor consists of two ore more major sections, divided into various subsections. There is always only one major section, like Definition, Event Handling and so on, displayed in the editor at a time. Each major section consists of various subsections. |
|
|
Depending on the object type, two or more major sections are available to configure an object. Major sections are represented by the first level entries in the Outline. In the corresponding editor there is always only one major section of an object visible at a time. Each major section consists of one or more subsections. |
|
|
Depending on the object type one or more subsections are available within the major sections described above. They contain the actual attributes and parameters defining an object. |
|
|
Each section is indicated by a section header in the editor and in the Outline. Depending on the type and level of indentation section headers show a static title or change dynamically based on user input made for instance in a label field of that section. |
|
|
Indicate a specific status of a section, i.e. if the section contains required fields, has been modified, filled, or over-linked with an autonomous object. |
|
|
Name field |
To enter a unique name for the object. Entering a name is mandatory and an object cannot be saved without a name. |
|
Within an editor various field types are used for providing and editing the object properties. See Editor fields below for details on the available field types. |
The Outline is always related to the object displayed in the currently active editor and is displayed automatically when opening an object or switching to an already open one. It shows a tree structure representing an overview on the respective object.
The Outline allows quickly navigating through the editor. By selecting a section header in the Outline the corresponding section will be displayed in the editor. You can either select a section in the Outline by clicking it with the left mouse button or navigate through the Outline with the arrow keys on your keyboard.
Depending on the object type the Outline shows two or more major sections represented by the first level entries, and its corresponding subsections below.
Several decorators in the Outline support the user in quickly getting an overview on what sections have been modified, filled or over-linked with an autonomous object. Also, all areas that require an input in order to define a valid object are highlighted. For details refer to decorators below.

If the Outline has been closed, it can be re-opened by doing the following:
1. Open the Window menu, select Show View and click Other
2. In the dialog that comes up, expand the folder General located at the top of the list.
3. Select Outline from the list and click OK.
The editors show the actual content of an object divided into various sections containing all attributes and parameters to define the object.
There is always only one major section (like Definition, Event Handling, etc.) displayed in the editor at a time. Each major section consists of various subsections.

Several decorators in the section headers support the user in quickly getting an overview on what sections contain required fields, or have been modified, filled or over-linked with an autonomous object. For further details refer to Section headers and to Decorators below.
If multiple objects are open at the same time, one tab will be shown for each open editor in the editor area.

Click a tab header to bring the corresponding editor to the front. In order to close an editor, click the Close button
on its tab header. To close all currently open editors at once right-click any tab header and from the context menu, select Close All.
Depending on the object type, two or more major sections are available to configure an object. Major sections are represented by the first level entries in the Outline. In an editor there is always only one major section of an object visible at a time. When switching the major section in the Outline the editor also switches to the respective content.
The following major sections are available, depending on the respective object type:
|
Major Section |
Content |
|
Definition |
Available in every object editor. The most important information for the internal dialog flow and the external representation of the object is available in this area of the object editor. For details on the Definition section of a particular object type refer to the Object Reference. |
|
Pre-/Postprocessing |
Only available if a precondition can be specified for an object type. Depending on dialog information at call time, this precondition controls whether an object is processed or not. Additionally, many objects allow specifying a sequence of objects here to be processed before or after their own processing. For details see Pre-/Postprocessing in the Object Reference. |
|
Event Handling |
Allows specifying event handling in the case of exceptions (No Input, No Match, or System Errors) as well as help options. This information is inherited by nested objects to allow a consistent Voice User Interface (VUI) design. For details see Event Handling in the Object Reference. |
|
Navigation |
Allows defining system and custom navigation for an object. This information is inherited by nested objects to facilitate a consistent Voice User Interface (VUI) design. For details see Navigation in the Object Reference. |
|
Tuning |
In this section, tuning parameters for an object may be specified that are passed to the media platform or processed by VoiceObjects Server. For details see Tuning in the Object Reference. |
|
Properties |
Available in every object editor. All standard properties like descriptions, time stamps, etc. are maintained within this area. For details see Properties in the Object Reference. |
|
OSDM |
Only available in the Module editor to define OSDM parameters. For details see Module in the Object Reference. |
|
Security |
Available in all configuration object editors. In this section, security settings are specified. For more information on controlling access using the Security section, refer to Access Control in Chapter 2 User Management Basic Topics in the Administration Guide. |
|
Libraries |
Only available in the Project Version editor to link libraries into your project version. For more information see Linking a Library into a Project Version in Chapter 3 Repository Browser. |
Depending on the object type one or more subsections are available within the major sections described above. They contain the actual attributes and parameters defining an object.
Example: Title, Welcome Message, Object Sequence, Goodbye Message, and Options in the Definition section of the Module editor:

For detailed information on the individual features of every parameter see the description of the respective object type in the Object Reference.
Each section is indicated by a section header in the Outline as well as in the corresponding editor. Generally section headers consist of two parts. Depending on the type and level of indentation the left part either shows a static title or changes dynamically based on user input made for instance in a label field of that section. The right part typically contains information that is dependent on the respective section the section header belongs to. This can be parameters selected in drop-down lists (e.g. language, occurrence, events etc.), but also a defined layer condition or simple text input may be displayed here.
![]()
The example above shows the section header of an Output item.
In this example the left part of the section header shows the label Ask for Help, which has been specified in the Label field of the corresponding Output item and which replaces the static default text Output item. In the right part, information about the selected language, occurrence and channel is given. For reasons of clearness some properties are only displayed if their value differs from the default value. The channel for instance is only shown on the section header if not set to default whereas language and occurrence are always displayed even with their default values.
In the editors, there are also context menus available on the section headers, providing commands for manipulating the section. See Editor Context Menus below for details.
Moreover, several decorators indicate if a section contains required fields, has been modified, filled, or over-linked with an autonomous object. For details refer to decorators below.
The following decorators are used in Desktop for Eclipse to indicate a specific status of a section.
All sections and fields that require a user input to specify a valid object are highlighted as mandatory. If a particular property is required (e.g. the VSN within a Service object) the background color of the editor field is different (sand-colored when using the arctic blue theme of Desktop for Eclipse).
![]()
In addition, the corresponding section header and all parent sections up to the major section are also highlighted with the required background color.

The required background color will be reset to the default color once the field has been filled or modified. When all required fields within a section have been filled, the color of the corresponding section header will also be reset to default. To support rapid prototyping Desktop for Eclipse allows saving an object without filling all required fields. Note that an object can not be saved without specifying a name.
To indicate that a section includes changes that have not been saved yet the dirty flag
is used, which also appears on the tab header of the corresponding editor. For reasons of consistency and clearness the dirty flag will be inherited to all parent sections up to the corresponding major section.

After saving the object the dirty flags are removed from the section headers as well as from the tab header.
If at least one setting within a section has been defined or modified the corresponding section header will show the filled icon
to indicate that this section contains user input. The filled icon
will also be inherited to all parent sections up to the corresponding major section (see the example screenshot above). If all properties of a section are reset to their default value (e.g. when selecting Clear from the section header context menu) the filled icon
is removed from the section header.
Some sections that represent an embedded object (e.g. Welcome Message within a Module object) may be over-linked by an autonomous object, by dragging and dropping either an existing object from the Repository Browser, Object Browser or Search Result onto the corresponding section header, or a new object using the Object Palette. If a section has been over-linked the over-link icon
will be shown on the corresponding section header followed by the name of the autonomous object.
![]()
In order to remove the over-linked object right-click the section header and select Clear reference.
Editors provide several types of input fields to specify the various properties that define an object.
For details on the particular properties of each object type refer to the Object Reference.
For information on the context menus on editor fields see Context menus on fields below.
Text fields allow entering individual input. This can either be a single line or a multiple line field.

Some text fields also allow linking an object type that can be evaluated at call time (e.g. Variable, Expression, Script or Layer object).
![]()
Others allow linking objects into it combined with entering individual input.

Objects can be linked in certain objects like Output, Log, and Resource Locator either by typing in this shortcut notation manually, or by dragging them from the Object Browser, Search Result, or Object Palette into the text field.
The following object types can be linked:
· [O:Output_Name] for Output objects,
· [V:Variable_Name] for Variable objects,
· [C:Collection_Name] for Collection objects,
· [E:Expression_Name] for Expression objects,
· [X:Script_Name] for Script objects,
· [A:Audio_Name] for Audio objects,
· [M:Video_Name] for Video objects,
· [S:Silence_Name] for Silence objects,
· [L:Layer_Name] for Layer objects.
When typing in the closing bracket, Desktop for Eclipse validates the object name. If an object with the given name does not exist in the current project, the reference will be displayed immediately as <?V:Sumof rebates?> (and analogously for Output, Collection, Expression, Script, Audio, Video, Silence, and Layer objects). In this case, check whether you have typed the name of the object correctly and whether the referenced object really exists. Also, validation fails if the object name contains square brackets. You may still save the object even if some of the references are invalid. These references will be ignored when processing the object. When opening and saving the object the next time, the references will be validated again.
In case an object from a library is to be added, use the following notation instead:
[V:LibraryName/VersionName#Variable_Name]
and similar for all other types of objects.
Objects referenced using the shortcut notation can be edited by double-clicking them. The corresponding object editor will open up. Object references are removed from a field by deleting the corresponding reference manually.
List fields allow selecting input from a drop-down list.

Some of the list fields also allow linking an object type that can be evaluated at call time (e.g. Variable, Expression, Script or Layer object).
![]()
Other list fields allow entering individual input instead of or combined with a selection from a drop-down list. In this case you make a selection from a drop-down list first and press the RIGHT ARROW key to place the cursor behind the entry in the respective field in order to add individual text to the selection.
Reference fields allow linking autonomous objects.
Depending on the section in which a reference field is used the object types that can be linked may differ.
![]()
Layer fields are used for defining a layer condition, which is done by linking a layer state into the layer field. Once a layer condition has been linked the layer operator or layer state can easily be changed by left-clicking onto the layer operator or layer state. This brings up a small context menu listing either the two layer operators or all available layer states.

Layer fields also allow linking autonomous objects, but this is restricted to object types that can be evaluated as a Boolean condition at call time (Variable, Expression, or Script object).
![]()
Check boxes allow selecting an option.
![]()
Most check boxes also allow linking an object of any object type that can be evaluated as a Boolean condition at call time (Variable, Expression, Script or Layer object).
![]()
Some sections contain description fields, which are most often related to a list field in the same section. Based on the selection made in the list field the description field displays the corresponding description. It is not possible to edit a description field.

File browsing fields allow browsing for a file on the file system. The filename can also be entered manually if the file is not available yet.
![]()
File browsing fields also allow linking autonomous objects, but this is restricted to object types that can be evaluated at call time (Variable, Expression, or Script object).
![]()
Most list fields that allow selecting input from a drop-down list provide an auto-complete functionality. In Desktop for Eclipse this means that if you enter for example just a single letter the first entry that applies to the selection will be entered into the field and the drop-down list will jump to the respective entry.
Example: if you enter F in any Language field Finnish will be entered into the Language field as the first entry in the drop-down list starting with F and the drop-down list will jump to the entry Finnish as well.
Use the DOWN ARROW key and the UP ARROW key to move up and down within the list.
With the PgnDw and PgnUp keys you can jump to the next or the previous set of entries in the list. Use the END key to get to the last entry and the POS1 key to get to the first entry in the list.
i8Note: Refrain from using the numpad of your keyboard when entering dots or commas as the respective key is interpreted different according to your current locale. Use the keys for comma and dot on the main part of the keyboard instead.
You can either navigate through object editors by using the Outline or directly within the editor. In the Outline the mouse as well as the keyboard arrows can be used for navigation.
To expand or collapse a section, click its section header in the Outline or in the editor. If a section contains multiple object items they may be expanded or collapsed all at once. To expand or collapse all items right-click the corresponding section header and from the context menu select Expand All or Collapse All.
In the editor, you can use the Tab key to jump to the next field. Note that all sections that are currently collapsed are ignored in this case and the cursor will jump to the first field of the next expanded section. Fields that do not allow user input but require for instance an object to be linked (e.g. the Layer fields) will be skipped.
To open the object editor of a linked autonomous object double-click it in the current editor. This will open up the object editor of the selected object in a new tab and bring it to the front.
@8 Tip: Use the Eclipse shortcut CTRL + F7 (and CTRL + SHIFT + F7) to jump from one view to the other, which is especially useful for switching between an editor and its outline.
There are two kinds of context menus available in object editors.
Right-clicking a section header opens up a context menu which shows a selection of the following commands depending on the respective section:
|
Menu Command |
Function |
|
Add item |
Adds an item to the embedded object definition. |
|
Clear item |
Clears the current item. |
|
Remove item |
Removes the current item from the embedded object definition. |
|
Remove all items |
Removes all items from the embedded object definition, leaving just a single empty item. |
|
Expand All |
Expands the current section and all its subsections. |
|
Collapse All |
Collapses the current section and all its subsections. |
|
Clear reference |
Removes the object reference that has been linked over the embedded object definition. |
|
Clear |
Clears the entire section. If an object has been linked into it, it will be removed. |
|
Save as |
Saves an embedded object as an autonomous object. |
Right-clicking any field within a section opens up a different context menu. Again, depending on the respective field a selection of the following commands is provided:
|
Menu Command |
Function |
|
Cut |
Cuts the selected text and copies it to the clipboard. |
|
Copy |
Copies the selected text to the clipboard. |
|
Paste |
Pastes the text from the clipboard to the current cursor position. |
|
Select all |
Selects the entire text in a field. |
|
Clear |
Clears the current field and resets it to its default value. |
In addition to specifying parameters by entering individual input or selecting input from a drop-down list (see Editor fields above) or using the context menus, objects are commonly manipulated in editors by drag & drop operations.
Drag & drop operations consists of two parts, namely first dragging either a new object from the Object Palette or an already existing one from the Object Browser or Search Result and secondly dropping it wherever you want to have it in the editor.
To visualize where an object is going to be added or inserted various indications are given when dragging an object over the editor:
· A field that changes the background color indicates that the dragged object can be dropped into this field.
· A section header that changes the background color indicates that the dragged object can be dropped onto this section header to replace the embedded object definition with an autonomous object.
· An empty item that comes up indicates that the object will be inserted at this position, which can be between two objects, before or after an object.
· If an object is dragged onto an existing one in the editor the existing object gets highlighted. Dropping the dragged object will replace the selected object in the editor.
You can either add new objects, existing objects from the current project or objects from a library project.
To add a new object, do the following:
1. In the Object Palette click the desired object type, drag it and drop it at the position in the editor where you want to insert it. An empty object editor of the selected object type opens up.
2. Specify the properties of the new object. Saving and closing the object will automatically insert it at the selected position in the editor and add it to the Object Browser.
To add an existing object, do the following:
· In the Object Browser or the Search Result click the object you want to add to the editor, drag it and drop it at the position in the editor where you want to insert it.
You can either replace an object with a new or an already existing object.
To replace an object with a new object, do the following:
1. In the Object Palette click the desired object type, drag it and drop it onto the object in the editor you want to be replaced.
2. Specify the properties of the new object. Saving and closing the object will automatically replace the selected object in the editor with it and add the new object to the Object Browser.
To replace an object with an existing object, do the following:
· In the Object Browser or the Search Result click the object you want to replace an object with, drag it and drop it onto the object you want to be replaced.
Instead of linking objects into editor fields there is also the possibility to over-link an entire embedded object (e.g. Welcome Message within a Module object) with an autonomous object.
To do so, select either a new object from the Object Palette or an existing one from the Repository Browser, Object Browser or Search Result, which corresponds to the object type of the embedded object. Drag the selected object and in the editor drop it onto the section header of the embedded object you want to be over-linked. In case of a new object, specify its properties and save and close it.
The section of the embedded object will be over-linked with the autonomous object, indicated by the over-link icon
on the corresponding section header (see Decorators above).
You can either re-order objects within a Sequence object or object items within any object type that contains items (for instance Menu items in a Menu object, Output items in an Output object, etc.).
· To re-order object sequences just click the object you want to move, drag it and drop it at the desired position within the Sequence object.
· To re-order object items just click the section header of the object item you want to move, drag it and drop it at the desired position within the corresponding object.
To remove an object from the editor, do the following:
1. In the editor, right-click the object you want to remove.
2. From the context menu that comes up, select Clear. If the object has been linked over an embedded definition it has to be removed by using Clear reference from the context menu of the corresponding section header.
To remove an object item from the editor, do the following:
1. In the editor, right-click the section header of the object item you want to remove.
2. From the context menu that comes up, select Remove item.
Some object editors (e.g. Audio object, Grammar object) not only allow linking other objects but also external file resources. In order to browse for an external file on your file system, click the Browse button
shown at the end of the corresponding editor field.
This will open up a file selection window.

Select a file and click Open to link it into the editor field.
To leave the File Selection window without linking a file, click Cancel.