Configure MULTIUSE

For any chosen PVCS Dimensions PRODUCT/VARIANT/WORKSET combination a read-only copy of the source code should exist some place in the file system, so that Uniface developers can compile dependent work, and browse the code during development and problem investigation.

When an individual component is identified as requiring modification, it is ‘checked out’ from PVCS Dimensions in the usual manner, and copied to some place in the file system ‘read-write’.

Several Uniface assignment file parameters and the UD6 JOINS file, assist the IDF and the UD6/CMtool driver resolve where in the file system these files exist.

These parameters are:


*.dict              $idf:.\sources\other\*.*


USYS$UD6_PARAMS=LISTDIR directory/filename


The line shown above in the [ENTITIES] section of the Uniface assignment file (in conjunction with the file specifications in the UD6 JOINS file, which is by default located in the Unfiace BIN directory) specify the location of the reference area.

For each reference area an installation typically has a separate assignment file.

The LISTDIR setting in the [DRIVER_SETTINGS] section of the Uniface assignment file indicates the place and filename that contains the list of ‘checked out files’ for this user or workgroup.

Installations typically set this up on a drive letter that is assigned to a ‘share’ on the server when a user logs in, dependent on either their username or group name, e.g.:



T: is allocated to the network share \\ntsrvr01\user1


T: is allocated to the network share \\ntsrvr01\devel

An INUSE file can be named anything, and if a developer works on many PVCS Projects or Variations you may want to name the INUSE file accordingly, e.g. this file is for the Project BRIDAL Variant AAAA:


*.dict              $idf:m:\ref\brd-aaa\sources\other\*.*


USYS$UD6_PARAMS=CONFIG m:\ref\brd-aaa\, LISTDIR h:\brd-aaaa.inuse

And the JOINS file for this example would be (m:\ref\brd-aaa\joins):






When copying JOINS files to another location be sure to also re-create or copy the xlink, ofields, nls0, and overflows configuration files to the same location.

Finally PVCS Dimensions needs a mechanism to automatically update the correct reference environment and INUSE file dependent on the PRODUCT/VARIANT/WORKSET and USER performing a check out or check in operation.

Since PVCS Dimensions does not have a scriptable triggers mechanism, March Hare supply an add-in for this purpose. Using the PVCS Dimensions server computer, replace the DLL PCMS_ROOT\prog\libpcmsu.dll, with the file of the same name in your Uniface BIN directory (this file was installed when you installed UD6/CMtool Driver). You must also copy the file ud6list.dll from the Uniface BIN directory to the PCMS_ROOT\prog directory.

The PCMS_ROOT directory is commonly named: c:\win32app\pvcs\dimensions\6.0.

This add-in requires that an environment variable be set to indicate the directory that the MULTIUSE configuration file is located in. Open the Windows control panel, by clicking on the Start button, then Settings, Control Panel.

Within the control panel open the System control panel.

Add the environment variable MULTIUSE to the SYSTEM environment variables, and press OK.

Here is an example MULTIUSE file (c:\multiuse) that matches the examples used above (Project BRIDAL Variant AAAA, and two users, user1 and user2):






When USER1 or USER2 logs into their workstation drive letter h: is automatically assigned to their logon directory (server directory c:\users\usern). The users work-sets are stored in their ‘local’ directory h:\brd-aaa\.

It IS NOT necessary for the ‘checked out’ files to exist on a shared drive, since the MULTIUSE DLL does not need access to the checked out files, it just needs to know what directory prefix to use when the workstation tries to open it using the IDF.

The INUSE file however, MUST exists on a shared drive so that both the server and the client have access to it. The MULTIUSE file refers to the INUSE file ‘as seen from’ the server, whereas the USYS$UD6_PARAMS=LISTDIR path/file setting refers to the INUSE file ‘as seen from’ the client.

Finally, in order to keep the reference area in ‘sync’ the libpcmsu.dll automatically fires off FI (Fetch Item) commands using the PCMS.EXE utility supplied with PVCS Dimensions. Before proceeding to the upload stage, be sure to have tested that this works (it may require that you set the PCMSDB environment variable to a valid Oracle Username/Password, e.g.: pcms_tool/pcms_tool).

NOTE: For the ‘FI’ Fetch Item command to work, and for the ‘remove’ command to word when ‘DI’ Delete Item command is received, the reference area must be accessible through the same filename and path on both the server and the client. This is usually achieved by ‘connecting’ the shared drives to the same drive letter(s) on the server as the client.

If you are concerned about the performance impact of ‘connecting’ redundant shared drives using a facility like NET USE, you can alternatively use the SUBST command, e.g. (commands executed on node NTORA8I):

NET USE m: \\ntora8i\c-drive

Is functionally the same as:

SUBST m: c:\

See also ‘Configuration Files’ UD6/MultiUSE

Taking control

Create a Dimensions product
Define File Formats and MIME types
Define Object Type Definitions
Create a workset
Configure MULTIUSE
Upload the sources
Create baseline

How to use the driver with PVCS Dimensions (cont.)

Configuration information
Taking control in PVCS Dimensions
Releasing a form using PVCS Dimensions
Checking a form in using PVCS Dimensions
Adding a form using PVCS Dimensions
Finding the differences in versions using PVCS Dimensions
Problems when using PVCS Dimensions

UD6 Overview
A methodology to Uniface source code control
Using UD6/CMtool and Uniface with PVCS Dimensions.

$Revision: 1.11 $ $Date: 2011/02/28 02:56:33 $[go to top]