CONTENTS Title Page Copyright Page Preface 1 Introduction to CMS 1.1 Overview 1.2 CMS Concepts 1.2.1 Libraries, Elements, and Generations 1.2.2 Groups and Classes 1.2.3 Reservations and Replacements 1.2.4 Review 1.2.5 History and Remarks 1.2.6 Reference Copies 1.2.7 Lines of Descent and Variant Generations 1.2.8 Concurrent Reservations 1.2.9 Merging and Conflicts 1.2.10 Security 1.2.11 Events and Notification 1.3 Invoking CMS 1.4 Getting Help 1.5 Sample Session 1.6 Command Summary 2 Using CMS with DECwindows 2.1 Invoking CMS 2.2 Getting Help 2.3 Displaying CMS Information in DECwindows 2.3.1 Expanding and Collapsing CMS Objects 2.3.1.1 Double Clicking 2.3.1.2 Choosing a Function 2.3.1.3 Using the Pop-Up Menu 2.4 CMS Command Correspondence 2.5 Sample CMS DECwindows Session 2.5.1 Creating a CMS Library 2.5.2 Creating an Element 2.5.3 Displaying Two Views 2.5.4 Inserting a Generation into a Class 2.5.5 Reserving an Element 2.5.6 Modifying an Element 2.6 Customizing Your CMS DECwindows Interface 3 Libraries 3.1 Creating Libraries 3.1.1 Creating the Directory 3.1.2 Creating the Library 3.1.3 Creating Elements in the Library 3.1.4 Creating a Reference Copy Directory 3.2 Using Libraries 3.2.1 Setting Libraries 3.2.2 Modifying Library Lists 3.3 Controlling Occlusion in Multiple Libraries 3.3.1 Occlusion of Multiple Object Types in a Command 3.3.2 Examples 3.4 Library Locking 4 Elements and Generations 4.1 The Relationship Between Elements and Generations 4.2 Manipulating Elements and Generations 4.2.1 Creating Elements and Generations 4.2.2 Fetching an Element Generation 4.2.3 Reserving an Element Generation 4.2.4 Replacing an Element Generation 4.2.5 Monitoring Element Changes 4.2.6 Displaying Information About Elements and Generations 4.2.7 Deleting Generations 4.3 Concurrency 4.3.1 Concurrent Access 4.3.2 Concurrent Reservations 4.3.3 Concurrent Replacements 4.4 Delta Files 4.5 Element Attributes 4.5.1 The History Attribute 4.5.2 The Notes and Position Attributes 4.5.3 The Reference Copy Attribute 4.5.4 The Review Attribute 4.5.5 Examples of Using Element Attributes 5 Groups and Classes 5.1 Overview 5.1.1 Groups 5.1.2 Classes 5.1.3 The Difference Between Groups and Classes 5.2 Manipulating Groups 5.2.1 Creating Groups 5.2.2 Inserting Elements into Groups 5.2.3 Retrieving and Removing Elements from a Group 5.2.4 Displaying the Group Structure of a Library 5.2.5 Deleting Groups 5.3 Manipulating Classes 5.3.1 Creating Classes 5.3.2 Inserting Element Generations into Classes 5.3.3 Retrieving and Removing Generations from a Class 5.3.4 Displaying the Class Structure of a Library 5.3.5 Deleting Classes 5.4 Group and Class Attributes 6 Variants and Merging 6.1 Lines of Descent 6.1.1 Creating a Variant Generation 6.1.2 Accessing Variant Generations 6.1.3 Ancestor and Descendant Generations 6.2 Merging Two Generations of an Element 6.2.1 Merging Element Generations 6.2.2 Conflicts in the Merging Process 6.2.3 Verifying Merged Changes 7 Security Features 7.1 VMS File Access 7.1.1 Assigning UIC Protection 7.1.2 Assigning VMS ACL Protection 7.1.2.1 Using VMS ACLs on Directories 7.1.2.2 Using VMS ACLs on Files 7.2 CMS ACLs 7.2.1 Creating CMS ACLs 7.2.1.1 ACE Format 7.2.1.2 Access Types 7.2.1.3 ACL Format 7.2.2 Specifying ACLs with Commands 7.2.2.1 Examples of ACLs on Commands 7.2.3 Specifying ACLs with Other CMS Objects 7.2.3.1 Specifying ACLs on Elements, Groups, and Classes 7.2.3.1.1 Examples of ACLs on Elements, Groups, and Classes 7.2.3.2 Specifying ACLs on Element Lists, Group Lists, and Class Lists 7.2.3.2.1 Examples of ACLs on Lists 7.2.3.3 Specifying ACLs on Libraries and History 7.2.3.3.1 Examples of ACLs on History and the Library 7.3 VMS BYPASS Privilege and CMS BYPASS Access 7.4 Combining VMS and CMS Security Mechanisms 7.4.1 Example of Protection Scheme Using VMS and CMS Mechanisms 8 Event Handling and Notification 8.1 Event Handling 8.1.1 Specifying Action ACEs 8.1.2 Detecting Events 8.1.3 Using Your Own Event Handler 8.2 Notification of Events 8.3 Examples 9 Library Maintenance 9.1 Command Rollback 9.2 Verifying Data in a CMS Library 9.2.1 Using VERIFY/RECOVER 9.2.2 Using VERIFY/REPAIR 9.2.3 Correcting Errors 9.2.4 Reference Copies 9.3 Maintaining Library Efficiency 9.3.1 Deleting History Records 9.3.2 Deleting and Archiving Element Generations 9.4 Unusual Occurrences 10 Command Syntax 10.1 Command Format and Prompting 10.2 Command Parameters 10.2.1 Directory Specifications 10.2.2 Remarks 10.2.3 Element Names 10.2.4 Element Expressions 10.2.5 Element Generations and Expressions 10.2.6 Group Names 10.2.7 Group Expressions 10.2.8 Class Names 10.2.9 Class Expressions 10.3 Comma Lists 10.4 Command Qualifiers 10.4.1 Qualifier Values 10.4.1.1 File Specifications 10.4.1.2 Time Values 10.4.2 Qualifier Defaults 10.5 Wildcard Expressions 10.5.1 Single-Character Wildcards 10.5.2 Partial- and Full-Field Wildcards 10.5.3 Canceling Wildcard Transactions 10.6 Command Abbreviations Command Dictionary ACCEPT GENERATION ANNOTATE CANCEL REVIEW CONVERT LIBRARY COPY ELEMENT CREATE CLASS CREATE ELEMENT CREATE GROUP CREATE LIBRARY DELETE CLASS DELETE ELEMENT DELETE GENERATION DELETE GROUP DELETE HISTORY DIFFERENCES FETCH HELP INSERT ELEMENT INSERT GENERATION INSERT GROUP MARK GENERATION MODIFY CLASS MODIFY ELEMENT MODIFY GENERATION MODIFY GROUP MODIFY LIBRARY REJECT GENERATION REMARK REMOVE ELEMENT REMOVE GENERATION REMOVE GROUP REPLACE RESERVE RETRIEVE ARCHIVE REVIEW GENERATION SET ACL SET LIBRARY SET NOLIBRARY SHOW ACL SHOW ARCHIVE SHOW CLASS SHOW ELEMENT SHOW GENERATION SHOW GROUP SHOW HISTORY SHOW LIBRARY SHOW RESERVATIONS SHOW REVIEWS_PENDING SHOW VERSION UNRESERVE VERIFY A Summary of CMS Interface Functional Mappings B Error Messages B.1 Message Display B.1.1 Severity Levels B.1.2 Library Directory Specifications B.1.3 Secondary Messages B.2 CMS Messages C CMS Library Storage Method D System Management Considerations D.1 Library Backup D.2 System Time Errors D.3 Quotas EXAMPLES 4-1 An Element with History and Notes Attributes 4-2 Example of Using the Review Attribute FIGURES 2-1 CMS DECwindows Title Bar and Menus 2-2 Expanding a Group 2-3 CMS Pop-Up Menu 2-4 Creating a New CMS Library 2-5 Creating an Element 2-6 Displaying Two Views 2-7 Inserting a Generation into a Class 2-8 Reserving an Element 2-9 Modifying an Element 2-10 Command Mode 2-11 Outline View 2-12 Restricting History 3-1 Building a CMS Library 3-2 Library Occlusion 4-1 Elements and Their Generations 5-1 Groups and Classes 5-2 Generations in a Group 5-3 The Relationship Between Groups and Elements 6-1 Creating a Variant Generation 6-2 Extending a Variant Generation from an Earlier Generation 6-3 Ancestors on a Tree of Descent 6-4 Descendants on a Tree of Descent 6-5 The Relationship Between a Generation and an Element 6-6 A Generation After Replacement in the Library 7-1 CMS ACL Access Types TABLES 1-1 CMS Command Summary 7-1 File Access Required for CMS Commands 7-2 Object Types and Related Expressions