7         Basic Commands

This chapter explains all relevant context menu commands for manipulating objects in Desktop for Eclipse which are provided on various context menus in the Repository Browser, the Object Browser, the Dialog Designer, and the Search Result.

For further information on these areas and their specific context menus refer to the corresponding chapters in this guide.

Also, refer to the relevant chapters for information on some other functionalities for manipulating objects, e.g. drag & drop operations are described in Chapter 5 – Dialog Designer and Chapter 6 – Object Editors.

In addition, some commands described here are accessible through the VoiceObjects menu on the menu bar of Desktop for Eclipse or through its toolbar. See also Menus and Bars in Chapter 2 –VoiceObjects Perspective.

Edit Objects

Once an object has been created it can be edited by doing the following:

In the Repository Browser, the Object Browser, the Dialog Designer, or the Search Result, select an object and double-click it. Alternatively, right-click it and from the context menu, select Edit.

The corresponding object editor will open up displaying the object outline and the actual editor in the working area. For more information on object editors see Chapter 6 – Object Editors.

Display Dialog

In the Dialog Designer, dialog flows are displayed in a graphical representation. This helps you to easily design and develop applications.

To display the dialog flow for a particular object of the current project, do the following:

1.        Select an object either in the Object Browser, the Dialog Designer of another object, or the Search Result and right-click it.

2.        From the context menu that comes up, select Display Dialog. The corresponding dialog flow will be displayed in a new Dialog Designer located as the active tab in the editor area of Desktop for Eclipse.

For further details on the Dialog Designer see Chapter 5 – Dialog Designer.

Display and Validate Dialog

The validation of objects checks the general object structure with regard to missing but required objects.

To enable the validation do one of the following:

·          On the toolbar of Desktop for Eclipse, click the Display Options button  to open the Display Options window (only works if a Dialog Designer is displayed as the active tab), and select Enable Validation.

·          In the Object Browser, the Dialog Designer, or the Search Result, right-click any object you want to validate. From the context menu that comes up, select Display and Validate. The corresponding dialog flow will be displayed in a new Dialog Designer with validation enabled.

If validation is enabled for a dialog flow invalid objects are indicated by red object names.

i8Note: The validation looks for missing required property settings within objects. It does not check if all required properties are set to reasonable values and does not perform any logical tests. Therefore, a dialog flow that is valid in the Dialog Designer may still fail when being processed.

Copy Objects

The command Copy is often used when a new object is required that differs only slightly from an existing one, and the existing object is to be used as a template.

To copy an object, do the following:

1.        In the Repository Browser, the Object Browser, the Dialog Designer, or the Object Search, right-click the object you want to copy.

2.        From the context menu that comes up, select Copy. The corresponding object editor will open up.

3.        Enter a name for the new version of the object. By default the name is “Copy of <object name>”.


 

4.        Apply all other settings and save and close the editor.

The new object has been added to the project and can be found in the Object Browser or the Repository Browser (depending on the object type).

Delete Objects

To delete an object from the entire project, do one of the following:

If you want to remove the respective object from the current dialog flow and at the same time delete it from the entire project:

1.        In the Dialog Designer, select the object you want to remove and right-click it.

2.        From the context menu that comes up, select Remove and Delete.

If you want to delete the respective object from the entire project independent of its occurrence in any dialog flow:

1.        In the Object Browser, select the object you want to delete and right-click it.

2.        From the context menu that comes up, select Delete.

The Delete window will open up and ask you to explicitly confirm the deletion. Click OK to delete the object.


 

 

If no other object references the object you want to delete, it will be deleted immediately and the Delete window will be closed.

If the object is still referenced by other objects, it cannot be deleted right away. You have to remove these references first. You will get a corresponding error message and the existing parent objects will be loaded into the Search Result.


 

 

You can either edit the parent objects and remove the references to the object you want to delete, or delete the parent objects as well.

To edit a parent object, do the following:

·          Double-click the parent object, or right-click it and from the context menu that comes up select Edit.

The corresponding object editor will open up and you can remove the reference to the object you want to delete. For details see Chapter 6 – Object Editors.

To delete a parent object do the following:

·          Right-click the parent object and from the context menu that comes up select Delete.

The same process as described here will start for this object.

After you have removed the references or deleted the corresponding parent objects retry to delete the object. If all dependencies have been removed the object will now be deleted successfully.

i8Note: Referenced library objects and objects locked by any other user cannot be deleted but only be removed from the current dialog flow, except by administrators.

Rename Objects

To modify the name of an existing object, do the following:

1.        In the Repository Browser, the Object Browser, the Dialog Designer, or the Object Search, right-click the object you want to rename.

2.        From the context menu that comes up, select Rename, or press F2 on your keyboard. The current name of the object is displayed in a small text box in which it may be modified.


3.        After modifying the object name press the Enter key or click anywhere outside the text box to save the changes. Press the Escape key to cancel renaming the object.

Export and Import Objects

VoiceObjects Desktop provides export and import functionality to exchange objects between different environments, backup applications, apply changes made in the storyboard to the application, or to re-use an object outside the current project.

You can either export a single object (see Export objects) or a complete project version (see Exporting a Project Version in Chapter 3 – Repository Browser).

Import can be done from a file (see Import objects).

Export and import functions use the file-based VoiceObjectsXML format, i.e. during export a. VoiceObjectsXML file is created, and VoiceObjectsXML can be used as the source for an import.

Export objects

When exporting an object all its child objects are included.

To export an object, do the following:

1.        In the Object Browser, the Dialog Designer, or the Search Result, right-click the object you want to export.

2.        From the context menu that comes up, select Export.

The Export window will open up. The name of the selected object and its short description (if available) are displayed.


 

3.        In the Location field, provide the location for the export file. By default the import_export folder of your VoiceObjects installation is displayed. Either type in the path or search for a folder on the file system by clicking the Browse button  to the right of the Location field.

4.        In the Filename field, provide a name for the export file. By default, the name of the object is used with blanks being replaced by underscores. If no file extension is given the extension .xml will be added automatically.

5.        In the Export format field, select an export format from the drop-down list.
By default, VoiceObjectsXML is selected. This option generates a VoiceObjectsXML file, which allows developers to continue working on the application definition.
The option VoiceObjectsXML without ID creates a VoiceObjectsXML file without any IDs, which is useful for instance when creating a template application or a template object.

6.        The check box Include library objects in the export is only visible when your object references any library objects. If it is selected, which is the default, all referenced library objects are exported as well.
Note, that after the export the library objects are treated as standard objects. This means that when re-importing an object again that has been exported together with its library objects, the original library objects can no longer be distinguished from standard objects and are integrated into the standard object category folders.
If the check box Include library objects in the export is clear, only the references to the library objects will be exported. This is needed if you want to re-establish the reference to the library after importing the object definition into another project version.
Refer to Export a project version with library objects in Chapter 3 – Repository Browser for more details on how to handle this.

7.        Click Export.

i8Note: It is also possible to export an entire project version (see Exporting a Project Version in Chapter 3 – Repository Browser), including all objects of the project version regardless of their parent-child relationships. This is useful if you want to create backup copies of an application or transfer applications between different database repositories.

Import objects

Objects can be imported from VoiceObjectsXML files previously generated with the export function or by using the Storyboard Manager.

To import an object do the following:

1.        From the VoiceObjects menu, select Import.

The Import window will open up.



2.        In the Filename field, specify the name of the file you want to import. You can either type in the name or choose a file by clicking the Browse button  to the right of the Filename field.

3.        By default, VoiceObjects retains an object’s internal ID during importing. This has the advantage that when you re-import it again later on, the current version can be overwritten with an updated one. However, you may, choose to create new IDs for all imported objects by selecting the Generate new ID for all imported objects option.
Selecting the option Overwrite objects with the same name results in overwriting objects in your current project version if there are corresponding objects with the same name in the import file.

4.        Click Import to start the import process.

i8Note: If naming conflicts occur during the import (i.e. an object with the same type and name already exists in the current project), VoiceObjects automatically appends a time stamp to the name of the newly imported object (unless you selected the option Overwrite objects with the same name). A warning message will inform you that a naming conflict has occurred during import.

8Caution: When using PostgreSQL as database, the automatic renaming in case of import naming conflicts does not work due to database restrictions. Therefore, the import is aborted in this case.

Test Application

In Desktop for Eclipse, a single object or an entire application (represented by its start object) can be tested internally without deploying it on a VoiceObjects Server. This is done by using the Test Monitor.

The Test Monitor enables you to call the application by launching a separately installed media platform, to start the Debug Viewer or the Phone Simulator, which supports testing the application in the text and Web channel, and provides access to trace and log files.

The Test Monitor also supports a direct redeploy of the object or application that is currently tested.

To test an object by using the Test Monitor, do the following:

1.        In the Object Browser, the Dialog Designer, or the Search Result, right-click the object you want to test.

2.        From the context menu that comes up, select Test Application.

3.        The Test Monitor opens up and validates the selected object.

The Test Monitor will initially be displayed in the bottom right corner of the VoiceObjects perspective with its Overview tab in front. If the validation has succeeded, the name of the object currently tested will be displayed, followed by the name of the project and project version it belongs to. If the validation has failed, a corresponding error message will be shown instead.


 

The Test Monitor provides a wide variety of testing functionalities for the selected object.

i8Note: Resources required for the application, such as audios, grammars, or connectors, can either be provided on a separate Web server or by locating the files below the plugins\com.voiceobjects.eclipseDesktop_9.0.0\Resources\ folder of Eclipse, in which case they are accessible at localhost:8070/VoiceObjects/Resources/ (the default port on the embedded server).

Call

Right-clicking the Call button  opens up a context menu providing the following three options:


 

Call starts an either locally or remotely installed media platform and calls the application represented by the selected object.

Refer to Connecting to the Media Platform in Chapter 1 – Getting Started with Desktop for Eclipse for information on how to setup the connection to a media platform.

The text and Web options start the Phone Simulator, a Web-based tool integrated into VoiceObjects Desktop to test phone applications for the text and Web channel when no media platform is available. The Phone Simulator simulates the look & feel of such an application on a mobile device, providing the same user interface. This can be used both for testing and for demonstration purposes. For details refer to Phone Simulator in Chapter 4 – Service Deployment in the Deployment Guide.

@8  Tip: A left-click on the Call button  will automatically start the latest selected option.

Debug

Clicking the Debug button  will start the Debug Viewer to test the object in case no media platform is available. It displays the markup code that the server renders for each dialog step and provides interactive hyperlinks to navigate through the application. For details refer to Debug Viewer in Chapter 4 – Service Deployment in the Deployment Guide.

Tracing

The Tracing button  can be used to turn tracing on or off. The current status is indicated by a red (turned off) or a green (turned on) lamp in the upper right corner of the button. Once tracing is turned on corresponding trace files will be generated when calling or testing the application represented by the selected object.

In order to access the files do the following:

1.        Click the Session Tracing tab to bring it to the front.

2.        Double-click the trace file you want load into the Trace Viewer.

For details on how to use the Trace Viewer refer to Session Tracing in Chapter 5 – Logging and Tracing in the Deployment Guide.

Redeploy

The Redeploy button  in the upper right corner of the Test Monitor allows redeploying the current object definition. Clicking it will re-load the selected object, for instance after changing some of its properties or the related dialog flow.

i8Note: Do not forget to redeploy an object after applying any changes since otherwise the changes will not get effective.

Instead of redeploying the current object by clicking the Redeploy button , the whole Test Monitor can be re-loaded by selecting Test Application from the context menu of the selected or any other object.

In addition to the Overview and the Session Tracing tabs described above two more tabs providing access to log files are available in the Test Monitor. Server Logs contains all server-related errors and information, whereas Service Logs contains those for all services. For details on server logs and service logs refer to Server Logs and Service Logs in Chapter 5 – Logging and Tracing in the Deployment Guide.

The Test Monitor can be closed by clicking the Close button  in the upper right corner of its tab header.

Lock or Unlock Objects

An object can be locked to prevent it from being modified by any other user. This feature is useful during the development process if more than one designer is working on a project at the same time.

To lock or unlock an object, do the following:

1.        In the Repository Browser, the Object Browser, the Dialog Designer, or the Search Result, right-click the object you want to lock or unlock.

2.        From the context menu that comes up, select Lock/Unlock.

In the Repository Browser, the Object Browser, the Dialog Designer, or the Search Result locked objects are displayed with a Lock icon:
 - in green, indicating that the object has been locked by yourself,
 - or in red, indicating that the object has been locked by any other user.

Additionally, a yellow lock  icon on a project version folder in the Repository Browser indicates that the project version is implicitly locked as the corresponding project has been locked either by you or by any other user.

A locked object can only be modified or deleted by the user who locked it or by an administrator.

However, a locked object can be viewed by any user and can also be used within dialog flows, which means that you can add it, change its position, or even remove it from a dialog flow.

If an object is locked that contains child objects (like a sequence or a menu) you may still modify the child objects themselves but you may not add or remove any of them or modify their position within the parent object. So if a Sequence object is locked for example, you may not modify the sequence itself which means that you may not add, move or delete any referenced objects, but you may of course change the position of the Sequence object itself within the dialog flow.

If a Module object is locked, its embedded sequence is also locked automatically.

Enable or Disable Objects

Objects that are disabled will not be processed. The disable function is useful during the development or test phase of a project to disable single objects or complete parts of the application.

To enable or disable an object, do one of the following:

1.        In the Object Browser, the Dialog Designer, or the Search Result, right-click the object you want to enable or disable.

2.        From the context menu that comes up, select Enable/Disable.

Alternatively, you can select or clear the check box Disable Processing in the Properties section of the respective object editor.

In the Object Browser, the Dialog Designer, or the Search Result, disabled objects are grayed out and their name is written in italic.


 

Search Parent Objects

With the command Search Parent Objects you find out where a particular object is used. It lists all objects that reference the selected object. This is helpful to see which places are affected when modifying an object, or to check whether an object has already been introduced in all places where it is required.

To search for parent objects do the following:

1.        In the Object Browser, the Dialog Designer, or in the Search Result, select the object you want to see the parent objects for and right-click it.

2.        From the context menu, select Search Parent Objects.

3.        The Search Result opens up displaying the respective parent objects.

For details on searching for specific objects see Chapter 8 – Object Search.

Create Project Documentation

The project documentation functionality is used to document the overall structure as well as specific details of your project e.g. to present it to customers, for internal meetings and so on.

To create project documentation for a particular object, do the following:

1.        In the Object Browser, the Dialog Designer, or the Search Result, right-click the object you want to use as the start object for your project documentation.

2.        From the context menu that comes up, select Tools and then Project Documentation.

To create project documentation for the entire project version, do the following:

·          On the menu bar of Desktop for Eclipse, open the VoiceObjects menu and select Project Documentation.

In both cases the Project Documentation window opens up.

For further details on project documentation refer to Chapter 9 – Project Documentation and Storyboard Export.

Create Storyboard Export

Storyboards contain a list of all prompts of your application, in form of a Microsoft Excel document. They can be created for an entire project version or only a subset thereof (through a start object).

To create a storyboard export for a particular object, do the following:

1.        In the Object Browser, the Dialog Designer, or the Search Result, right-click the object you want to use as the start object for your storyboard export.

2.        From the context menu that comes up, select Tools and then Storyboard Export.

To create a storyboard export for the entire project version, do the following:

3.        On the menu bar of Desktop for Eclipse, open the VoiceObjects menu and select Storyboard Export.

In both cases the Storyboard Export window opens up.

For further details on storyboard export refer to Creating Storyboard Export in Chapter 9 – Project Documentation and Storyboard Export.

For further information on how to modify the view, edit and print the storyboard export file with the Storyboard Manager see the Storyboard Manager Guide.

Save Object as

The command Save as is used to save an embedded object as an autonomous object and only applies to embedded sequences in the Dialog Designer.

1.        In the Dialog Designer select the embedded Sequence object you want to save and right-click it.

2.        From the context menu, select Save as. The Sequence editor will open up.

3.        Enter a name and also a reference ID, if the original object has a custom reference ID, for the new autonomous Sequence object and save and close the editor.

You will return to the Dialog Designer. In order to replace the embedded Sequence object drag and drop the new autonomous Sequence object from the Object Browser onto the embedded Sequence object by simultaneously pressing the CTRL key.

Note there is also a Save as command available in some context menus in some object editors, e.g. to save an embedded output as an autonomous Output object. Also refer to Chapter 6 – Object Editors.