VC/m 2.4 Release Notes


Right software, right time, right place


 

1.      Support for Caché 5
This version of VC/m provides support for Caché 5.  A new interface has been developed for the Caché 5 Studio which has a class-based interface for source control.   In addition, component drivers have been written for Basic routines (.BAS), Projects (.PRJ), Caché Server Pages (.CSP), and Caché Server Rules (.CSR). The new INT component type can be used as a more intuitive alternative to the existing R type. A new CLS component driver manages Caché class definitions using the XML format introduced with Caché 5. It is recommended that this is used in preference to the old CDL component driver. To migrate, check out all objects with CDL components. Unregister the CDL components and re-register the classes as CLS components. Then check the objects back in.

Studio's source control setting is per-namespace. For each VC/m-controlled namespace, perform the following steps:

  1. Connect Studio to the namespace.
  2. On Studio's Tools menu, choose Source Control, then Source Control Class. In the dialog that appears, highlight %VCm.Studio.SourceControl and click OK.
  3. On the Tools menu, choose Add-Ins, then Add-Ins. From the dialog, select VC/m Configuration and click OK.
  4. On the configuration page, select the VC/m location that corresponds to this namespace. Enter a VC/m Change Request that should be used by default whenever a Studio source-control operation in this namespace requires one (e.g. on checkout). In the Transfer Routes section, select the source or destination locations (normally the library or a single-version library location). Alter the transfer function codes if necessary. For each Change Request Type you can specify how VC/m links such change requests to Studio projects of the same name. Options are:
    1. No linkage: Projects whose name matches a change request of this type will undergo no special integration with VC/m.
    2. Refresh: When opening a project whose name matches a change request of this type, the project's contents will be redefined as the Studio-applicable components of the objects on the change request, unless the project's description does not contain a VC/m marker in the first line (see General tab of Project Settings dialog in Studio). When refresh occurs, a message is written to the Studio Output pane and the project's description text is updated. Additionally, when Check Out, Check In or Get Latest is performed from Studio, the project name supplies the change request to be used if one is required (e.g. during check out, when a new version is created), in preference to the change request specified on the VC/m Configuration dialog.
    3. Create and Refresh: Behavior is as described in the previous paragraph. Additionally, provided an additional VC/m setting has been made (see below), projects will automatically be created in this namespace for every change request of this type having at least one component present in the corresponding location. To enable this, add the following text to the "Per-transfer, termination" callout on the first page of Setup\Properties in the VC/m character-mode interface:

      ##class(%VCm.Studio.SourceControl).afterTransfer()

      Once these settings have been made, the next transfer of any type to this location will create all required projects, regardless of whether or not the transfer is associated with the corresponding change requests.

In some situations, Studio needs to access the standard VC/m web interface and requires a suitable URL. A default one is set during installation of VC/m but it may be necessary to override this on page 6 of Setup\Properties in the VC/m character-mode interface.

A Studio add-in named "VC/m Status of Project" provides a summary of the VC/m status of the current project and its members, together with access to the VC/m transfer dialog to perform appropriate operations. For example, you can register new items into VC/m for the first time.

A Studio template named "VC/m Operations" provides similar information about a single item. However, a Studio limitation means that no template can be invoked on a source-controlled item unless is is first checked out. Consequently, this template is unusable on checked-in items.

Caché Object Architect has been dropped from Caché 5. On Caché 5 systems VC/m no longer manipulates the System property of classes it controls (this was formerly used as a way of preventing class modification by OA). If you are upgrading an existing pre-2.4 system on Caché 5 to VC/m 2.4 or if you are upgrading a VC/m 2.4 system to Caché 5 we recommend that you ensure all CDL components are checked in to the library beforehand.

The comments automatically added by VC/m to a Caché class description have been restructured to make them more readable, while still presenting the information in tabular form in Documatic. Additionally, a user callout can perform further modification of a class after it has been saved to a namespace. As an example, the following will cause a VC/m transfer into a namespace to update two class parameters, VCMOBJECT and VCMVERSION, which your own methods might exploit:

SET ^%vcvc("class_save")="classVer^%vc1xCLS"

This version of VC/m is fully backwards compatible and will work with all previously-supported versions of Caché.  Integration with previous versions of Caché Studio remains fully supported.

2.      Web User-Interface - User Definable Menus
The menu tool-bar on the web user-interface is now fully user definable.   The menu items are configured in a similar way to the menus for the character interface, although seperate menus can be defined for each interface.

Access controls are fully implemented.  Users without access to a specific menu item will have that item grayed out on their menu.

3.      Web User-Interface - Enhanced Navigation and Appearance
The contents of a location can now be navigated in a more uniform manner.   A component can be selected, added to a work-list, deleted or otherwise manipulated from any view of the location.  Previously, some component operations could only be performed from the Component view and not from the Object or Change Request View. 

In the Object view it is now possible to see a list of all Change Requests associated with an Object by clicking on it.  You can, in turn, drill down into any change request by clicking on it.

The icons for Components and Change Requests have been sharpened and +/- buttons have been added to provide a sharper and more intuitive look and feel.

When a Location folder in the left hand panel is opened, any part of the open folder is now enabled as a drop target for drag'n'drop operations.

All Location folders and selectable items can now be accessed using the keyboard.   A selected item can be expanded by pressing the + key.  Tab and shift+Tab can be used to navigate forwards and backwards through folders and selectable items.

Superseded objects are now displayed in gray. Empty objects and change requests show as white. Component icons correspond to InterSystems' standard ones for the appropriate types, with the addition of a VC/m status color. Objects in the error state are shown as red.

New component filters assist in selecting items of particular types.

4.      Change Request Delete
It is now possible to delete change requests using the web interface. Highligh the change request, then press Delete or use the menu option. Confirm deletion at the dialog.

5.      Caché Class Definitions for VC/m Metadata
Systems, Location Classes, Physical Locations, Locations and Transfer Routes have now been exposed as Caché class definitions.  This facilitates the scripting of Location and Transfer Route creation for large and complex installations.

6.      In-situ Check-out and Move Processing
Move operations, where the From Location and the To Location are the same, now operate as they should.  This enables in-situ check-out to be performed by defining a transfer route that moves a Object to itself while incrementing the version number.

7.      Bug Fixes


Copyright 2002 George James Software
For assistance contact support@georgejames.com