This chapter describes how to work with projects within VoiceObjects Desktop for Web.
A project provides a collection of objects, which define one or more applications. A project within VoiceObjects can have multiple project versions.
If you have just entered Desktop for Web the Open Project window opens up automatically upon login (except for controllers who will get straight to the main Desktop window).
To return to the Open Project window when you have already been working in the main Desktop window do the following:
1. On the menu bar, click File.
2. In the File menu, click Open Project.
As always, to access the Open Project window, you need to have the appropriate rights.
Also depending on your user role the representation of the Open Project window may vary slightly.
For more information on the different user roles and their privileges and restrictions see Chapter 2 User Management Basic Topics in the Administration Guide.

The Open Project window displays a project selection list containing all projects and its project versions you have access to. If you are logging in for the first time the project selection list will be empty.
Clicking a project expands a list displaying all available project versions for this project (at least one). Clicking a project version opens it up. See also Open a Project and a Project Version.
Projects or project versions that have been locked by you are indicated by a green Lock icon
in front of their names. Projects or project versions that have been locked by any other user are indicated by a red Lock icon
in front of their names. They may be viewed but not altered.
A yellow Lock icon
in front of a project version indicates that the entire corresponding project has been locked either by you or by any other user. In all cases a tooltip displays the name of the user locking it.
For details see Lock/Unlock a Project or a Project Version.
A yellow triangle icon
in front of a project indicates that the respective project has been created with a previous version of VoiceObjects Desktop. For details see Open a Project and a Project Version.
Right-clicking a project or a project version opens up the respective context menu providing several commands described below.

These commands have the following functions, which will be explained in more detail below.
|
Menu Command |
Function |
|
Rename |
Opens up a text box to rename the selected project. |
|
Copy |
Creates a copy of the selected project. For details see Copy a Project. |
|
Delete |
Deletes the selected project. For details see Delete a Project or Project Version. |
|
Lock/Unlock |
Locks or respectively unlocks the selected project. For details see Lock or Unlock a Project or Project Version. |
|
Properties |
Opens up a window displaying the standard properties of the selected project and allows modifying them. For details see Modify the Project or Project Version Properties. |

These commands have the following functions, which will be explained in more detail below.
|
Menu Command |
Function |
|
Publish |
Creates a copy of the selected project version. For details see Publish a Project Version. |
|
Delete |
Deletes the selected project version. For details see Delete a Project or Project Version. |
|
Lock/Unlock |
Locks or respectively unlocks the selected project version. For details see Lock or Unlock a Project or Project Version. |
|
Properties |
Opens up a window displaying the standard properties of the selected project version and allows modifying them. For details see Modify the Project or Project Version Properties. |
To create a new project, click Create New Project (enabled only if you have the appropriate rights).
By clicking Control Center, administrators may open the main Desktop window in Control Center mode without selecting a specific project. For more information on the different Desktop modes see Desktop Modes in Chapter 3 Desktop for Web Elements.
Click Exit if you want to leave Desktop for Web.
To open a project and a corresponding project version, do the following:
· In the Open Project window, select one of the available projects from the project selection list and click it.
· A list with all available project versions (at least one) will be displayed below the project name. Click a project version to open it.
The Desktop window will open up containing all objects belonging to the selected project version.
Projects or project versions that have been locked by you are indicated by a green Lock icon
in front of their names. Projects or project versions that have been locked by any other user are indicated by a red Lock icon
in front of their names. They may be viewed but not altered.
A yellow Lock icon
in front of a project version indicates that the entire corresponding project has been locked either by you or by any other user. In all cases a tooltip displays the name of the user locking it.
For details see Lock/Unlock a Project or a Project Version.
A yellow triangle icon
in front of a project indicates that the respective project has been created with a previous version of VoiceObjects Desktop. To open it you first need to upgrade your project definition to be compatible with the current version of VoiceObjects Desktop.
Click the project you want to upgrade and in the upcoming window click OK to start the metadata upgrade process.

Running the metadata upgrade will create a copy of your project. The existing project name will be assigned to the new project definition while the old project definition will be indicated by the existing project name followed by a timestamp.
After the metadata upgrade, the new project is automatically opened.
If a Service object references an object of your previous project as a start object you need to update this service. Replace the start object by the corresponding object of the new project. For more information on start objects in services see Chapter 2 Servers and Services the Deployment Guide.
You can create a new project either after just logging into Desktop for Web or later while you are already working with it.
To open the New Project window when you have just logged into Desktop for Web do the following:
· In the Open Project window, click Create New Project (button is only visible if you have the appropriate rights).
To open the New Project window when you are already working with Desktop for Web, do the following:
· From the File menu, select New Project (menu option is only available if you have the appropriate rights).
The New Project window opens up.

To create a new project, do the following:
1. Enter project information:
Project name field:
Enter a name for the new project (mandatory).
Project description field:
Provide a short description for the new project (optional).
Project version name field:
Enter a name for the project version (mandatory and set to Version 1.0 by default).
Project version description field:
Provide a short project version description (optional).
2. Select the check box Create as library, if you want to create a new library project.
A library is a reference project that can be linked into other projects. This allows you to re-use its objects within various applications.
Library projects behave like other projects except that they can only have a single project version and cannot themselves use libraries.
3. If the new project or library project should be accessible for everyone within your site, select the check box Allow access to everyone. For more information on managing sites see Chapter 3 User Management Managing Sites in the Administration Guide.
4. Click Create and Open. Your new project is created and the main Desktop window opens up.
The name of the new project is added to the project selection list. A library project is indicated by a Library icon
.
Click Back if you want to leave the New Project window without creating a project.
After creating a project you can optionally specify a list of users who will have permission to access the project. To do so, open the Project editor by doing one of the following:
· In the Project Home Page, click the Project icon
.
Or
· From the File menu, select Configure Project.
On the Security tab, specify who has access to your project. For more information on controlling access via the Security tab, refer to Access Control in Chapter 2 User Management Basic Topics in the Administration Guide.
VoiceObjects Desktop lets you copy either an entire project including all its project versions or just create another project version of a project (see Publish a Project Version).
To copy an entire project, do the following:
1. In the Open Project window, point to the project you want to copy.
2. Right-click it, and from the context menu select Copy.

The Copy Project window opens up.

1. In the Target project name field enter a name for the target project. Optionally, you may enter a project description.
2. Click Copy to start the copying of the project.
Click Cancel, if you want to leave the Copy Project window without copying the project.
You can create several project versions for one project e.g. one for development, one for testing and so on. Each version can be established and run as an active service on a server.
In Desktop for Web, you can duplicate a project version either in the project selection list or while already staying in the respective project version.
To publish a project version from within the project selection list, do the following:
1. In the Open Project window, point to the project version you want to publish.
2. Right-click it and from the context menu select Publish.
To publish a project version you are already staying in, do the following:
1. On the menu bar, click File.
2. From the File menu, select Publish Project Version.
In both cases the Publish Project Version window opens up.

In the New Project Version field, enter the name of the new project version. By default, the name of the current project version followed by 1 is provided (Tutorial -> Tutorial 1). If the name of the project version is already followed by a number, the number is increased by 1 (Tutorial 1 -> Tutorial 2).
1. Optionally, you may enter a project version description in the Project Description field.
2. If you select the check box Create empty project version the project version will be completely empty (except for the system expressions). This might be useful for example in case you want to import an entire project version that has been modified outside the project.
3. If you select the check box Switch to new project version the new project version will be opened after being created. If the check box is clear you will either stay in the project selection list or in the original project version, depending on where you came from.
4. To create the new project version, click Publish.
Click Cancel, if you want to leave the Publish Project Version window without publishing the project version.
i8Note: When publishing a new project version the corresponding service will not automatically be adapted to the new version. If you want to continue working in the new project version you need to modify the Service object accordingly. In the Service editor, link the respective object from the new project version into the Start Object field.
VoiceObjects Desktop lets you lock projects and project versions to prevent them from being modified or deleted.
To lock a project or a project version within Desktop for Web, do the following:
In the Open Project window, point to the project or project version you want to lock.
Right-click it and in the context menu click Lock/Unlock.
The corresponding project or project version will be locked, which is indicated by a green Lock icon in front of its name in the selection list.
The following Lock icons may appear in front of a project or project version with the following properties:
|
Icon |
In front of a Project |
In front of a Project version |
|
|
Green Lock icon: |
Green Lock icon: |
|
|
Red Lock icon: |
Red Lock icon: |
|
|
Not available |
Yellow Lock icon: |
i8Note: A project cannot be locked if a project version or even a single object inside a project version has been locked by any other user. Likewise a project version cannot be locked if any object inside it is locked by someone else.
For details on locking/unlocking single objects see Lock or Unlock Objects in Chapter 7 Basic Commands.
For details on how to quickly find all locked objects within a project version via the object status option see Search Objects in Chapter 7 Basic Commands.
Locked projects or project versions can only be unlocked by the user who locked them or by an administrator from the same or higher level.
To unlock a project or project version do the following:
In the Open Project window, point to the locked project or project version you want to unlock.
Right-click it and in the context menu click Lock/Unlock.
i8Note: If a Server or Site Administrator unlocks a project or project version, this overrides and removes all locks on the project, project version and on all objects, which have been set by other users (as long as they do not have a higher role). Vice versa, if a Server or Site Administrator locks a project or project version this overrides all locks made by other users.
See also Lock or Unlock objects in Chapter 7 Basic Commands.
VoiceObjects Desktop not only lets you export single objects (see Export objects in Chapter 7 Basic Commands) but also entire project versions. Thus, applications built with VoiceObjects can easily be shared among departments, business units, or partners.
To export a project version within Desktop for Web, do the following:
1. On the menu bar, click File.
2. From the File menu, select Export Project Version. The Export window opens up.

3. In the Location field, provide a location for the export file. By default the import_export folder of your VoiceObjects installation is displayed.
i8Note: The location must be a valid physical directory path accessible on the machine running VoiceObjects Desktop.
4. In the Filename field, provide a name for the export file. By default, the name of the project version combined with its version number is used with blanks being replaced by underscores. If no file extension is given the extension .xml will be added automatically.
i8Note: Depending on the operating system there might be restrictions for the filename, e.g. German umlaut characters are replaced by ? on Linux.
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 for instance useful when creating a template application or a template object.
The check box Include library objects in the export is only visible when your project contains library objects. In case you want to export a project version together with its library objects refer to the paragraph Export a project version with library objects below.
6. Click Export.
A status message is displayed: Please wait. Export is in progress. Depending on the number of objects to be exported, the export may take between a few seconds and a few minutes.
When the export is finished, another status message is displayed: The project version has been exported successfully.
7. Click Close to finish the export.
If a project version references one or more libraries, the additional check box Include library objects in the export is displayed when opening the Export window.
If it is selected, which is the default, all library objects are included in the export file.
Note, that after the export the library objects are treated as standard objects. This means that when re-importing a project again that has been exported together with its library objects, the original library objects can no longer be distinguished from the standard objects and are integrated into the standard object category folders.
If you want to move the project version along with all referenced libraries to a new repository, the check box Include library objects in the export needs to be clear. This has the effect that only the references to the library objects will be exported. Moreover, the following steps need to be processed in exactly the order described below.
First export the selected project version:
1. On the menu bar, click File and from the File menu, select Export Project Version. The Export window opens up.
2. In the Export window, clear the check box Include library objects in the export and select VoiceObjectsXML as the export format. Click Export.
Next, export all referenced libraries:
1. Open a library referenced in the project version and select Export Project Version from the File menu to open up the Export window.
2. Select VoiceObjectsXML as the export format and click Export.
For each referenced library repeat the steps 1-2.
Next, switch to the new repository:
This can be done on the same machine by changing the Metadata Repository connection in the VoiceObjects Desktop and VoiceObjects Server configuration files, which then requires restarting the corresponding Desktop and Server processes. Alternatively, you can transfer the export files to a separate VoiceObjects installation.
Next, import the previously exported libraries into the new repository:
1. Create a new library and enter a name that matches exactly the name of one of the exported libraries.
2. On the menu bar, click Tools and from the Tools menu, select Import Object from File. The Import window opens up.
3. Browse for the corresponding library export file (i.e. the one that matches the name of the currently created library) by clicking the Browse button
to the right of the Filename field.
4. Select the import mode Import all objects and click Import.
For each exported library repeat the steps 1-4.
Next, add the previously imported libraries to the new project version in the new repository:
1. Open the project version in the new repository.
2. On the menu bar, click File and from the File menu, select Configure Project Version. The Project Version editor opens up.
3. Switch to the Libraries tab.
4. Add all originally referenced libraries to the project version by browsing for them via the Context Menu button
to the right of the Library field.
5. In the Project Version editor, click Save and Close.
Finally, import the project version export file.
1. On the menu bar of Desktop for Web, click Tools and from the Tools menu, select Import Object from File. The Import window opens up.
2. Browse for the corresponding library export file by clicking the Browse button
to the right of the Filename field.
3. Select the import mode Import all objects and click Import.
Once the import is finished the project version has been successfully transferred and all references to libraries are re-established.
Reviewers have read-only access to projects to inspect and review applications. They cannot make any changes to the application but can attach annotations to project versions to document their findings. Note that Reviewers need to be invited to projects by other users, in order to access them.
For more information on user roles and their privileges refer to Chapter 2 User Management Basic Topics in the Administration Guide.
To enter a reviewer annotation to a project version within Desktop for Web, do the following:
1. On the menu bar, click File.
2. From the File menu, select Enter Reviewer Annotation. This command is only available for users with the Reviewer role. The Reviewer Annotation window opens up.

3. In the Annotation field, enter an annotation for the project version.
4. Click Save to save the annotation.
The annotation will be added to the project version properties. To view the project version properties click the Project Version icon
in the Project Home Page, or select Configure Project Version from the File menu.
An extract of the latest reviewer annotations (up to 300 characters) is also displayed on the Project Home Page.

i8Note: The annotation cannot be edited later on, neither by any other user nor by yourself.
When creating a project, you can optionally choose to create it as a library. A library is a reference project that can be linked into other projects. This allows you to re-use its objects within various applications.
Library projects behave like other projects except of that they can only have a single project version and cannot themselves use libraries.
To link a library into a project, i.e. actually into a project version, do the following:
In the Object Browser, right-click the Libraries folder and from the context menu select Configure Libraries. The Project Version editor will open up with the Libraries tab in the front.
Alternatively, you can open the Project Version editor by clicking the Project Version icon
in the Project Home Page or by selecting Configure Project Version from the File menu. In these cases you first have to switch to the Libraries tab.

1. Click the Context Menu button
to the right of the Library field and in the context menu click Browse.
2. In the Search Result window, select a library project and click it. The selected project will be linked into the Library field.
If you want to add more than one library click the Add Button
in the toolbar to get a new empty row.
3. Finally, click Save and Close.
VoiceObjects Desktop lets you delete either entire projects or just one project version.
To delete a project or project version within Desktop for Web, do the following:
1. In the Open Project window, point to the project or project version you want to delete.
2. Right-click it and from the context menu, select Delete.

A confirmation window opens up on which you have to confirm your deletion by clicking Yes.
Projects or project versions that are locked by any other user cannot be deleted.
i8Note: The permission to delete an entire project or a project version depends on your user role. For further information ask your administrator. Server or Site Administrators can delete locked projects or project versions even if there are still some locked project versions or locked objects inside it (if not locked by a higher user).
8Caution: The Delete command removes projects and project versions permanently and cannot be undone!
Each project or project version has several properties (project name, description, etc.), most of them being specified at the time they were created (see Create a Project). These properties can be modified later on.
If you want to modify the properties for the current project or project version do the following:
1. In the Project Home Page, click the Project icon
or the Project Version icon
.
Or
2. From the File menu, select Configure Project or Configure Project Version.
If you want to modify the properties for any project or project version do the following:
1. In the Open Project window, point to the project or to the project version for which you want to modify the properties.
2. Right-click it and from the context menu, select Properties.

On the Properties tab of both editors, you can modify name and description or enter additional information. A check box at the bottom indicates if the project is locked. For more information on the Properties tab see Properties in the Object Reference.
In addition, the Project editor contains a Security tab, on which you can modify the security settings of a project. For more information on controlling access via the Security tab, refer to Access Control in Chapter 2 User Management Basic Topics in the Administration Guide.

The Project Version editor contains a Libraries tab from which you can link project libraries into your project version. For more information see Link a Library into a Project.
On the toolbar, click Save and Close to store changes permanently.
Closing a project is equivalent to exiting Desktop for Web:
1. On the menu bar, click File.
2. From the File menu, select Exit. Desktop for Web and the current project will be closed.
8Caution: In order to save all modified objects you need to close all open editors by clicking Save and Close before exiting Desktop for Web. Any changes not saved before exiting will not be stored.