Field: New Menu Creation Directory

        Description:
            - Field is NOT changeable
            - DA enforces the default directory for all custom menus
            
        Best Practise:
            n/a
            
        Example(s):
            UNIX: DA_HOME/output/menus
            WINDOWS: DA_HOME\output\menus
Top   

Field: Enter a New File Name

        Description:
            - Enter a menu filename
            - Must include .xml file extension
    
        Best Practise:
            - Name should describe the menu purpose and remove any ambiguity
            
        Example(s):
            exadata_hang.xml
            oracle_database_performance.xml
Top   

Field: Command Name

        Description:
            - Enter a reference to call the command from within the menu mapping section
            
        Best Practise:
            - Prefix with '<command type>_' (see 'Extended Command Help' for command type help)
            - If command is a pre-requisite type, prefix with 'PREREQ_'
            - Avoid numbers as references - use short identifiers instead
            
        Example(s):
            rda_onet
            sql_XTRACT
            PREREQ_LOV_list_all_updates
            
Top   

Field: Command Title

        Description:
            - Enter short description of command's purpose
            
        Best Practise:
            - Use init caps    
            - Limit to no more than 35 characters long
            - Do NOT include the 'command type'
            
        Example(s):
            Oracle Net Information
            SQL Trace: XTRACT
            List all tools LOV
            
Top   

Field: Command Type

        Description:
            - Select from the list of values
            - 2 types of commands can be defined
                PreRequisite
                   List of values
                   'Command Name' is prefixed with 'PREREQ_'
                   Option selected feeds into a subsequent Pre-Requisite or standard command
                   Behavior is similar to a prompt
                Standard
                   Executes one of the pre-defined command types
                   This is where the prompts get passed into the command
            - Standard command type brief description:
              For more details, see 'Extended Command Help'
              Command Type = Adr     --> Performs calls to adrci
              Command Type = File    --> Used as a wrapper class to File collection and filtering
              Command Type = Java    --> Used as a wrapper class to run any java class that are 
                                            found in any of the jars in the DA_HOME/lib/custom directory
              Command Type = Ocm     --> Performs calls to emCCR to run, setup and collect OCM
              Command Type = OS:     --> Enables the running of shell scripts
              Command Type = Rda     --> Performs calls to rda.sh/rda.cmd
              Command Type = Sql     --> TBD
              Command Type = Sqlplus --> Supports sqlplus for Unix and PC for connecting with a
                                            username and password. Both Unix and windows also work with 
                                            connect / as sysdba as long as ORACLE_SID is set
              Command Type = System  --> Performs predefined actions -- internal to DA
              Command Type = Wls     --> Used as a wrapper class to wls related java and specialized 
                                            WLS commands from the command line
              
            - If a new command type is needed, log an enhancement request in the bug database to product=1330, 
              component=DIAGASSIST
            - The drop-down list is case-sensitive and displays as code expects it
            
        Best Practise:
            - n/a
            
        Example(s):
            see Command Argument
            
Top   

Field: Command Description

        Description:
            - Comprised of 3 sections
              1) Command Summary
                 - Explains the purpose of the command
              2) Input Requirements
                 - List what inputs will be prompted for 
              3) Output Details  
                 - Describe what is to be collected
                 - Optional: Include example 
            
        Best Practise:
            1) Command Summary
                 - Start with 'Command Summary' heading followed by a blank line
                 - Describe in detail what the command does using proper grammar and spelling
                 - End with a blank line

            2) Input Requirements
                 - Start with 'Input Requirements:' heading
                 - List each command prompt in prompt order using bullet format
                 - Describe input expected and any special instructions in sub-bullet format 
                   under the command prompt
                 - If an input is optional, note it as such, otherwise all inputs will be
                   assumed to be required
                 - End with a blank line

            3) Output Details  
                 - Start with 'Output Details:' heading
                 - Describe what the user can expect to find in the output files – no surprises!!
                 - End with a blank line

        Example(s):
              Command Summary
                Net Advisor is a tool that provides advice on resolving network layer 
                errors encountered using Oracle Net Services.
                The tool assesses information produced in a network trace file. It notes 
                which naming methods were used in attempting to resolve a given service 
                name and provides an overview of the network configuration.
      
              Input Requirements
                o Full path to the network trace file
    
              Output Details
                o An overview of the network configuration
                o Conflicts or issues in the network setup of the client
                o Suggestions of what to check or which actions to take for the issues found
Top   

Field: User Prompt 1

        Description:
            - Prompt Attributes
                o There are 3 attributes that contribute to describing a prompt: Type,  
                  Required flag and Validation Match Type (all selected from a drop-down 
                  list of values) and used for additional validation
                o 'Type' options are: 
                    STRING: Use when the input value expected in a string
                    NUMBER: Use when the input value expected in a number
                    PASSWORD: Use when the input value expected is a password
                    MULTICHOICE: tbd
            - Prompt Definition
                o Enter 'Prompt Reference|Instructions|Default Value' 
            - Prompt Reference includes up to 3 parts:
                o Unique identifier for the prompt 
                o Format: 'prompt type.menu name.prompt name'
                o If prompting for a pre-requisite, 'Prompt Reference' = pre-requisite command name
                o Prompt Type 
                    - There are 4 options for 'Prompt Type':
                        SAVE_ONCE    Value saved in .../da/output/config/user.properties
                                     Prompt only displays the first time it is called
                                     Saved value is always inserted on subsequent calls without re-prompting
                                     Use Admin, Manage Properties, Versions, Latest Collections menu to 
                                     update/reset the property
                        SAVE_REPEAT  Value saved in .../da/output/config/user.properties
                                     Prompt displays each time is is called, displaying saved value
                                     Entry of new value replaces the existing saved value     
                        SAVE_WALLET  MUST have 'Allow Saving Passwords' flag set to TRUE
                                       (navigate: Admin, Manage Properties, Versions, Latest Collections 
                                                  --> 1 Manage Properties 
                                                  --> 5 Allow/Disallow saving passwords)
                                     Value saved in .../da/output/config/ewallet.p12 (Secure Oracle Wallet file)
                                     Behaves like SAVE_ONCE - saved value will always be used without re-prompting
                                     Use Admin, Manage Properties, Versions, Latest Collections menu to 
                                       update/reset the credential
                        NULL         Value is not saved in the user.properties file
                                     Value will be prompted each time it is called
                                     Previous value will not be displayed

                o Menu Name
                    - Optional
                    - Enter filename without the file extension
                    - Used to keep the prompt specific to a menu
                    - If not specified, all menus will have access to the value (if saved)

                o Prompt Name
                    - Required
                    - Unique name identifying the value expected
                    
            - Instructions    
                o Provide instructions describing the value the prompt is expecting   

            - Default
                o Optional 
                o Enter a default value to confirm the most common value or to give an example for the user            
                
        Best Practise:
            - Prompt Reference
                o Menu Name is strongly recommended to avoid confusion with other prompts having the 
                  same prompt name
                  
            - Instructions
                o Be precise in asking what information is needed
                o Carriage returns are allowed to be as descriptive as needed
            
            - Default
                o If the prompt value is a discovered environment variable (logged in 
                  output/config/daenv.sh), use %%<variable name>%%
                  
        Example(s):
            Attribute Examples:
                Type : PASSWORD   Required : TRUE   Validation Match :  blank
                Type : STRING     Required : FALSE  Validation Match :  blank
            
            Prompt Reference Examples:
                SQL_ID|Enter the SQL_ID or HASH VALUE to analyze|
                SAVE_REPEAT.ORACLE_DATABASE.RAC_ROOT_TIMEOUT|Enter the ORAchk execution timout (sec)|300
                SAVE_WALLET.DBMACHINE.ROOTPASS|Please enter the ssh password for root|
                ORACLE_ANALYTICS.ORACLE_PARENT|Enter the Oracle Middleware home to be used for data analysis|%%MW_HOME%%
                PREREQ_ADR_HOME|Enter an ADR home by number|PREREQ_ADR_HOME:name
Top   

Field: Command Argument 1

        Description:
            - Enter the code to be executed for this command 
            - Depending on the command type, there may be pre-defined activities that may 
              be called here (i.e. 'run_module' can be called to run the specified RDA module)
            - Platform
                o When the command's argument detail differs based on platform (UNIX verses WINDOWS),
                  multiple arguments are needed, one for each unique platform code
                o Use the '+' to add platform-specific arguments
                o Platform specific command argument(s) will take precedence over the generic 'All' 
                  platforms command argument
            - Argument
                o 2 types of commands can be defined
                    1) PreRequisite
                         - List of values
                         - 'Command Name' is prefixed with 'PREREQ_'
                         - Option selected feeds into a subsequent pre-requisite or standard command
                         - Behavior is similar to a prompt
                    2) Standard
                         - Executes one of the pre-defined command types
                         - This is where the prompts get passed into the command using '%%' delimeters
                o
        Best Practise:
            - When using logic, encapsulate the arguments within <![CDATA[]]>
            
        Example(s):
            RDA command: 
                run_profile=WebLogicServer WLS_TYPE=ONE DO-MAIN=%%DOMAIN%% SERVERS=%%SERVERS%% USER=%%USER%% PASS=%%PASS%%

            SQLPLUS command:
               [[CDATA{ connect / as sysdba
               REM SQL extracted from OCM oracle_database.xml
               set pages 10000
               prompt Archive Destination
               select log_mode from v\$database;]]
               
            Open any target menu within the DA_HOME/menus directory for more command examples

Top   

Field: Categories

        Description:
            - Used to group commands related by a common purpose
            - The standard categories are based on the MOS Knowledge tasks:
                Backup and Recovery (ID=backup)
                Configuration (ID=config)
                Install (ID=install)
                Network (ID=network)
                Patching (ID=patching)
                Performance (ID=performance)
                Upgrade (ID=upgrade)
                Other (ID=default)
            - Currently, no set list of values has been defined
            - Sub-categories may be defined by prefixing with standard category
            - From the 'Command Edit' UI, you can only enter the Category ID
            - To edit and add 'Title' and 'Description' details, expand the 'Categories' 
              section on the left hand side of the UI and select the category 
            - To create a new category, click on an existing category to open the edit box
              Click 'Create Category' button and enter details
              Note: At least 1 category must exist to create new categories
                    You can either enter the category ID when entering a command and then edit with more details
                    Or create your menu using an existing fmenu file as the template -- they all include at least 1 category
              
        Best Practise:
            - Follow the standard categories for the top-level category IDs and Titles
            - Name sub-categories as <parent_cat>.<sub-cat>
            
        Example(s):
            Navigation:
                Expand Categories on left hand side to see available categories:
                      Configuration
                          HealthCheck Validation Checks (sub-category)
                          Networking Failures (sub-category)
                      Performance
                      Networking Failures
                Click on 'HealthCheck Validation Checks' to view category details:
                    Category Title = HealthCheck Validation Checks
                    ID = configure.HCVE
                    Category Description = This performs a series of PreInstallation Validation rules against the OS
Top