Version Control and Distribution System

VCDS User Guide


Table of Contents

1. Introduction
1.1. Trademarks
2. Starting and Stopping VCDS
3. System Tree View
3.1. Overview
3.2. Tree View Drop-Down Menu
3.3. Creating a Custom Tree View
3.3.1. Entry Options
3.4. Tree Operations Menu
4. Repository Tree View
4.1. Overview
4.2. Add a Directory
4.3. <Object> Repository Tree Operations Menu
5. Version History
6. Module View
6.1. Overview
6.2. Filter
6.3. Repository Status
6.4. Custom Table Views
7. Information View
7.1. Overview
7.2. Event Information View
7.3. Method Information View
7.4. Dialog Information View
8. Working With VCDS
8.1. Compare to…
8.2. Compare to Repository
8.2.1. Using a Different Compare Tool
8.3. Commit
8.4. Deploy
8.5. Replace with…
8.6. Replace with Repository
8.7. Show <Object> in Tree
9. VCDS Packages
9.1. Creating a Package
9.2. Adding Package Objects
9.3. Viewing Package Contents
9.4. Removing Objects from Packages
9.5. Dependencies
9.5.1. Creating a Package with Dependencies
9.5.2. Adding Dependency Objects
9.5.3. Adding Selected Objects to a Package
9.6. Deploying a Package
9.7. Updating the Package
9.8. Comparing Package Versions
9.9. Patches
9.10. Example Package Workflow
10. Auditing System and Repository Objects
10.1. Auditing System vs. Repository Objects
10.2. Audit Operations
11. Tear Offs
12. VCDS Menus and Toolbar
12.1. File Menu
12.2. Event/Method/ Dialog/Version Menus
12.3. View Menu
12.4. Tools Menu
12.5. Help Menu
12.6. Toolbar

Chapter 1. Introduction

Conflicting versions of NETeXPERT VSM™ events, methods, and dialogs can produce problems during the development and management of NETeXPERT systems. Longview Software’s Version Control and Distribution System (VCDS) is designed to help users avoid and resolve version conflicts and track version history, enabling smooth and efficient network management.

VCDS uses the open source Concurrent Versions System (CVS) to manage NETeXPERT objects. CVS must be installed prior to installing and using VCDS. VCDS stores NETeXPERT events, methods, and dialogs in the CVS repository.

When saving event, method, or dialog edits to NETeXPERT VSM, the user can use VCDS to compare the new version to the latest repository version and view any specific conflicts or differences in a color-coded display. The user can easily replace one version with another or deploy to any NETeXPERT system to immediately resolve conflicts or potential problems.

Changes to existing events, methods, or dialogs can be saved to the CVS repository. Saves are performed without overwriting the previous version.

When changes are saved to the repository, the new version is automatically assigned a new version number. This greatly facilitates tracking version history and comparing different versions.

VCDS can deploy and distribute NETeXPERT events, methods, and dialogs to multiple systems.

1.1. Trademarks

The following terms used in this document are trademarked properties of their respective owners:

NETeXPERT and VSM are trademarks of Objective Systems Integrators. Java is a trademark of Sun Microsystems, Inc.

Windows is a trademark of Microsoft Corporation.

All other brand or product names are trademarks or registered trademarks of their respective companies or organizations.

Chapter 2. Starting and Stopping VCDS

In Windows, VCDS can be started with the shortcut specified during the client installation. The shortcut can be created in the Windows Start Menu or in the Quick Launch Tray by the installer. The default installation location is:

C:\Program Files\Longview Software\VCDS Client\bin

The executable is vcdsClient.exe.

On UNIX machines, navigate to the installation location bin directory and start the vcdsClient.bin binary.

Starting VCDS opens the graphical user interface illustrated below. It is divided into four functional areas:

  1. System Tree View

  2. Repository Tree View

  3. Module View

  4. Information View

Chapter 3. System Tree View

3.1. Overview

The System Tree View panel displays all NETeXPERT systems registered with VCDS. A folder is displayed for each NETeXPERT system.

All System Tree View nodes are color coded and provide textual indication of the VCDS agent status. In addition to the “ACTIVE” state (green), the status may be “FAILED” (red) or “INACTIVE" (orange).

An “ACTIVE” state indicates that the agent is running and communicating with the VSM system. The “FAILED” state indicates that the agent was not shutdown gracefully. An “INACTIVE” state indicates the agent was shutdown gracefully, probably from a shutdown message issued from the VSM system.

Each system node can be expanded by:

  • clicking the plus sign to the left of the folder, or

  • selecting a folder and right-clicking to open the <Object> Tree Operations context menu. (Right-clicking on a node displays a blue box around the node. This serves as an indicator as to which node is opening the context menu.)

In the menu, select Expand All to open the folder. This displays the objects in a hierarchical view.

Each object icon is color-coded to indicate how it compares to the most current version in the repository. There are three possible color states: green if the object contents are identical to the version in the repository, red if it differs, and magenta if it does not exist in the repository.

In the System Events Tree View, manager class folders can contain three types of event folders; Regular Event, Context Event, and XML Event.

In the example below, the vsm60 system is selected. The LSFT manager class folder is open, displaying the Regular Event folder, which contains eight events.

Selecting objects in the System Tree View displays them in the <object> Module View, discussed in Chapter 6 of this guide. For more information on the Module View, see Chapter 6, Module View.

Four tabs are located above the System Tree View, one for each supported object (events, methods, dialogs) and the repository, labeled VCS (Version Control System). Selecting a tab displays the tree view for that object type.

3.2. Tree View Drop-Down Menu

The Tree View drop-down menu is used to change the Tree View display. You can create new custom tree views. However, the Default Tree View configuration cannot be edited.

The folders in the Default configuration are:

3.3. Creating a Custom Tree View

To create a custom tree view:

  1. In the System Tree View, click the button to the right of the Tree View drop-down menu.

The <object> Tree Views configuration window opens.

  1. Click the green plus sign (+) button located below the Tree Views list to add a new tree view configuration.

An Add Tree View dialog box opens.

  1. Enter the new tree view name and click the OK button.

Entries such as Class, Module Name, and Description can now be added to the View Configuration panel to define the hierarchy of the new view.

  1. To add a new entry, select the view from the Tree View list and click the green plus (+) button below the View Configuration panel. The Add New Entry dialog box opens.

  1. Make a selection and click the OK button. Your selection is added to the View Configuration panel. You may add as many entries as you wish.

Note: Some entries are more appropriate for one view than another, depending on the available data. For example, File Name is a valid entry for the Repository Tree View, but it is not logical for the System Tree or Module Views. Other examples are:

  • Revision State - Useful for the Module View as a column, or in the System Tree View, where folders are labeled ‘Different’, ‘Equal’, and ‘Not Found’.

  • Root Element Expression - Intended for use with the XML Event Type in the System Tree View.

  • AMO Timeout - References the Timeout check box in the Affected Object panel in Event Builder in the NETeXPERT Rule Editor.

The graphic below shows a Not Found folder as an example of an entry without a value.

VCDS does not prevent you from adding illogical or invalid entries.

  1. When you are finished adding entries, you can move selected items up or down in the list using the blue arrow buttons to the lower right of the View Configuration panel.

Use the red minus sign (-) button to remove View Configuration entries.

You can also remove Tree Views using the minus sign (-) button below the Tree Views panel.

3.3.1. Entry Options

The View can be modified further in the Entry Options panel. Configuring this panel filters the displayed view to match the Entry Options configuration.

You can create a filter that modifies the view by using the Field: drop-down menu and the Filter Pattern: text entry field. After selecting a Field to filter on, enter a match string or regular expression.

Matching entries are included or excluded according to the selected Include or Exclude radio buttons. The From Char: and To Char: fields can also be used to filter on a range of column or character numbers.

After clicking the OK button to save, you can change the VCDS Tree View display using the Tree View drop-down menu.

NOTE: Changing the Tree View configuration can take minutes, depending on the number of objects that require sorting. While the resorting is taking place, a message appears in the lower left corner of the screen asking the user to “Please wait… applying new tree configuration”.

3.4. Tree Operations Menu

The Tree Operations menu is accessed by right-clicking on the tree nodes or individual objects. Selecting an item from this context menu affects all objects under the node from which the context menu was selected.

For example, if the context menu is initiated from the top level “Default” tree node, the chosen action affects every object on all systems. If the context menu is initiated from a single system tree node, the chosen action affects every object under that single system.

NOTE: It is not possible to take actions from the context menu on multiple nodes in the tree. The action only takes place on the node where the context menu was raised.

The System Tree View context menu items are:

Expand AllOpens the tree hierarchy under the selected node.
Collapse AllCloses the tree hierarchy under the selected node.
Compare to...Opens a window containing a list of objects for comparing to the selected object.
Compare to RepositoryOpens the Compare window displaying the selected object compared to the latest version in the repository.
CommitCommits the object to the repository.
Add to PackageOpens an Add to Package window to select a package.
Review DependenciesOpens a Review Dependencies window to review package addition dependencies.
Deploy...Opens a Select System window to select a NETeXPERT system(s) for deployment.
Replace with... Replaces selected version with a different version or object from a different system.
Replace with RepositoryReplaces selected version with the latest version in the repository.

Chapter 4. Repository Tree View

4.1. Overview

The Repository Tree View displays all objects residing in the repository with the latest version number displayed to the right of the object icon.

The default Tree View configuration is Module & Path where Module is the name of the module in CVS, and Path is the directory path to the object in the repository. In the above example, the module name is nxidetest.

The Repository Tree View is used to view the latest version of an object. In the Repository Event tree view example below, the VCDSTestEvent event is selected. The latest version number, 1.9, is displayed beside the name.

4.2. Add a Directory

You can add new directories to the repository to further organize the tree.

To add a new directory:

  1. Right-click on a node to open the <Object> Repository Tree Operations menu.

  2. Select Add Directory.

The Add Repository Directory window opens.

  1. Enter a name for your new directory and click the OK button.

The directory is added to the repository.

The new directory is not displayed in the Repository Tree View until you commit an object to the directory. After committing an object to the new directory, the directory is displayed in the Repository Tree View.

You can create new directories to organize your repository of NETeXPERT objects in ways that makes sense to you. Organization categories might be by NETeXPERT manager class, geographic location, technology type, device name, vendor, or any other logical category you wish to use. Manager Class is one of the most commonly used categories.

The object type view is changed by selecting a tab above the System Tree View.

The VCS Repository tree view displays all objects in the repository - events, methods, and dialogs. The top-level folder identifies the location and name of the CVS working directory. In the example below, the CVS working directory is work, and is located on the C drive. It contains the module nxidetest.

4.3. <Object> Repository Tree Operations Menu

The Repository Tree View context menu items are:

Expand AllOpens the tree hierarchy under the selected node.
Collapse All Closes the tree hierarchy under the selected node.
Compare to System Opens a window containing a list of objects for comparing to the selected object.
Deploy...Opens a Select System window to select a NETeXPERT system(s) for deployment.
Add Directory Opens an Add Repository Directory window to add a directory to the repository.

New Repository Tree Views can be created and edited as discussed in Section 3.3, “Creating a Custom Tree View”.

Chapter 5. Version History

With any VCDS tab selected (Event, Method, Dialog or VCS tab), you can view the version history of an object by double-clicking it in the Repository Tree View.

Double-clicking an icon in a Repository Tree View displays the Version Control System Module view and the VCS Repository tree view which contains the events, methods, and dialogs from all registered NETeXPERT systems.

The version history of the object is displayed in the VCS Module View. The information displayed in the version history includes:

  • Revision - The revision numbers for all revisions of each selected object.

  • Date - The revision date/time stamp.

  • Author - The revision author (username) of the person creating/updating this version.

  • Commit Log - The log of changes created to describe the rationale for changes to the revision.

  • Revision Comment - Selecting a version from the list displays its Commit Log contents here. This is useful for viewing verbose Commit Logs.

At the top of the module view, a tab is displayed, labeled

<ManagerClass>.<ObjectName>.<ObjectType>

The extensions for ObjectType are:

  • Event - .evt

  • Method - .mth

  • Dialog - .dlg

You can open multiple objects’ version history simultaneously. Each tab remains open until closed.

When an object is committed to the repository, it is assigned the initial version number 1.1. Double-clicking an individual version displays its configuration in the Event Information panel below the version history list. A tab with the object name and version number is displayed at the bottom of the Event Information panel.

Chapter 6. Module View

6.1. Overview

The VSM <object> Module View displays information about each object in your VSM systems. Selecting a node in the System Tree View displays all objects under the node in the VCDS Module View. Selecting a single icon in the Tree View displays the single object in the Module View.

Object information is displayed in columns. The Total Count: is displayed in the lower right of the panel, and the Selected Count: of objects is displayed in the lower left.

In the System Events Tree View below, the Regular Event folder is selected. It contains four event icons.

The four events are displayed and one event is selected in the Module View.

In the above example, the Selected Count: is 1 and the Total Count: is 4.

The colors in the Module View have the same meaning as those in the Tree View:

  • Green – The version is identical to the latest version in the Repository.

  • Magenta – The item does not exist in the repository.

  • Red – The version is different from the version in repository.

6.2. Filter

A column or field Filter panel is available in the Module View to modify the display.

  • Field: drop-down menu - selects the field or column to filter on.

  • Text: entry field - specifies the string or UNIX regular expression to match.

  • Include / Exclude radio button – specifies how to apply the filter.

The Filter functions as you create it.

The red button is used to Reset the filter to the previous setting.

The Filter example below shows the Event field specified with Da.* as the regular expression to match and the Include radio button selected. The regular expression is applied to the selected field, or Module View column, Event. All events that have a name in the Event column that matches the regular expression pattern are displayed in the Module View. The result in this example is the single event named DavidEvent.

6.3. Repository Status

The Repository Status buttons are another way of filtering the Module table display. From left to right, the buttons select objects that are the same as the repository (green), different from the repository (red), or do not exist in the repository (magenta).

When a button is clicked, a red ‘X’ is displayed on the button and all objects matching that state are hidden from the display.

In the example below, there are four events; two matching the repository, and two that differ.

In the next example, we see that the first button is selected and has an ‘X’ on it, and the events that are identical to the repository (colored green), CA_OpenAlert2 and OpenAlert, are hidden.

6.4. Custom Table Views

You can create a custom Module View, or Table View, using the custom configuration button next to the Table View: drop-down list. The process is the same as customizing Tree Views as described in Section 3.3, “Creating a Custom Tree View”.

Clicking the custom configuration button displays the Event Table Views window. Table Views are listed in the lower left of the window. The Default table view may not be edited.

Selecting a table view displays its Entry items in the View Configuration panel. Selecting a View Configuraton Entry item displays it in the Entry Options panel in the lower right of the window.

To add a new item, click the green plus (+) button. To remove an item, click the red minus (-) button.

You can order the sequence of the View Configuration list using the blue up and down arrow buttons.

Note: The Entry Options panel is not used when creating Table Views.

Chapter 7. Information View

7.1. Overview

The Information View displays additional information about the selected object - event, method, or dialog. Double-clicking an item in the Module View populates the Information View with the object’s configuration.

7.2. Event Information View

In the example below, information about the VCDSTestEvent2 is displayed. For events, this information includes:

  • NETeXPERT System

  • Manager Class

  • Event Name

  • Parent Event Name (if any)

  • Type of Event – Event, Context Event, XML

  • Description

  • Event Rules

The event rules are displayed in tabs. The example below shows the ID Rule tab selected.

Immediately below the rule tabs is a Show Parent Rules check box. If checked, the parent event rules are displayed (if they exist).

The View Type can be displayed as Textual or Tabular by selecting the desired radio button.

When displaying object information, VCDS displays a tab containing the object name below the Information View. You can display multiple object configurations, resulting in the display of multiple tabs, allowing you to navigate among the different objects' configuraton information by selecting a tab.

7.3. Method Information View

The Method Information View displays:

  • Method Information

    • NETeXPERT System

    • Manager Class

    • Method Name

  • Description

  • Formal Parameters

  • Method Type – Gateway, Event, or Both

  • View Type – Textual or Tabular

  • Method Body

The View Type radio buttons and displaying multiple object name tabs functionality is the same as for events as described above.

7.4. Dialog Information View

Double-clicking a dialog in the Module View displays the dialog architecture in the Information View. The dialog name TestDialog is displayed in tabs above and below the Information View in the example below.

Double clicking a dialog Command State or Response State displays its configuration details. In the graphic below, the TestDialog TestCommand1 State is displayed. A tab is displayed at the top of the panel for each Command and Response that is opened.

Here the TestDialog DialogResponse1 Response State is displayed.

Chapter 8. Working With VCDS

This section discusses actions you can take to avoid problems with editing, updating, and managing NETeXPERT events, methods, and dialogs.

Selecting an object icon in the Tree View or in the Module View and right-clicking opens a context menu.

The following sections describe the menu item functions.

8.1. Compare to…

Selecting Compare to… displays a Select <object> window listing other objects with the same name in other systems (if they exist).

Selecting one of these objects and clicking the OK button displays a Compare: window with differences highlighted in a color code. The names of the compared objects are displayed in the window title bar. The originally selected object is displayed to the right in the window.

In this example, Gateway Analysis rules are color-coded as having been added (blue) and Event Analysis rules as having been modified (red).

The color coding legend is displayed in the lower left of the window and is as follows:

  • Blue – added

  • Green – removed

  • Red – modified

8.2. Compare to Repository

Selecting Compare to Repository in the context menu opens the Compare: window with version differences highlighted and color-coded. The originally selected object is displayed on the right side of the window. In the example below, you can see that compared to the version in the repository, a Gateway Analysis rule comment has been removed from the selected object, as indicated by the green color coding.

8.2.1. Using a Different Compare Tool

You can configure VCDS to use a different comparison GUI from the one supplied with VCDS. After installing your preferred comparison GUI, make the following entry to the bottom of the vcdsClient.lax file.

lsft.diff.cmd="full path to the compare tool program install location"

For example:

lsft.diff.cmd="C:/Program Files/ExamDiff/ExamDiff.exe"

The directory path must be enclosed in double quotes. In Windows, the default location of the vcdsClient.lax file is:

C:\Program Files\Longview Software\VCDS Client\bin

8.3. Commit

VCDS tracks the version history of objects only if they are put into the repository. This is done using the Commit function. VCDS saves the system version to the repository and automatically assigns it a new version number.

The very first time an object is committed to the repository it receives the version number 1.1. Each subsequent version number is incremented by .1. This numbering is not configurable.

To commit a version to the repository:

1. Select the object in the Tree View or the Module View and right-click to open the context menu.

2. Select Commit. Upon selecting Commit, VCDS displays a Commit Log Message dialog.

3. Enter the reason for the creation and commitment of this version and click the OK button. The Please Login dialog opens. You can commit without entering a log message (which is discouraged). If you click the OK button without entering comments, the Select an Option dialog opens.

Clicking the Yes button displays the Please Login dialog.

4. Enter your CVS user id and password and click the OK button. Your user id is recorded by VCDS and displayed as part of the version history record.

If the object name does not already exist in the repository, clicking the OK button opens a Select Repository Directory window.

5. Select the directory where you wish to store the object and click the OK button.

VCDS commits the object to the selected repository directory. If the object already exists in the repository, VCDS commits it without displaying the Select Repository Directory window. When the commit process is finished, VCDS displays the final commit status in the lower left corner of the VCDS GUI.

Note: Add to Package... and Review Dependencies are discussed in Chapter 9, VCDS Packages

8.4. Deploy

It is simple to deploy objects to other VSM systems using the Deploy… function.

To deploy an object to a NETeXPERT system:

  1. Select the object and right-click to open the context menu. (Selecting a node and Deploy… deploys all objects under the node.)

  1. Selecting Deploy… opens a Select Systems window with available NETeXPERT systems displayed.

  1. Selecting one or more systems and clicking the OK button opens the Confirm Deployment window.

  1. Clicking the OK button opens the Deployment Status window. The window displays a time stamp and (Starting) in blue text.

The Deployments panel displays:

  • The system to which you are deploying.

  • A date and time stamp for the deployment.

  • A folder containing the deployed object.

A successful deployment is indicated by the time stamp and (Finished) line displayed in green text.

The Auto-clear check box is not checked by default. When checked, closing the window clears the display.

A failure in the deployment is indicated by red text.

Selecting the failed object displays an error message in the Selected Status Message panel.

In the above example, an alert or event does not exist in the target system.

Errors in deployment can result for various reasons. For example, deploying an object into a system that does not contain the correct manager class causes the deployment to fail.

8.5. Replace with…

Selecting the Replace with… option opens a dialog box with a list of versions in other systems and the repository from which to select a replacement for the selected object version.

Upon selecting a replacement version and clicking the OK button, the Deployment Status window opens, and the replacement version is deployed to the original object’s system. A successful deployment displays the time stamp in green followed by Finished.

8.6. Replace with Repository

This selection is used when you wish to replace a version in your NETeXPERT system with the latest version from the repository.

The Deployment Status window displays the progress and result of the replacement.

8.7. Show <Object> in Tree

Use this option to quickly locate an object in the Tree View. This example uses an event to illustrate this function.

The same functionality exists for methods and dialogs.

Chapter 9. VCDS Packages

VCDS allows you to create groups of managed VSM objects called packages. Packages contain NETeXPERT events, methods, and dialogs, and serve as an efficient and convenient way to deploy multiple events, methods, and dialogs in a single object, or package.

Packages can also include other NETeXPERT objects - event, method and dialog references to attributes, for example, can be part of a package. This enables a single package to contain not only events, methods, and dialogs, but also object dependencies such as attributes.

Just as with events, methods, and dialogs, VCDS stores packages in the repository and version numbers are assigned as package changes are committed.

In VCDS, packages are displayed in the VCS tree view in the Packages folder.

9.1. Creating a Package

Package creation involves these steps:

  1. Create the package.

  2. Commit the package to the repository.

  3. Add repository objects to the package.

You can later modify the contents of the package as needed. If you modify any object in the package, you must commit the modified objects to the repository, and then update and commit the package.

To create a package:

  1. In the CVS tab File menu, select File | Create Package or right-click the Packages folder and select Create Package... . The Create Package dialog opens.

  1. Enter a name for the package and click the OK button. The Select Repository Directory window opens.

  1. Select a directory location to store the package and click the OK button. The new package is displayed in the VCS Repository Tree in the Packages folder with its icon colored red and no revision number.

  1. Commit the package to the repository. Right-click on the package icon and select Commit Package. The Commit Log Message window opens.

  2. Enter a log message. For example, enter the reason for creating the package and click the OK button. The Please Login window opens.

  3. Enter your login and password and click the OK button.

The package icon changes to green and the initial version number of 1.1 is displayed.

Packages can be modified by adding objects manually or auto-populated with updates based on specific parameters.

9.2. Adding Package Objects

You can add objects to the package from the system tree view or module table view. Events, methods, and dialogs must be stored in the repository before they can be added to a package. Some non-repository objects can be added to the contents of a package as well. For example, attributes and attribute types can be added to a package. See Section 9.5, “Dependencies” for more information on this.

Only repository objects can be added to a package. If you select an object from the system tree or module view that is displayed as different from the repository (red), and add it to the package, the latest version stored in the repository is added to the package. If you wish to add an object to the package that is not in the repository, you must first commit it to the repository before you can add it to the package.

To add objects to the package:

  1. In the system tree view or module table view, right-click on the object to be added and select Add to Package... from the Operations context menu. The Select a Package Definition window opens.

  1. Select the package definition to which the object is to be added and click the OK button. The Add to Package confirmation window opens.

  1. Confirm the object addition by clicking the OK button.

The object is added to the package. Because it is now different from the committed version in the repository, the package icon in the VCS tab tree is red.

  1. Right-click on the package and commit the new version to the repository. After entering your log comments and user id, the package icon turns green and the version number is incremented by .1 .

9.3. Viewing Package Contents

To view the contents of a package or any of its versions:

  1. In the VCS tab tree, double-click the package icon to display its version history.

  1. Double-click the version you wish to view. Its contents are displayed in the Package Information view. A tab opens at the bottom of the panel displaying the package name and version number.

The Package Information view displays Name and Description panels and a Contents panel.

The Contents panel displays package contents in a hierarchical tree view. The tree is organized by Package Administration export object types.

You can simultaneously view different versions of the same package.

9.4. Removing Objects from Packages

You can remove single nodes or objects from a package or select individual objects for removal.

To remove items from package contents:

  1. In the VCS tab version history list, double-click on the version you wish to modify. The Package Information view displays.

  1. In the Contents panel, select and right-click on the node or object you wish to remove. Or, to select individual objects for removal, hold down the Control key while selecting individual objects and right-click. The VCS Package Tree Operations context menu displays.

  1. Select Remove from Package or Remove Selected from Package. The Confirm Remove Package Entries window displays.

  1. Confirm your selections by clicking the OK button. The object is removed from the package.

  1. Save the package by selecting File | Save Package.

Since it is now different from the repository, it changes to red.

  1. Commit the package. Its color changes to green.

Note: If you remove an object from a package and add an object without first saving the package, the following message displays:

The resulting package contents will not reflect the object removal, so use caution when removing objects from a package without saving prior to taking additional action on the package.

9.5. Dependencies

Only those events, methods, and dialogs stored in the repository can be added to a package. Use the Review Dependencies feature to check the repository status of objects prior to their package addition and to view object references such as attributes and alerts. Successful package deployment requires that the referenced items already exist in the systems to which you are deploying unless you can include them in the package to be deployed.

An object may contain references to other objects, such as attributes or alerts, that may not exist in the system to which you intend to deploy. This can be checked prior to deployment. This is easily done by reviewing dependencies, as these object references are included in the Review Dependencies results.

Package-specific objects are attributes and attribute types, and they can be added to a package from the Review Dependencies window even though they are not stored in the repository. This is a convenient way to assure these object references are included in a package.

The following example checks dependencies for the VCDS class. All objects defined in the class are evaluated.

To review dependencies:

  1. In the system tree or module table view, select the class or object to check and right-click to open the Operations context menu.

  1. Select Review Dependencies. The Review Dependencies window opens with Dependencies:<System>.<Class> or Dependencies:<System>.<Class>.<Object> displayed above the panel.

This window displays objects in the selected class with the number of objects found in and missing from the repository and referenced objects that are package specific.

Package specific objects are attribute/attribute type references found in events, methods, and dialogs.

In the above example, there are 6 VCDS class objects in the repository, as indicated by Found: 6 in green text, 4 objects missing from the repository as indicated by Missing: 4 in red, and 17 Package Specific: objects in blue text.

There is also an Alerts folder containing alert references in the events, methods, and dialogs in the window. These cannot be added to a package using VCDS unless they are stored in the repository. VCDS lists them for your convenience.

To add alert definitions and types to the CVS repository, use NETeXPERT Package Administration to export these objects into the VCDS working directory. Here you can use the CVS add command to add these objects to the repository.

The Alerts, MOs and Rules folders are Package Administration export file categories. The Alerts folder contains alert definitions and alert types referenced by the selected object(s). They are not in the repository, and as such are included in the Missing count. The MOs folder contains Attributes and Attributes Types referenced in the events, methods, and dialogs as well as those of the class. The Rules folder includes events, methods, and dialogs.

  1. Click the List Missing button to view the list of missing objects. The List Missing window is displayed, listing the events, methods, and dialogs missing from the repository. Depending on the selection, it may also include alerts, alert types or class definitions. It does not include attributes nor attribute types.

You cannot add any Missing Dependencies to a package.

You can also view these objects as a color-coded list in the Review Dependencies window by opening the object folders. Right-click on a tree node to display the Dependency Tree Operations menu and select Expand All.

Below is an example showing the dependencies for the event VCDS.LSTestEvent2.

In the above example, there are 4 objects missing from the repository, and these cannot be added to a package. They are displayed here for your information. The package-specific objects, attributes and attribute types, can be added to a package, even though they are not in the repository. (Attributes and attribute types are an exception to the rule.)

The Dependency Tree Operations menu displays these functions:

  • Expand All - Displays the contents of the selected node.

  • Collapse All - Closes the contents of the selected node.

  • Add to Package... - Adds the contents of the selected node or object to a package.

  • Add Selected to Package... - Adds the selected objects to a package.

  • Add All to Package... - Adds the all objects in the window to a package, excepting alerts and alert types. It functions the same as the Add to Package... button.

  • Create Package... - Creates a new package containing the contents of the selected node or object.

  • Create Package with Selected... - Creates a new package containing the selected objects.

  • Create Package with All... - Creates a new package containing all objects in the window, excluding alerts and alert types. It functions the same as the Create Package... button.

9.5.1. Creating a Package with Dependencies

You can create a new package directly from the Review Dependencies window.

All found dependency objects that are in the repository and those that are package specific are automatically included in a new package if the Create Package button is clicked or if Create Package with All... is selected in the Dependencies Tree Operations menu.

  1. Either action opens the Create Package dialog to enter the package name and enter a description.

  1. Enter the package name and a description and click the OK button. The Select Repository Directory window opens.

  2. Select a directory for the package and click the OK button.

The new package is displayed in the VCS tab in red, as it has not yet been committed to the repository.

  1. Commit the new package to the repository.

9.5.2. Adding Dependency Objects

You can also add dependency objects to any existing package.

  1. Click the Add to Package... button or select Add All to Package... in the Dependencies Tree Operations menu to add dependency objects in the window to a package. Either selection adds all found dependencies and package specific dependencies to the package.

This opens the Select a Package Definition dialog.

  1. Select a package definition and click the OK button. The Add to Package confirmation window opens, listing the dependency objects found in the repository for package addition as well as package specific objects, such as attributes and attribute types.

  1. Click the OK button to add the objects to the package.

  2. Commit the newly populated package to the repository as described above.

If all objects are already contained in the package, the following Message is displayed:

9.5.3. Adding Selected Objects to a Package

You can add selected objects to a package or create a new package with selected objects using the Dependencies Tree Operations menu.

Use the Control key to select individual objects in the Dependencies tree. Select Add Selected to Package... or Create Package with Selected... to add to or create a package with selected objects.

Making a selection displays the Select a Package Definition or Add to Package dialog, and the addition or creation process is performed as described above.

9.6. Deploying a Package

Deploying a package is done in the same way as other objects are deployed in VCDS.

To deploy a package:

  1. Select the version to be deployed and right-click to display the Operations context menu. Selecting Deploy... from the VCS tab Repository tree deploys the latest package version.

Selecting Deploy Package Revision... from the from the version history list enables you to deploy any package version.

  1. After making a selection, the Select System window opens.

  1. Select the system to which you are deploying and click the OK button. The Deployment Status window opens.

If there is a failure in the deployment, the (Finished) line is diplayed in red.

Opening the folders reveals where the problem occurred. Selecting the failed item displays an error message. In this example, an alert definition did not exist in the target system.

  1. Click the Close button to close the window. The package contents have been deployed to the system and the objects are displayed in the system tree.

9.7. Updating the Package

Over a period of time, the contents of a package may become out-of-date and may not contain the most current object versions in the repository.

To update a package with the most current content versions:

  1. Right-click on the package you wish to update. The VCS Tree Operations menu is displayed. (Or you can use the File menu.)

  1. Select Update Package Contents. The Available Package Updates window is displayed. This window lists the package contents' object names under Package Entry, the current version in the package under Current Rev., and the latest version in the repository under Latest Rev. . By default, the Accepted check box is checked.

  1. Click the Accept Updates button to update the package contents. A confirmation window displays.

  1. Click the Yes button to confirm the update. In the VCS tab, the package icon turns red, as it is now different from the latest version in the repository. In the version history, its text is italicized, and the Revision number has an asterisk * next to it.

  1. Commit the package to the repository by right-clicking on the package icon and selecting Commit Package... from the context menu.

  2. Enter comments in the Commit Log Message window.

  3. Enter your userid and password in the Please Login dialog.

The package icon turns green and its version number is incremented by .1 .

9.8. Comparing Package Versions

Just as you can use VCDS to compare versions of NETeXPERT events, methods, and dialogs, you can also use VCDS to compare versions of packages.

To compare different versions of a package:

  1. In the VCS tab, double-click the package of interest. Its version history is displayed.

  1. Select one version and right-click to display the VCS Table Operations menu.

  1. Select Compare Package Revisions… . The Select Package Version dialog opens, displaying the other package versions.

  1. Select the version to compare and click the OK button. The Compare Package Revisions window is displayed.

This window displays the first selected package as the Target and the second selected package as the Source. The contents of each package are displayed in a hierarchical tree.

New Entries and Removed Entries are listed for the Source package, while Updated Entries and Same Entries are listed for the Target package.

In the above example, package NewPack (rev. 1.5) is selected as the Target and NewPack version (rev 1.4) is the comparison Source.

The NetExpert.TestDialog was added to version 1.4, and is listed as a New Entry. The TestDialog appears in the NewPack version (rev. 1.5), and the events appear as Same Entries.

In the example below, the VCDS.LSTestEvent (rev. 1.6) has been updated to a newer version, (rev. 1.7), which is displayed in the Target panel.

9.9. Patches

Patches are a convenient way to deploy and manage differences between package versions. These differences can be events, methods, or dialogs, or dependency differences, such as attributes. The advantage of using patches is they enable you to deploy fewer objects when updating systems, so you need not deploy an entire package.

When comparing packages, you can capture the differences between package versions in a patch. The differences are objects that have been added, removed, or updated.

This patch is committed to the repository and managed with version control just as any other object in the repository - it can be deployed and its contents can be updated.

To create a patch:

  1. In the Compare Package Revisions window, click the Create Patch... button. The Input dialog displays with the default suggested name of PackageName-version_to_version. You can use this name or enter any name you wish.

  1. Edit the name if desired and click the OK button. The Select Repository Directory window is displayed.

  1. Select a repository directory for the patch and click the OK button. The patch is displayed in the VCS tab tree in red, and with (N/A*) as a version number.

  1. Right-click on the patch and select Commit. The Commit Log Message window is displayed.

  2. Enter a log message and click the OK button.

  3. Enter your userid and password in the Please Login dialog. The patch is committed to the repository and is shown in the VCS tab tree in green.

You can double-click the patch to view its contents in the Information View as shown below.

You can manage patches in a similar way that you manage packages - that is, you can deploy, update and take the same actions that you can perform on packages as described above.

9.10. Example Package Workflow

The following workflow demonstrates how one may use VCDS packaging. (There is no specific workflow pattern enforced or required by VCDS.)

  1. Deploy package to development system to begin development.

This ensures the objects in your development system are in sync with the currently released version of the ruleset package. You can compare objects using the VCDS diff tool to verify their configuration and/or merge any differences, or simply update the development system with the latest versions from the repository.

  1. Develop changes to the ruleset.

As development progresses, changes are reflected in the VCDS UI.

  1. Commit development changes.

After committing, the development system objects should be the same as those in the repository. Any discrepancies may be caused by other developers, so communication among all those committing to the repository is important.

  1. Update package with latest revisions of contents.

In the VCDS UI, update the package with the current versions of modified objects. At this point the package will be red in color, as it has not yet been committed to the repository. This should be a signal to any developer to NOT deploy this package, since it is not yet under version control.

  1. Commit the package to the repository.

  1. Deploy the package to the test system and perform tests.

After completely updating the package, deploy to the test system. During testing, bugs may be fixed and the package updated as normal (steps 2 – 5) and redeployed to the test system.

  1. Commit package update.

Once testing is completed and accepted the package is committed. Once committed, the package is considered to be the latest and most current release.

  1. Deploy package to production systems.

For deployment into production, the entire package may be deployed or the user doing the deployment may perform a patch deployment from the UI. To perform the patch deployment, the user opens the current package in the VCS tab of the VCDS UI and selects the option to compare the current package with the previous release (revision) of the same package. The UI presents the differences between the two packages and the user selects the option to deploy the differences to target systems. If deemed appropriate, a new package may be created that contains just this patch. Patch packages should be named appropriately for easy identification by users.

Chapter 10. Auditing System and Repository Objects

10.1. Auditing System vs. Repository Objects

VCDS has an audit feature that compares the Repository with a user-selected VSM system to show objects in the Repository that do not exist in the VSM system.

To audit a system’s objects against the Repository:

1. In VCDS, select the VCS tab.

2. In the menu bar, select Version | Audit System Against Repository....

An Audit System window opens.

3. Using the System: drop-down menu, select the system to be audited.

4. Click the audit folder button to start the audit.

When the audit is completed, the Audit System window displays the number of, name, and version number of each object in the Repository that does not exist in the selected NETeXPERT system.

In the example below, the VSM 6.0 dialogs in the NetExpert class listed in the audit result screen to the left are not listed in the VSM 6.0 System Tree View on the right. As the audit shows, these dialogs exist in the Repository, but do not exist in the VSM 6.0 NETeXPERT system.

10.2. Audit Operations

You can deploy all or selected repository objects to the audited system by right-clicking on a folder to display the Audit Operations menu.

Click on Deploy All or Deploy Selected to deploy objects to the system.

Making a deployment selection opens a Confirm Deployment window.

Clicking the OK button displays the Deployment Status window so you can monitor the deployment.

Chapter 11. Tear Offs

Tear Offs are a way of viewing and navigating multiple Information Views. The View menu has a Tear Off Tab item used to ‘tear-off’ the Information View as a separate window.

The View | Tear Off Tab menu item becomes available when the VCDS Information View is populated.

Selecting Tear Off Tab creates a separate window with the currently displayed Information View. The example below illustrates an Event Tear Off.

Navigating among multiple Tear Off windows is done using the View | Go To Window | <Object> | <ObjectName> menu item.

Chapter 12. VCDS Menus and Toolbar

The VCDS menus and toolbar buttons offer additional locations for the selection of VCDS functions.

12.1. File Menu

The File menu items are available with the object Information View open. The following functions are available:

Compare to...Allows comparison to be made between the active and most recently archived version of an object.
Compare to Repository Compares the active NETeXPERT system object to a VCDS repository object.
CommitCommit the object version to the repository.
Add to Package... Add the selected node or object to a package.
Review Dependencies Opens the Review Dependencies window to view class or object package addition dependencies. object version to the repository.
CloseCloses the currently active Information View.
ExitExits the VCDS application.

With the VCS tab selected, a different File menu displays.

Create Package... Creates a new package.
Update Package Contents... Updates package objects with the most current version in the repository.
Save PackageUsed to saves the package after removal of an object from the package.
Add Directory Adds a directory to the repository.
Compare to...Allows comparison to be made between the active and most recently archived version of an object.

12.2. Event/Method/ Dialog/Version Menus

Menu availability is determined by the selected tab above the System Tree View.

DeployDeploy the selected object to the selected system.
Deploy Response Only Deploy dialog response states only to the selected system.
Replace with... Replace one object version with another in the repository.
Replace with Repository Updates the currently active NETeXPERT system object with the most recent version saved in the Repository.
Find Response ReferencesFinds all dialogs that use the selected response.
Audit System Against RepositoryThis shows you objects in the repository that are NOT in the system.

Audit System Against Repository is a fast and convenient way to deploy as well as audit objects.

From the Audit System window, you can deploy all objects in a node or selected objects to the VSM system selected in the System: drop-down list. Selecting a node or an object(s) and right-clicking opens the Audit Operations dialog box.

Selecting Deploy All or Deploy Selected opens a Confirm Deployment dialog.

Clicking the OK button opens the Depolyment Status window allowing you to view the deployment.

12.3. View Menu

Tear Off TabOpens the selected Information View in its own window.
Go To WindowWhen View | Tear Off Tab has been used, this allows the user to navigate among all open VCDS windows.
Deployment Status Manually opens the Deployment Status window.

The Go To Window | <Object> | <ObjectName> menu item displays the selected tear off window.

12.4. Tools Menu

Console opens the console window on the host computer.

12.5. Help Menu

HelpOpens the Help system.
AboutProgram information including release information.

The Help system is a comprehensive and convenient reference on the VCDS features and functions discussed in this User Guide.

12.6. Toolbar

The toolbar buttons offer convenient access to VCDS functions also available in the menus.