First page Back Continue Last page Text

oracle adf workshop


Creating an ADF Menu Model (continued)

2. Add view activities to each unbounded task flow that correspond to each menu node for which you want to create a page. For example, the Benefits menu contains:

A group node, Benefits, for grouping the subnodes

A shared node that points to the Insurance menu

An item node, PaidTimeOff, that corresponds to a page

Therefore, in the adfc­config­benefits task flow you would add one view activity (for paid time off). Do not create views for nodes that do not have a page in this task flow.

3. Create the pages for your menu hierarchy: one page for each node in the hierarchy. Alternatively, you could create the pages first and then drag them to the appropriate view activities in the task flows, or drag them to create the view activities.

4. In the Application Navigator, right-click each unbounded task flow and select Create ADF Menu. Create in a bottom-up manner, that is, create the submenus first, and then the parent menus. In the Create ADF Menu Model dialog box, give each menu a descriptive file name. You can use the root_menu default file name for the root adfc­config.xml file’s menu. When you create an ADF menu for a task flow, a global navigation rule is added to the task flow to access any views in that task flow.

5. In the Application Navigator, select the menu XML file that was just created. In the Structure window, you see that all views in the unbounded task flow have corresponding item nodes in the menu XML file. Create the node hierarchy by:

Creating group nodes for those groups that do not have a view activity: Right-click the menu node and select “Insert inside menu” > groupNode. Give the group node a descriptive name (such as groupNode_Benefits), set idref to the ID of one of the node’s children (such as itemNode_PaidTimeOff), and set the label that will display on navigation items (for example, Benefits).

Converting to group nodes any nodes that you want to use as a group node, but that do have a view activity and so already exist in the menu. Right-click the node and select Convert > groupNode. Change the ID if desired (for example, from itemNode_<name> to groupNode_<name>), and set the idref and label as in the step just above.

Creating shared nodes to reference other menus to access from this one. Right-click the menu node and select “Insert inside menu” > sharedNode. Set the ref property to the EL expression for the referenced menu, such as #{insurance_menu}.

Dragging each child to its parent. In the example of the Benefits menu, you would have created a shared node that references the insurance menu and a group node named groupNode_Benefits and labeled Benefits. You would drag the shared node and itemNode_PaidTimeOff to the group node.

Checking the labels of all group and item nodes—the label is what is displayed in the navigation item on a page

Note that the shared node of one menu may be a group node or an item node in the referenced submenu. For example, in the Home menu, Benefits is represented as a shared node that references #{benefits_menu}. In the Benefits menu, Benefits is the label for a group node that groups the PaidTimeOff item node and another shared node that references the insurance menu.