VAX DEC/CMS
VERSION V3.0
RELEASE NOTES
14 April 1988
Page ii
CONTENTS
1 Introduction . . . . . . . . . . . . . . . . . . . . 1
2 Computer Based Training . . . . . . . . . . . . . . 1
3 Installation Procedure Requirements . . . . . . . . 2
4 User Account Quotas and Privileges . . . . . . . . . 3
5 Library Conversion . . . . . . . . . . . . . . . . . 3
6 Functional Enhancements . . . . . . . . . . . . . . 4
6.1 New Commands For V3 . . . . . . . . . . . . . . . 5
6.2 New Qualifiers For V3 . . . . . . . . . . . . . . 5
6.3 Command Language Syntax Elements . . . . . . . . . 6
6.3.1 Comma Lists . . . . . . . . . . . . . . . . . . 6
6.3.2 Relative Generation Numbers . . . . . . . . . . 6
6.3.3 CTRL/C Handling . . . . . . . . . . . . . . . . 7
6.4 Access Control . . . . . . . . . . . . . . . . . . 7
6.4.1 SET ACL . . . . . . . . . . . . . . . . . . . . 7
6.4.2 SHOW ACL . . . . . . . . . . . . . . . . . . . . 7
6.5 Automatic VERIFY/RECOVER . . . . . . . . . . . . . 8
6.6 Binary Files . . . . . . . . . . . . . . . . . . . 8
6.7 DIFFERENCES . . . . . . . . . . . . . . . . . . . 8
6.8 DELETE GENERATION . . . . . . . . . . . . . . . . 8
6.9 History and Notes . . . . . . . . . . . . . . . . 9
6.10 Notification . . . . . . . . . . . . . . . . . . . 9
6.11 MODIFY GENERATION . . . . . . . . . . . . . . . . 9
6.12 Reference Copy Handling . . . . . . . . . . . . 10
6.13 REMARK . . . . . . . . . . . . . . . . . . . . . 11
6.14 REMOVE GENERATION . . . . . . . . . . . . . . . 12
6.15 REPLACE . . . . . . . . . . . . . . . . . . . . 12
6.16 RESERVE . . . . . . . . . . . . . . . . . . . . 12
6.17 REVIEW . . . . . . . . . . . . . . . . . . . . . 13
6.17.1 ACCEPT GENERATION . . . . . . . . . . . . . . 13
6.17.2 CANCEL REVIEW . . . . . . . . . . . . . . . . 13
6.17.3 MARK GENERATION . . . . . . . . . . . . . . . 13
6.17.4 REJECT GENERATION . . . . . . . . . . . . . . 14
6.17.5 REVIEW GENERATION . . . . . . . . . . . . . . 14
6.17.6 SHOW REVIEWS_PENDING . . . . . . . . . . . . . 14
6.18 Search Lists . . . . . . . . . . . . . . . . . . 15
6.18.1 SET NOLIBRARY . . . . . . . . . . . . . . . . 15
6.19 SHOW RESERVATIONS . . . . . . . . . . . . . . . 15
6.20 UNRESERVE . . . . . . . . . . . . . . . . . . . 16
6.21 New Callable Entry Points for V3 . . . . . . . . 16
6.22 Modified Callable Entry Points for V3 . . . . . 17
7 Known Problems and Restrictions . . . . . . . . . 17
7.1 CMS V2.3 and CMS T3.0 Libraries . . . . . . . . 17
7.2 Callback Routine Parameters . . . . . . . . . . 18
7.3 Merging Binary Files . . . . . . . . . . . . . . 18
7.4 Depth of Library Directories . . . . . . . . . . 18
7.5 Virtual Memory Requirements . . . . . . . . . . 18
7.6 Assigning Action ACEs to Multiple Objects . . . 18
7.7 Blanks Cannot Separate Multiple Action ACEs . . 18
7.8 Wildcard Indicator in Notification Messages . . 19
7.9 Restriction on CMS$FETCH_OPEN and Library Search
Lists . . . . . . . . . . . . . . . . . . . . . 19
7.10 Restriction on DIFFERENCES and Library Search
Lists . . . . . . . . . . . . . . . . . . . . . 19
Page iii
7.11 Input File Deletion . . . . . . . . . . . . . . 20
7.12 COPY ELEMENT with Many Elements/Generations . . 20
7.13 Generation Stack Overflow . . . . . . . . . . . 20
7.14 COPY ELEMENT/LIBRARY Messages . . . . . . . . . 20
7.15 Reference Copy Messages . . . . . . . . . . . . 20
7.16 VERIFY/REPAIR on a Library with REFREPAIR
Condition . . . . . . . . . . . . . . . . . . . 20
7.17 VERIFY/RECOVER on Valid Library . . . . . . . . 21
7.18 SET ACL/DELETE with Nonexistent Identifier . . . 21
7.19 Syntax Errors on SET ACL and SHOW ACL . . . . . 21
7.20 Severity of Summary Messages . . . . . . . . . . 21
7.21 Parameters on Negated Qualifiers . . . . . . . . 21
8 Documentation Errata . . . . . . . . . . . . . . . 21
8.1 RETRIEVE ARCHIVE . . . . . . . . . . . . . . . . 21
Page 1
1 Introduction
These are the release notes for DEC/CMS version V3.0. This
is a major release containing new functionality beyond that
available in previous releases. Included below is
information about computer based training for DEC/CMS,
requirements for installing and using DEC/CMS, information
about library conversion, descriptions of all the new
features implemented in V3.0, descriptions of any
restrictions and outstanding bugs, and a list of
documentation errors.
NOTE
Before installing and using DEC/CMS V3.0 for the
first time, you MUST use the VERIFY command on ALL
existing libraries and correct any reported problems
before proceeding. CMS V2 libraries which do not
verify correctly may not be convertible to V3. It
is extremely important to verify ALL V2 libraries
BEFORE V3 is installed, as the V3 installation
procedure will remove CMS V2 from the system. This
is a precaution to prevent the accidental corruption
of CMS V3 libraries by operating on them with CMS
V2, as CMS V2 does not recognize V3 libraries. CMS
V3 will properly recognize V2 libraries, and will
not operate on them. For more information on
library conversion please refer to the "Library
Conversion" section in this document.
2 Computer Based Training
Computer based training is available for VAX DEC/Code
Management System, VAX DEC/Module Management System and VAX
Language-Sensitive Editor.
To order the "Using VAX DEC/CMS and VAX DEC/MMS" computer
based training (CBI) or the "Using the VAX
Language-Sensitive Editor" (CBI) please call the most
convenient location listed below. Information on other
training available from Digital Equipment Corporation in
CBI, lecture/lab and other formats can also be obtained at
these numbers.
Order numbers and media for these courses are:
Using VAX DEC/CMS and VAX Using the VAX Language Sensitive
Media DEC/MMS Editor
RX50 EY-8267E-RX EY-3491E-RX
1600bpi EY-8267E-MT EY-3491E-MT
TK50 EY-8267E-TK EY-3491E-TK
Page 2
In the US and Canada call toll free 1-800-332-5656
In Europe contact your local training center at the
following telephone numbers:
Training Center Country Telephone
Barcelona Spain [34] (93) 2035200
Brussels Belgium 02/242.50.95
Copenhagen Denmark +45-2-88.96.66
Evry France 60.76.50.05
Geneva Switzerland [41] (+22) 31 56 55
Highfield England,UK [44]-(734)-868008
Nieuwegein Holland [31]-(3402)-65654
Madrid Spain [34] (91) 7347002
Manchester England [44]-061-865-0831
Milan Italy [39]-(2)-617961
Munich Germany [49]-(89)-95072281
Reading England, UK [44]-(734)-868711
Zurich Switzerland [41]-(1)-3120555
In the General International Area contact training centers
at the following telephone numbers:
Training Center Location Telephone
Digital Equipment Corp Brisbane (61) (07) 221 6000
(Australia) Canberra (61) (62) 47 3654
Melbourne (61) (03) 895 9595
Sydney (61) (02) 412 5252
Dig Eq do Brasil Ltda Rio de Janeiro (55) (21) 297-1122
Sao Paulo (55) (11) 575-0088
Digital Eq of Canada Montreal (514) 340-7811
Ottawa (613) 723-3634
Toronto (416) 597-3429
Vancouver (604) 276-6902
Digital Eq Caribbean Puerto Rico (809) 754-7575
Digital Eq Hong Kong Wanchai (852) (5) 861 4283
Nihon Digital Eq Corp Osaka (81) (06) 206-2771
(Japan) Tokyo (81) (03) 989-7180
Digital Eq de Mexico Mexico (905) 687-6671
Digital Equipment Corp Auckland (64) (09) 393 940
(New Zealand)
Digital Eq Corp PRC Beijing (86) (1) 890721
Digital Eq Corp Taiwan Taiwan (886) (2) 776 8888
Digital Eq Singapore Singapore (65) 336 3588
3 Installation Procedure Requirements
The installation should take approximately 10 to 45 minutes,
depending on the type of media and your system
configuration. Before installing CMS, you must have the
following privileges and resources:
Page 3
o SETPRV privileges, or CMKRNL, WORLD, and SYSPRV
privileges
o A minimum of 4600 blocks of free disk space during
installation; 1600 blocks are used after installation
o A minimum of 815 + size of SYS$LIBRARY:DCLTABLES.EXE
free global pages at installation
o A minimum of 7 free global sections at installation
NOTE
You must ensure that your system has the necessary
global page and global section SYSGEN quotas for the
installation. Failure to do so could cause the DCL
tables to be corrupted in some situations.
See the VAX DEC/Code Management System Installation Guide
for more details on installation procedure requirements.
4 User Account Quotas and Privileges
To use CMS, each account must have a minimum of TMPMBX and
NETMBX privileges and the following minimum requirements:
o AST limit (ASTLM) of 14
o Buffered I/O byte count quota (BYTLM) of 14,000
o Enqueue quota (ENQLM) of 1
o Open file limit (FILLM) of 6
o Timer queue entry limit (TQELM) of 1
See the VAX DEC/Code Management System Installation Guide
for more details on user account quotas and privileges.
5 Library Conversion
The CMS data base has been reorganized in V3.0 for
performance reasons. In addition, the CMS library has been
reorganized to store element data files in subdirectories,
named CMS$nnn, of the CMS library directory. These changes
require that libraries created with any V2 conversion of
DEC/CMS be converted to the new format. Conversion of V1
libraries is no longer supported.
To convert a library, you must use the CMS CONVERT LIBRARY
<v2 library> <v3 library> command, specifying the existing
library and an empty directory to receive the new library.
Page 4
The original library is not altered by the conversion.
Conversion time depends highly on the number of classes in
the library, the number of generations in those classes, and
the size of the 00CMS.CMS file in the original library. For
example, a 3000-block 00CMS.CMS file with 125 classes each
holding approximately 300 generations will take about five
hours on a VAX 11/785 to convert. The converted library
will take up about the same amount of disk space as the
original library, although the new 00CMS.CMS is likely to be
10 to 20% larger.
Note that CMS does not propagate the security attributes of
existing CMS V2 library files to the new CMS V3 library.
The owner, UIC-based protection, and access control lists
(ACLs) of the files in the new CMS V3 library are determined
by the default values for the process performing the
conversion or by the ownership and access control list
(specifically, access control entries (ACEs) with the
OPTIONS=DEFAULT clause or DEFAULT_PROTECTION ACEs) on the
CMS V3 directory file itself.
You may establish default ACE's on the CMS library directory
before performing the CMS CONVERT LIBRARY operation. All
element files and element file subdirectories created during
conversion will automatically inherit the specified
protection and default ACEs. This is the recommended
procedure. If you set the security attributes on files in
an existing CMS V3 library (i.e. after conversion),
remember that you must VERIFY/REPAIR the library afterwards,
so that CMS can restore the element data file headers. See
Section 8.2.6 of the Guide to VAX DEC/Code Management System
for more information on using VERIFY/REPAIR.
If you had used file security attributes to restrict or
control access to your CMS V2 library, you may wish to
review these in view of the functionality provided by the
new CMS internal security mechanisms, which allow you to
specify ACLs on CMS elements, groups, classes, and library
entities, such as the library history, the CMS commands, and
the class, element, and group lists. For more information
refer to Chapter 6 of the Guide to VAX DEC/Code Management
System.
6 Functional Enhancements
The following functional enhancements have been made to VAX
DEC/CMS since its V2.3 release.
Page 5
6.1 New Commands For V3
o CMS ACCEPT GENERATION
o CMS CANCEL REVIEW
o CMS CONVERT LIBRARY
o CMS DELETE GENERATION
o CMS MARK GENERATION
o CMS MODIFY GENERATION
o CMS REJECT GENERATION
o CMS RETRIEVE ARCHIVE
o CMS REVIEW GENERATION
o CMS SET ACL
o CMS SET NOLIBRARY
o CMS SHOW ACL
o CMS SHOW ARCHIVE
o CMS SHOW REVIEWS_PENDING
6.2 New Qualifiers For V3
Qualifiers Command it Will Modify
---------- ----------------------
/FORMAT ANNOTATE and DIFFERENCES
/REVIEW CREATE and MODIFY ELEMENT
/NOREVIEW
/AFTER CREATE and SET LIBRARY
/BEFORE
/SKIP DIFFERENCES
/SENTINEL DIFFERENCES
/IGNORE=HISTORY DIFFERENCES
/IGNORE=NOTES
/PAGE_BREAK DIFFERENCES
Page 6
/NOPAGE_BREAK
/HISTORY FETCH and RESERVE
/NOTES
/POSITION
/NOOUTPUT FETCH and RESERVE
/UNUSUAL REMARK
/GENERATION REMOVE GENERATION
/IF_CHANGED REPLACE
/GENERATION REPLACE and UNRESERVE
/IDENTIFICATION_NUMBER
/NOREPLACEMENTS SHOW RESERVATIONS
/CONFIRM VERIFY
/NOCONFIRM
/OCCLUDE most commands
6.3 Command Language Syntax Elements
DEC/CMS V3.0 command handling and syntax is the same as it
was in V2, with the additions described below. For a
complete description of commands, syntax, and expressions,
refer to Chapter 9 of the Guide to VAX DEC/CMS.
6.3.1 Comma Lists -
All entity expressions, with the exception of generation
expressions, may now include a comma list of
sub-expressions. For example, a group expression may be a
group name, a full or partial wild card, or a list
containing combinations of both.
6.3.2 Relative Generation Numbers -
Generation expressions have been expanded to allow positive
and negative integer offsets as part of the expression.
These offsets are used to indicate a generation the
specified number of existing generations away from the
generation indicated by the previous part of the expression.
For example, a generation expression of CLASS;-3 indicates
the third generation before the generation that is in the
class CLASS.
Page 7
6.3.3 CTRL/C Handling -
The user's typing CTRL/C at any prompt, other than the CMS>
subsystem prompt, is now taken to mean that the action
producing prompt is to be aborted. (Versions of DEC/CMS
prior to V3.0 treated CTRL/C at a prompt as a carriage
return).
6.4 Access Control
Access control in DEC/CMS V3.0 is accomplished via Access
Control Lists (ACLs) associated with various commands and
CMS library entities. Users manipulate and view ACLs with
the commands described below.
A CMS ACL is used to control access by groups of users to
CMS library objects. They function much the same as ACLs in
VMS. The major difference is that while VMS ACLs are used
to specify READ, WRITE, EXECUTE, and DELETE access, CMS ACLs
are used to specify types of access more meaningful to CMS
operations. The access types allowed depend on the object
in question.
6.4.1 SET ACL -
SYNTAX:
$ CMS SET ACL /qualifiers object-expression "remark"
COMMAND DESCRIPTION:
The SET ACL command is used to manipulate ACLs on various
objects in the CMS library. ACLs can be put on elements,
groups, and classes, as well as on the lists containing
these entities. (An ACL on a list can be thought of as a
directory ACL.) An ACL can be put on the library as a
whole, and on the library history. ACLs can also be used
to control access to individual CMS commands.
6.4.2 SHOW ACL -
SYNTAX:
$ CMS SHOW ACL /qualifiers object-expression
COMMAND DESCRIPTION:
Displays the access control list associated with the
specified object or objects.
Page 8
6.5 Automatic VERIFY/RECOVER
DEC/CMS will now perform an automatic VERIFY/RECOVER
operation when it tries to do any operation in a library
that needs recovery. A message will be issued informing the
user that the library has been automatically recovered.
6.6 Binary Files
DEC/CMS can now handle any valid RMS file, with the
exception of directory files. In addition to the files
allowed by DEC/CMS V2, this includes indexed and relative
files, as well as files with undefined record format or
record attributes of NONE. The handling of these formerly
disallowed file structures is invisible to the user except
when asking DEC/CMS V3.0 for either an annotated listing or
the differences between two such files. In these cases, the
user may select one of a set of built-in formatting options
via the /FORMAT qualifier on both the ANNOTATE and
DIFFERENCES commands.
6.7 DIFFERENCES
DEC/CMS V3.0 supports the following additional qualifiers on
the DIFFERENCES command:
- /[NO]PAGE_BREAK
- /SENTINEL=("begin delimiter","end delimiter")
- /SKIP=number-of-lines
In addition to these changes, two new IGNORE options,
HISTORY and NOTES, have been added as part of history and
notes handling. Also, the GENERATION_DIFFERENCES option can
be specified on the /FORMAT qualifier to request that a list
of generation differences between the compared element
generations be included in the DIFFERENCES output.
6.8 DELETE GENERATION
SYNTAX:
$ CMS DELETE GENERATION element-expression [/qualifiers]
"remark"
COMMAND DESCRIPTION:
Causes generations of elements to be removed from the main
library. Once a generation has been deleted, it cannot be
restored without restoring a backup copy of the library.
Page 9
However, the /ARCHIVE[=file-specification] qualifier can
be used on the DELETE GENERATION command to store the
contents of the deleted generations in an archive file
external to the CMS library. Refer to the descriptions of
the DELETE GENERATION, RETRIEVE ARCHIVE, and SHOW ARCHIVE
commands in the Command Dictionary part of the Guide to
VAX DEC/CMS for additional information.
You cannot delete a generation that is the head of a
variant line of descent without first deleting all of the
generations in that variant line. You cannot delete
generation 1 of an element. Also, no generation that
belongs to a class can be deleted.
6.9 History and Notes
Users can request inclusion of history and notes in fetched
or reserved generations when the element does not have the
history or notes attributes enabled. This is accomplished
by the /HISTORY, /NOTES, and /POSITION qualifiers on both
the FETCH and RESERVE commands.
6.10 Notification
DEC/CMS V3.0 gives users the ability to specify lists of
people that are to be notified when an event occurs in the
library. An event is the combination of a CMS operation on
one of the entities in the CMS library. This notification
is achieved by processing of one or more "action" ACEs in
the entity's access control list (ACL).
DEC/CMS V3.0 provides a default event handler, performing
user notification through VMS Mail. This event handler is
in a separate shareable image, to allow the users to supply
their own event handlers, as documented in Chapter 7 of the
Guide to VAX DEC/CMS.
6.11 MODIFY GENERATION
SYNTAX:
$ CMS MODIFY GENERATION element-expression /qualifiers
"remark"
COMMAND DESCRIPTION:
Alters information associated with the generation of an
element.
Page 10
6.12 Reference Copy Handling
Reference copy handling in DEC/CMS V3.0 is now part of the
processing of the command, rather than occurring after the
command has completed. Below is a list of commands and the
modified behavior they will exhibit in the presence of
reference copy handling.
- CREATE ELEMENT
Elements created will inherit the library's reference
copy attribute. If the library has reference copies
enabled, the created element, by default, will also. If
the library does not have reference copies enabled,
neither will the element.
The reference copy attribute cannot be enabled on an
element unless the library reference copy attribute is
enabled.
When an element with the reference copy attribute set is
created, the reference copy directory is checked for a
file with the same name as the element. If such a file
exists, CMS will not create the element and will issue a
message explaining that the reference copy directory
already contains a file with that name. It will be up
to the user to delete the offending file, choose a new
name for the element, or choose a new reference copy
directory for the library.
- DELETE ELEMENT
DELETE ELEMENT will check for delete access to both the
element data file and the corresponding reference copy.
If the user does not have delete access to both files,
the command will fail, issuing an error message
identifying which file could not be deleted.
- MODIFY ELEMENT
Modifying element attributes will cause the reference
copy to be created, updated, or deleted, as appropriate
for the modification. Changing the name will rename the
reference copy. Disabling the reference copy attribute
will delete the reference copy. Enabling the reference
copy attribute will create a reference copy. Enabling
or disabling HISTORY or NOTES attributes will cause the
reference copy to be updated.
The reference copy attribute cannot be enabled on an
element unless the library reference copy attribute is
enabled.
- MODIFY LIBRARY
Page 11
MODIFY LIBRARY is restricted so that /NOREFERENCE_COPY
can be specified only if reference copies have been
disabled for every element in the library. This ensures
that no old copies are left behind in the directory
where someone may assume they are the most recent
reference copies.
If /REFERENCE_COPY is used to change the directory spec,
CMS verifies all the files in the new reference copy
directory to ensure that they reflect the state of the
library. If there are any discrepancies, you will be
notified that the reference copy directory must be
repaired with the VERIFY/REPAIR command. You will not
be able to perform any other operations on the library
until either the reference copies have been repaired, or
MODIFY LIBRARY is used to change to a different
reference copy directory.
- VERIFY
VERIFY (and VERIFY/REPAIR) now check that the reference
copy exists for each element with reference copies
enabled, and make sure there is no reference copy for
each element without reference copies enabled. It will
then compare the reference copy with the latest main
line generation as a validity check. VERIFY/REPAIR will
correct any problems by creating or deleting files as
necessary.
The /[NO]CONFIRM qualifier has been added to the VERIFY
command to control whether CMS prompts for confirmation
prior to deleting any invalid reference copies during a
VERIFY/REPAIR operation. In some cases, however, CMS
will delete invalid reference copies without prompting.
Refer to the description of the VERIFY command in the
Command Dictionary part of the Guide to VAX DEC/CMS for
more information.
- REPLACE
REPLACE will not succeed unless the reference copy can
be updated. Errors updating the reference copy cause
the command to fail with appropriate error messages.
6.13 REMARK
DEC/CMS V3.0 allows users to place remark strings in the
history file that indicate an unusual occurrence. This is
accomplished by the /UNUSUAL qualifier on the REMARK
command.
Page 12
6.14 REMOVE GENERATION
DEC/CMS V3.0 allows users to specify which generation of an
element should be removed from a particular class. This is
accomplished by the /GENERATION qualifier on the REMOVE
GENERATION command. The generation to be removed must be
currently existing in the class.
6.15 REPLACE
DEC/CMS V3.0 allows a given user to reserve multiple
generations of the same element (including having multiple
reservations of the same generation). This requires that
the user be able to specify which generation is being
replaced. To accomplish this, the /GENERATION and
/IDENTIFICATION_NUMBER qualifiers have been added to
REPLACE.
DEC/CMS V3.0 allows users to prevent the creation of a new
generation when the file being used as input to the
replacement has not changed from the original. This is
accomplished by the /IF_CHANGED qualifier on the REPLACE
command.
DEC/CMS V3.0 allows users to REPLACE a reservation created
by another user if the person attempting the REPLACE has
BYPASS process privilege or is granted (via an ACE) BYPASS
access to the element. The REPLACE is logged as having been
performed by the user entering the command, not the user who
initially held the reservation. Any attempt to REPLACE a
reservation held by another user prompts for confirmation
before doing so.
6.16 RESERVE
DEC/CMS V3.0 allows a user to reserve multiple generations
of an element and to reserve the same generation of an
element multiple times. These multiple reservations are
only allowed if concurrent reservations are allowed.
DEC/CMS V3.0 provides a means to mark a generation of an
element as reserved without performing any file I/O or
creating an output file. This is accomplished by the
/NOOUTPUT qualifier on the RESERVE command. The /NOOUTPUT
qualifier is also available on the FETCH command, but the
generation will not be marked as reserved.
Page 13
6.17 REVIEW
The following commands implement REVIEW functionality, which
allows users to specify that new generations of an element
must be reviewed before becoming a "normal" part of the CMS
library.
In addition, the CREATE ELEMENT and MODIFY ELEMENT commands
now take the /[NO]REVIEW qualifier to control an element's
review attribute, which indicates whether newly created
generations of that element should be automatically marked
for review.
6.17.1 ACCEPT GENERATION -
SYNTAX:
$ CMS ACCEPT GENERATION element-expression /qualifiers
"remark"
COMMAND DESCRIPTION:
ACCEPT GENERATION marks a generation which currently has a
review pending as accepted, removing it from the review
pending list. This command can only be used on
generations which have a review pending.
6.17.2 CANCEL REVIEW -
SYNTAX:
$ CMS CANCEL REVIEW element-expression /qualifiers
"remark"
COMMAND DESCRIPTION:
CANCEL REVIEW cancels a generation's pending review,
removing it from the review pending list. The effect on
the generation is the same as if it had been accepted.
This command can only be used on generations which have a
review pending.
6.17.3 MARK GENERATION -
SYNTAX:
$ CMS MARK GENERATION element-expression /qualifiers
"remark"
COMMAND DESCRIPTION:
MARK GENERATION marks a generation which does not
Page 14
currently have a review pending as pending review, adding
it to the review pending list. This command can only be
used on generations which do not have a review pending.
6.17.4 REJECT GENERATION -
SYNTAX:
$ CMS REJECT GENERATION element-expression /qualifiers
"remark"
COMMAND DESCRIPTION:
REJECT GENERATION marks a generation which currently has a
review pending as rejected, removing it from the review
pending list. This command can only be used on
generations which have a review pending.
6.17.5 REVIEW GENERATION -
SYNTAX:
$ CMS REVIEW GENERATION element-expression /qualifiers
"remark"
COMMAND DESCRIPTION:
REVIEW GENERATION associates a review comment with a
generation that is currently under review. This command
can only be used on generations which have a review
pending. Comments entered with this command can be seen
with the SHOW REVIEWS_PENDING command.
6.17.6 SHOW REVIEWS_PENDING -
SYNTAX:
$ CMS SHOW REVIEWS_PENDING [element-expression]
[/qualifiers]
COMMAND DESCRIPTION:
Displays a list of those generations which are currently
marked for review; that is, those generations for which
reviews are pending. Also displays any review remarks
that have been associated with the generation under
review.
Page 15
6.18 Search Lists
DEC/CMS V3.0 provides users with the ability to operate on a
search list of libraries. A search list of libraries is set
up by specifying a list of directory specifications to the
CREATE LIBRARY or SET LIBRARY commands. In addition, the
/AFTER and /BEFORE qualifiers on those commands allow the
search list to be augmented, rather than superseded, by the
CREATE LIBRARY or SET LIBRARY command.
Most of the CMS commands now accept the optional /OCCLUDE
qualifier, as documented in the Command Dictionary part of
the Guide to VAX DEC/CMS. The new qualifier is used to
specify the command's behavior in a library search list
environment. By default, the command searches the
consecutive libraries in the search list until it finds the
first instance of any object it acts upon. This behavior
can be modified with the /OCCLUDE qualifier. For a given
type of object (ELEMENT, GROUP, CLASS, or OTHER), it can be
used to specify whether the first or all instances of the
given object found in the search list are to be acted upon
by the command.
In addition, a new command has been added to allow the
removal of one or more libraries from the search list:
6.18.1 SET NOLIBRARY -
SYNTAX:
$ CMS SET NOLIBRARY directory-spec[,directory-spec...]
[/qualifiers]
COMMAND DESCRIPTION:
Removes one or more, or all, libraries from the current
library search list. If all libraries are removed, the
logical CMS$LIB is deassigned.
6.19 SHOW RESERVATIONS
DEC/CMS V3.0 allows users to specify that concurrent
replacements are not to be displayed when using SHOW
RESERVATIONS. This is accomplished by the /NOREPLACEMENTS
qualifier on the SHOW RESERVATIONS command.
Page 16
6.20 UNRESERVE
DEC/CMS V3.0 allows a given user to reserve multiple
generations of the same element (including having multiple
reservations of the same generation). This requires that
the user be able to specify which generation is being
unreserved. To accomplish this, the /GENERATION and
/IDENTIFICATION_NUMBER qualifiers have been added to
UNRESERVE.
DEC/CMS V3.0 allows users to UNRESERVE reservations held by
another user if the person attempting the UNRESERVE holds
the process BYPASS privilege or is granted (via an ACE)
BYPASS access to the element. The UNRESERVE is logged as
having been performed by the person issuing the command, not
by the holder of the initial reservation. Any attempt to
UNRESERVE a reservation held by another user prompts for
confirmation before doing so.
The UNRESERVE command's /DELETE qualifier now accepts an
optional file specification:
UNRESERVE/DELETE[=file-specification]
The file specification allows the user to request that a
file with a different name than the name of the unreserved
element be deleted from the user's directory. It can also
be used to specify the device and/or directory where the
file to be deleted resides. If the /DELETE qualifier is
used without a file-specification, then the file with the
same name as the name of the element being unreserved,
residing in the current default directory, is assumed. In
any case, if the /DELETE qualifier is used, all the versions
of the file are deleted from the given directory.
6.21 New Callable Entry Points for V3
o CMS$DELETE_GENERATION
o CMS$MODIFY_GENERATION
o CMS$RETRIEVE_ARCHIVE
o CMS$REVIEW_GENERATION
o CMS$SET_ACL
o CMS$SET_NOLIBRARY
o CMS$SHOW_ACL
o CMS$SHOW_ARCHIVE
Page 17
o CMS$SHOW_REVIEWS_PENDING
6.22 Modified Callable Entry Points for V3
o CMS$ANNOTATE
o CMS$CREATE_ELEMENT
o CMS$CREATE_LIBRARY
o CMS$DIFFERENCES
o CMS$FETCH
o CMS$MODIFY_ELEMENT
o CMS$REMARK
o CMS$REMOVE_GENERATION
o CMS$REPLACE
o CMS$SET_LIBRARY
o CMS$SHOW_GROUP
o CMS$SHOW_LIBRARY
o CMS$SHOW_RESERVATIONS
o CMS$SHOW_VERSION
o CMS$UNRESERVE
7 Known Problems and Restrictions
7.1 CMS V2.3 and CMS T3.0 Libraries
CMS V2.3 attempts to work on a CMS V3 library, despite being
an incompatible version, resulting in a corrupted V3 library
(CMS T3.0 will not work on V2.3 libraries, except for
conversion).
Page 18
7.2 Callback Routine Parameters
Callback output routines for CMS$SHOW_GENERATION,
CMS$SHOW_GROUP and CMS$SHOW_RESERVATIONS are called with
additional parameters. Callback routines written in BASIC,
DIBOL, or any other language which performs run-time
argument count checking, will have to be updated for use
with this version of DEC/CMS.
7.3 Merging Binary Files
Merging of binary files, while allowed, will usually not
produce meaningful results.
7.4 Depth of Library Directories
CMS libraries cannot be in 8th-level directories, since the
first CREATE ELEMENT attempt will be unable to create a
subdirectory. CREATE LIBRARY and CONVERT LIBRARY will
detect this condition and signal an error.
7.5 Virtual Memory Requirements
CMS operations performed on several objects at a time may
require large amounts of virtual memory. You may need to
increase your page file quota (pgflquo) accordingly.
7.6 Assigning Action ACEs to Multiple Objects
When assigning action ACEs to multiple objects (specified
through comma lists or wildcarded expressions, or found in
multiple libraries in a library search list) the SET ACL
command may report syntax errors in otherwise correct ACE
specifications. This can be worked around by assigning
action ACEs to a single object at a time.
7.7 Blanks Cannot Separate Multiple Action ACEs
When multiple action ACEs are specified on a single SET ACL
command, only commas should be used as separators between
the individual ACEs. Additional blanks or tabs may cause
the SET ACL command to report syntax errors in otherwise
correct ACE specifications.
Page 19
7.8 Wildcard Indicator in Notification Messages
The history line sent to the CMS event handler and seen in
notification messages will contain the letter 'W' after the
transaction time field if the transaction resulted from a
wildcard operation. This information should be suppressed,
as it is by the SHOW HISTORY command.
7.9 Restriction on CMS$FETCH_OPEN and Library Search Lists
CMS$FETCH_OPEN, the callable routine that begins a
line-by-line fetch transaction, cannot be used with a
library search list. The directory argument may not contain
wildcard characters, nor may it be a comma list of directory
specifications, nor may it be a search list logical name.
7.10 Restriction on DIFFERENCES and Library Search Lists
The following restrictions apply to the CMS DIFFERENCES
command when used with a CMS library search list.
If both file_1 and file_2 are element generation
specifications, then both of the elements must reside in the
same library of the library search list.
CMS DIFFERENCES will emit %CMS-E-NOFETCH (or other messages
returned by CMS$FETCH_OPEN) if it cannot locate a specified
element generation. In a library search list, this may
occur if one or both of the specified elements do not exist
in the first library. These messages will be issued for
each library of the library search list in which the element
is not found. The exact sequence of such messages depends
on the values of the /OCCLUDE qualifier. In such cases, a
%CMS-E-NOFETCH message may be followed by a %CMS-S-IDENTICAL
or %CMS-W-DIFFERENT message. The latter message indicates
the actual status of the operation, whereas the intervening
%CMS-E-NOFETCH messages are a side-effect of the library
search list traversal. This behavior will be corrected in a
subsequent release of DEC/CMS.
The same considerations apply to the callable routine,
CMS$DIFFERENCES. CMS$DIFFERENCES uses the callable fetch
routines, CMS$FETCH_OPEN, CMS$FETCH_GET, and
CMS$FETCH_CLOSE. Conditions may be signaled from these
routines during the operation of CMS$DIFFERENCES. This
behavior will be changed in a subsequent release of DEC/CMS.
Page 20
7.11 Input File Deletion
If CMS is unable to delete the input file after a CREATE
ELEMENT or REPLACE operation, no message will be issued to
inform the user of the problem.
7.12 COPY ELEMENT with Many Elements/Generations
Using the COPY ELEMENT command to copy either a large number
of elements or an element with a large number of generations
may cause CMS to fail with an error diagnostic.
7.13 Generation Stack Overflow
Under certain pathological conditions, CMS may issue the
GENSTKOVF (generation stack overflow) fatal error message.
This indicates that CMS was trying to nest generation edits
to a depth greater than 400, which is the maximum allowable
nesting level. This nesting restriction may be removed in a
future version of CMS.
7.14 COPY ELEMENT/LIBRARY Messages
When the /LIBRARY qualifier is used with the COPY ELEMENT
command, CMS will emit CMS-I-LIBIS, CMS-I-LIBINSLIS, and
CMS-I-LIBREMLIS diagnostics as it references the specified
library. The current default library context is not
modified.
7.15 Reference Copy Messages
When using CMS library reference copies, certain file system
related messages, such as RMS-F-DEV or RMS-E-PRV, may refer
to the reference copy directory. The CMS messages do not
make this explicit in some cases. When such problems are
encountered, you should check that you have the required
access to the reference copy.
7.16 VERIFY/REPAIR on a Library with REFREPAIR Condition
When using VERIFY/REPAIR to clear a REFREPAIR (reference
copies need repairing) condition, CMS may ask if certain
spurious reference copies should be deleted. If you answer
'NO' to these prompts, CMS will report that the library has
been repaired, but the REFREPAIR condition will still exist.
Page 21
7.17 VERIFY/RECOVER on Valid Library
If you use the VERIFY/RECOVER command on a library that does
not need recovery, the VERIFY operation will fail with an
error diagnostic, RECNOTNEC, stating that the library does
not need recovery.
7.18 SET ACL/DELETE with Nonexistent Identifier
When using the SET ACL/DELETE command to delete a list of
ACEs from an ACL, the operation will terminate if it
encounters an identifier that does not exist on the system.
The correct behavior is to continue the operation with the
remaining ACEs specified.
7.19 Syntax Errors on SET ACL and SHOW ACL
Certain syntax errors are not detected by the command parser
in the SET ACL and SHOW ACL commands. This may result in
the repetitious display of the illegal syntax error message
for each object specified for the operation.
7.20 Severity of Summary Messages
The severity of CMS success summary messages may be changed
from the documented value of SUCCESS to INFORMATIONAL in
some cases. This will be corrected in a future release of
DEC/CMS.
7.21 Parameters on Negated Qualifiers
Certain qualifiers that should only accept parameters in
their non-negated form are also accepting them in their
negated form, and the qualifier is then treated as if it
were not negated. For example, the qualifier
/NOHISTORY="#H" should be disallowed, but is being treated
as /HISTORY="#H".
8 Documentation Errata
8.1 RETRIEVE ARCHIVE
The description of the RETRIEVE ARCHIVE command in the
Command Dictionary of the Guide to VAX DEC/Code Management
System is incorrect. The corrected version is as follows:
The RETRIEVE ARCHIVE command retrieves one or more
generations of an element from one or more archive files.
By default, CMS retrieves the highest numbered generation
from the archive file and places a copy of the generation
Page 22
in your default directory with the same file name and
type as the original element (unless you specify another
name or location with the /OUTPUT qualifier). You can
indicate a specific generation to be retrieved with the
/GENERATION qualifier. CMS creates one file for each
retrieved generation. You do not need to have a library
currently set to use this command, because the RETRIEVE
ARCHIVE command does not interact with the CMS library.