CONTENTS Title Page Copyright Page Send Us Your Comments Preface Part I Using Oracle CDD/Administrator: Sample Session 1 Introduction to Using Oracle CDD/Administrator 1.1 Sample Environment Using Oracle CDD/Administrator 1.1.1 Business Solutions 1.1.2 Uses of Oracle CDD/Administrator 1.1.3 Software Development Model 1.1.4 Structuring the Repository 1.1.5 Using the Repository 1.2 Building and Invoking the Sample Repository 1.3 Oracle CDD/Administrator Concepts and Tools 1.3.1 Control Panel 1.3.2 Roles 1.3.3 Navigators 1.3.4 Editors 1.3.5 Reports 1.3.6 Exiting from Oracle CDD/Administrator 1.3.7 Unsaved Attributes 2 Navigating Through Repositories 2.1 Sample Session of Navigator Tasks 2.1.1 Expanding Elements 2.1.2 Collapsing Elements 2.1.3 Changing the Navigator Display 2.1.4 Changing the Current Default 2.1.5 Invoking Additional Navigators 2.1.6 Invoking a Type Hierarchy Navigator 2.1.7 Invoking a Type List Navigator 2.1.8 Invoking a Dependency Graph Navigator 2.1.9 Invoking a Defined Properties Navigator 2.1.10 Invoking a Valid Properties Navigator 2.1.11 Invoking a Contained In Navigator 2.2 Using Change Notices in Navigators 2.3 Restricting Navigator Views 2.3.1 Using the Restrict... Dialog Box 2.3.2 Fields in the Restrict... Dialog Box 2.3.3 Action Keys in the Restrict... Dialog Box 2.3.4 Limiting Searches by Element Types 2.3.5 Filtering Searches by Element Names 2.3.6 Filtering Searches by Dependencies 2.3.7 Deleting Elements with a Navigator 2.3.8 Closing a Navigator 3 Creating and Editing Repository Elements 3.1 Components of an Editor 3.2 Sample Session of Editor Tasks 3.2.1 Opening a Context 3.2.2 Creating Elements 3.2.3 Modifying Existing Elements 3.2.4 Using Change Notices in Editors 3.2.4.1 Showing Notices 3.2.4.2 Clearing Notices 3.2.4.3 Forcing Notices 3.2.5 Creating Keywords 3.2.6 Changing Access Control Lists 3.2.7 Deleting Elements 3.2.8 Closing an Editor 4 Generating Reports 4.1 Components of a Report 4.2 Using Default Report Templates 4.3 Selecting Elements for Reports 4.4 Sample Session of Report Tasks 4.4.1 Choosing Display Options 4.4.2 Selecting the Contents of Reports 4.4.3 Printing Reports 4.4.4 Changing Print Options 4.4.5 Querying Reports 4.4.6 Closing the Report Tool 4.5 Accessing Reports Outside Oracle CDD/Administrator 5 Setting Up an Environment 5.1 Using Partitions 5.2 Using Contexts 5.3 Specifying Collections 5.4 Sample Session of Repository Setup Tasks 5.4.1 Creating Partitions 5.4.2 Creating Contexts 5.4.3 Associating a Collection with a Context 5.4.4 Creating Collections 6 Tailoring the Environment 6.1 Creating a New Role 6.1.1 Establishing Existing Roles Associated with a New Role 6.1.2 Establishing Navigators Available to a New Role 6.1.3 Establishing Report Functions Available to a New Role 6.1.4 Saving and Confirming a New Role 6.2 Modifying a Role 6.3 Creating a New Navigator 6.3.1 Establishing Mode of Display for a New Navigator 6.3.2 Establishing Properties for a New Navigator 6.3.3 Establishing Roles from Which a New Navigator Is Available 6.3.4 Establishing Types Available to a New Navigator 6.3.5 Saving and Confirming a New Navigator 6.4 Modifying a Navigator 6.5 Modifying an Editor 6.5.1 Modifying Editor Layout 6.5.2 Defining Editor Display Attributes and Changing Layout 6.5.3 Changing Editor Position 6.5.4 Adding Free Text to an Editor 6.5.5 Adding Pop-Up Editor Boxes 6.5.6 Enlarging Editor Property Areas 6.5.7 Removing Editor Properties and Labels 6.5.8 Setting Up Scan and Element ID Property Editors 6.5.9 Associating Editor Layouts with Roles 6.5.10 Saving Editor Layouts 6.5.11 Selecting Editor Preferences 6.5.12 Adding Editor Message Dialog Box Interfaces 6.5.13 Defining Option Menus for Element Editors 6.5.14 Adding a CddtNotice Property Editor 6.5.15 Modifying a CddtNotice Property Editor 6.5.16 Modifying the DEPENDS_ON Relationship 6.6 Creating a Report 6.7 Modifying a Report 6.8 Adding Notices to Reports 6.9 Extending Type Hierarchy 6.9.1 Creating a New Type 6.9.2 Extending Type Hierarchy with the Oracle CDD/Administrator Extension Utility 7 Programming with Oracle CDD/Administrator 7.1 Widgets 7.1.1 Navigator Widget 7.1.2 Element Editor Widget 7.1.3 Report Widget 7.2 Oracle CDD/Administrator Widget Routines 7.2.1 Creating Oracle CDD/Administrator Widgets 7.2.2 Manipulating/Convenience Routines 7.2.3 Printing 7.2.4 Sessions, Transactions, and Dispatching Messages 7.2.5 Change Notices 7.2.6 Changing Roles 7.3 Specialized Routines 7.3.1 Special Navigator Routines 7.3.2 Special Editor Routines 7.4 Customizing Type Icons 7.5 Programming with the Mrm Hierarchy 7.5.1 Convenience Routines to Manipulate Oracle CDD/Administrator 7.5.2 Set Sensitive Callback 7.5.3 Element Selection 7.5.4 Dynamic Menus 7.5.5 Help Boxes 7.5.6 Customize Procedures Part II The Extension Utility 8 Using the Extension Utility 8.1 Registering the Extension Utility 8.2 Starting the Extension Utility and Creating a Repository Extension 8.2.1 Creating a New Repository Extension 8.2.2 Modifying an Existing Repository Extension 8.2.3 Specifying a Facility Number 8.2.4 Working with Metadata Element Editors 8.2.5 Refining Existing Metadata Elements 8.2.6 Saving a Repository Extension 8.3 Checking Extension Consistency 8.4 Creating and Testing the Registration Program 8.4.1 Compiling and Linking the Registration Program 8.4.2 Running the Registration Program 9 Creating Tool, Message, and Method Elements 9.1 Creating Binary and Text Tool Elements 9.2 Creating New Messages 9.2.1 Creating Message Arguments 9.2.2 Creating the Message Element 9.3 Creating Methods 10 Defining Properties 10.1 Normal Properties 10.2 Relation Properties 10.2.1 Creating a Relation Type 10.2.2 Implementing a Property with the Relation Type 10.3 Computed Properties 11 Creating New Element Types 11.1 Adding Property Definitions 11.1.1 Adding New Properties 11.1.2 Refining Inherited Properties 11.1.2.1 Refining an Inherited Relation Property 11.1.2.2 Refining an Inherited Computed Property 11.2 Adding Method Definitions Part III Reference A Using the Oracle CDD/Administrator Command Line A.1 Invoking Oracle CDD/Administrator A.1.1 CDDADMINISTRATOR EDIT A.1.2 CDDADMINISTRATOR NAVIGATE A.1.3 CDDADMINISTRATOR REPORT B Oracle CDD/Administrator Callable Interface B.1 Legal Values for Resources B.2 OpenVMS Callback Reasons B.3 OpenVMS Callback Data Structures B.4 Redirecting MCS Operations B.5 Routine Section Batch Report Change Role Clear Notices Clear Selected Customize Editor Disable Dispatch Dispatch PassThru Display Report Edit Enables Edit Insert Elements Edit Is Changed Edit Remove Elements Edit Revert Edit Save Edit Sets Value Element Editor Create Enable Force Notices Get Prop List Get Selected Count Get Selected Elements Get Selected State Initialize Install Accelerators Instance Selection Create Is Editor Is Navigator Is Report Navigator Collapse Navigator Create Navigator Display Widget Navigator Expand Navigator Toggle Output Report Restore Attributes Restore System Attributes Save Attributes Save Report Format Set From Prop List C Call Interface Routines for Use with UIL and Mrm Create Control Panel Element Selection Create Error Message Display Mrm Hierarchy Fetch Copy Callback Fetch Into Shell Fetch Into Unmanaged Shell Fetch Widget Override Method Menu Pull Callback Register Mrm Names Role Select Callback Roles Menu Pull Callback Sens When Col Callback Sens When Exp Callback Sens When Sel Callback Set Hierarchy Set Title Bar View Menu Pull Callback D Using the Oracle CDD/Administrator Mrm Hierarchy Exported Widgets D.1 Lists Defined by CDDT_PULLDOWN_DEFS D.2 Pull-Down Menu Entries Exported by CDDT_PULLDOWNS D.3 Lists Defined by CDDT_MENU_BAR_DEFS D.4 Menu Bars Exported by CDDT_MENU_BARS D.5 Widgets Exported by CDDT_WIDGETS D.6 Element Selection Widget D.7 Other Objects Exported by Oracle CDD/Administrator E Sample C Source Code EXAMPLES 7-1 Code to Manipulate Widgets 7-2 Sample UID Code 7-3 Sample Code for Creating Help Boxes B-1 C Format Data Structure for Navigator Callbacks B-2 Dispatch Callback Data and Options B-3 Data Structure for Calling Callback Routine D-1 Icon Definition for the MCS_DIRECTORY Type E-1 Sample Code for Simple Client E-2 Using Mrm/UIL Hierarchy to Start Oracle CDD/Administrator E-3 Code to Define Icons FIGURES 1-1 Metadata Approval Cycle 1-2 Logical and Physical Environments 1-3 Applications Group's Partitions 1-4 Utilities Group's Partitions 1-5 Collections of an Order-Processing Application 1-6 Navigator Window 1-7 Control Panel Window 1-8 Control Panel Menu Items 1-9 Roles in Editors 2-1 Repository Contents Navigator Display 2-2 Navigator Menu Items 2-3 Using Expand Recursive 2-4 Change Navigator Contents... Dialog Box 2-5 Set Default... Dialog Box 2-6 Modify Current Navigator Dialog Box 2-7 Tree Style Navigator 2-8 Type Hierarchy Navigator 2-9 Type List Navigator 2-10 Dependency Graph Navigator 2-11 Navigation Window 2-12 Defined Properties Navigator 2-13 Valid Properties Navigator 2-14 Contained In Navigator 2-15 Notices Dialog Box 2-16 Restrict Dialog Box 2-17 Directory Search List 2-18 Adding Contexts to Search List 2-19 Dependency Search List 3-1 Editor Menu Items 3-2 Create New Element Dialog Box 3-3 CDD$DATA_ELEMENT Element Editor 3-4 Save As... Box 3-5 CDD$DATA_AGGREGATE Element Editor 3-6 Modify Element... Dialog Box 3-7 FULL_ADDRESS Record Editor 3-8 Clear Notices Message Box 3-9 Force Notices Message Box 3-10 Create Element... 3-11 CDD$KEYWORD Element Editor 3-12 Access Control List Editor 4-1 Report 4-2 Report Menu Items 4-3 Report Layout Files 4-4 Reports Dialog Box 4-5 Example Report Body Page 4-6 Print... Dialog Box 5-1 MCS_PARTITION Editor 5-2 MCS_CONTEXT Editor 5-3 Adding a Partition to a Context Editor 5-4 MCS_COLLECTION Editor 5-5 Save As... Selection Box 6-1 Create Role Dialog Box 6-2 Allowable Roles Subwindow 6-3 Active Navigators Subwindow 6-4 Active Reports Subwindow 6-5 Specify New Navigator Dialog Box 6-6 Display Mode... Subwindow 6-7 Display Options... Subwindow 6-8 Fwd/Rev Linkages Subwindow 6-9 Properties... Subwindow 6-10 Roles Subwindow 6-11 Types... Subwindow 6-12 Modify Current Navigator Dialog Box 6-13 Modify Editor 6-14 Edit Property Dialog box 6-15 New Property 6-16 Editor Layout Preferences Dialog Box 6-17 Configuration Layout Box 6-18 Property Layout for the CddtNotice EditorType 8-1 The Integration Development Cycle 8-2 Extension Utility Main Window (Empty) 8-3 Creating a Repository Extension 8-4 Specifying Metadata Element Name and Type 8-5 Extension Utility Main Window for Existing Repository Extension 8-6 Generating Source Code 9-1 Creating a Tool Element 9-2 Specifying an External Tool File 9-3 Creating a Message Argument 9-4 Selecting an Argument for a Message 9-5 Adding an Argument to a Message 9-6 Selecting a Function Type 9-7 Selecting a Message for a Method 9-8 Selecting a Tool for a Method 10-1 Specifying Property Characteristics 10-2 Selecting a Relation Type Supertype 10-3 Relation Type Editor After Setting Supertype 11-1 Element Type Editor After Selecting Supertype 11-2 Selecting the Property Implementation Type 11-3 Selecting a Method to Compute a Property 11-4 Specifying Relation Property Characteristics TABLES 1 Documentation Conventions 6-1 Keys for Modifying Editors or Reports A-1 Oracle CDD/Administrator Commands B-1 Common Resources B-2 Navigator Resources B-3 Report Resources B-4 Editor Resources B-5 Callback Reasons B-6 OpenVMS Data Types for Navigator Callbacks B-7 Fields in Example B-1 D-1 Exported Pull-Down Menu Contents D-2 Exported Pull-Down Menus D-3 Exported Menu Bar Contents D-4 Exported Menu Bars D-5 Exported Widgets D-6 Element Selection Resources D-7 Exported Icons