- Preface
- New and Changed Information for this Release
- Managing Modules
- Managing Accounts
- Collecting Account Inventory
- Managing Pods
- Managing Objects
- Managing Annotations and LOVs
- Managing Reports
- Managing Tasks
- Managing Menus
- Managing Trigger Conditions
- Change Tracking API
- Appendix A
- Appendix B
- Appendix C
Managing
Menus
This chapter contains the following sections:
Menu Navigation
Cisco UCS Director uses menu navigation to determine what reports and forms to display in the UI. For more information on the subject of report locations, refer to Specifying the Report Location.
The leftNavType field specifies the type of navigation to be used in your menu item.
The value none means that:
-
No navigation is required.
-
The context map rule associated with the menu item will use type = 10, name = "global_admin". (Important!)
![]() Note | When the leftNavType is set to none, the type value and name value for the context map rule associated with the menu item will come in handy when you need to register your reports to this menu location! |
If the leftNavType is backend_provided, you must provide an implementation of com.cloupia.model.cIM.AbstractTreeNodesProviderIf that populates the left hand navigation tree.
|
Menu |
ID |
|---|---|
|
Compute |
0 |
|
Storage |
1 |
|
Network |
2 |
|
Item |
ID |
|---|---|
|
Compute |
50 |
|
Storage |
51 |
|
Network |
52 |
Defining a Menu Item
What to Do Next
Register the menus.
Registering a Menu Item
For Open Automation, menu registration is handled automatically. As a developer, you only need to name the xml file of your menu as menu.xml, then package it as part of your module. Ensure that the menu.xml file is at the top level of the module jar file.
Define a new menu item under either a new or an existing folder.
Registering Report Contexts
This topic focuses on adding new report contexts. When developing new menu items, new report contexts are crucial: you must register new unique contexts, you CANNOT use existing contexts.
The Open Automation documentation about defining menu navigation briefly mentions that you need to provide a report context type when building your left hand navigation tree provider.
Report contexts are used by the system to determine which reports can be displayed at any point in the UI. For more background information, refer to the documentation on specifying report location: Specifying the Report Location. See also the list of existing report context data in Appendix B.
For open automation, there are APIs in place to auto-generate a new report context. Refer to com.cloupia.feature.foo.FooModule for examples on registering report contexts and menu providers.
![]() Tip | Auto generated report contexts are not portable. This means that if you deploy your module in one instance of UCSD and the same module in another instance of UCSD, the auto-generated report context you get in each instance may have different values. Thus, any code you write that uses those duplicate values will not necessarily work! To avoid such problems, use the ReportContextRegistry to register report contexts and retrieve them. |
Use com.cloupia.model.cIM.ReportContextRegistry.register(String name, String label), and take a look at the javadocs and sample code for more detail.
Refer to code samples and the Specifying Report Location document to see how these report contexts ultimately end up being used.
Open Automation developers who need to register report contexts should first talk to a UCSD lead. The UCSD lead can provide you with a block of integers reserved exclusively for your use. This will guarantee that any report contexts you define are unique. When you have your block, you can use ReportContextRegistry.register(int type, String name, String label) to register the new context.


Feedback