Skip Headers
Oracle® Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces
11g Release 1 (11.1.1.7.0)

Part Number E10149-12
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

12 Working with Navigation

Navigation enables the users of your portal to see what information the portal provides and to get to that information quickly and easily.

This chapter describes how to define your portal navigation model in Oracle WebCenter Portal: Spaces and how to use built-in navigation task flows to visualize that model in page templates. It includes the following sections:

Portal designers with advanced navigation requirements can use development tools, such as Oracle JDeveloper, to build navigation models and then upload them to Spaces. For more information, see Section 12.2.5, "Using JDeveloper to Build Your Navigation Model."

Similarly, page template designers can use those same development tools to build the navigation UI directly into page templates and upload those templates to Spaces. For more information, see Section 12.3.3, "Using JDeveloper to Visualize Your Navigation."

For generic information about adding and editing different types of resources, see Chapter 11, "Working with the Resources that Compose a Portal or Community."

Audience

This chapter is intended for Portal designers with the application permission Application-Navigations-Create, Edit, and Delete.

To build navigation models for a particular space, you need the permission space-Resources-Create, Edit, and Delete Resources (standard permission model) or space-Navigations-Create, Edit, and Delete Navigations (advanced permission model).

To add navigation to page templates, you also need the appropriate page template permissions, that is, Application-Page Templates-Edit to edit an application-wide page template, and either space-Resources-Edit Resources or space-Page Templates-Edit to edit a page template for a particular space.

See Also:

For information about roles and permissions, see Chapter 23, "Understanding Security."

12.1 What You Should Know About Navigation

Navigation is a fundamental aspect of your portal. Users need to be able to see what is available in the portal, move around the portal, and orient themselves within the portal.

Navigation is essentially a set of links pointing to the content of the portal, or to external resources. Examples of navigation include:

In Spaces, you can break navigation down into two main concepts:

12.1.1 What You Should Know About Navigation Models

When you create the navigation model, you specify the resources to which users can navigate. You can link together information from multiple sources, such as spaces, pages, content repositories, and even external web pages. You can also introduce folders and separators to make navigations easier to use. You can include nested navigation models within a navigation model to delegate development of the navigation across multiple teams, or to control access to different items in the navigation.

Navigation models can include the following resources:

  • Spaces (individual spaces and space hierarchies)

  • Pages (individual pages and page hierarchies)

  • Content (individual content items or the results of a content query)

  • Other navigation models

  • Portlets

  • Task flows

  • External applications

  • External links

The navigation model is aware of the security policies that have been applied to the elements (pages, link, task flows, and so on) that the navigation model controls. If the current user is not authorized to see a particular page, the navigation model, by default hides any navigational links to that page. Navigation model metadata can also be determined contextually using EL expressions. These expressions are evaluated at runtime to determine exactly which pieces of the navigation model are rendered in the navigation UI and to whom.

Spaces includes three built-in navigation models to get you started:

You can use these built-in navigations as they are, create copies of them and edit them to support your own requirements, or create a completely new navigation model for your portal.

Note:

You cannot edit the built-in navigation models. If you want to edit these navigation models, you must first create a copy, which you can then edit.

Just like other Spaces resources, portal designers can build navigation models that are available to the whole application (application-level resources) and navigation models that are scoped to a particular space (space-level resources).

If the navigation model functionality provided by Spaces does not meet your requirements, you can create the navigation model in a development tool, such as JDeveloper, and upload the model to Spaces using the Resource Manager. For more information, see Section 12.2.5, "Using JDeveloper to Build Your Navigation Model."

12.1.2 What You Should Know About Navigation Visualization

The navigation visualization determines how the navigation model should appear in the portal. For example, the navigation could be provided as a set of tabs along the top of each page, or perhaps as a tree-like structure down the side of the page.

Spaces provides the following built-in navigation task flows that page template designers can add to page templates to quickly visualize a navigation model across the entire portal:

  • Navigation Tree task flow—Tree navigations display navigational links in a hierarchical structure and often contain multiple-level hierarchies (Figure 12-4). Tree navigations can provide relatively simple access to a complex structure and quite often appear on the left in page templates.

    Figure 12-4 The Navigation Tree Task Flow

    Description of Figure 12-4 follows
    Description of "Figure 12-4 The Navigation Tree Task Flow"

  • Navigation Menu task flow—Menu navigations display navigational links as a series of tabs, menus, bars, buttons, choices, or as a list (Figure 12-5). Menu navigation is appropriate when linking to WebCenter Portal pages, spaces, and documents, and where the number of items is known, such that there is enough room to display all the options that are available.

    Figure 12-5 The Navigation Menu Task Flow

    Description of Figure 12-5 follows
    Description of "Figure 12-5 The Navigation Menu Task Flow"

  • Navigation Breadcrumb task flow—Breadcrumb navigations display a series of horizontal or vertical links that show users their current position in the navigation hierarchy (Figure 12-6). Breadcrumbs are particularly useful for deep hierarchies, say four levels or more, and when users might want to get back to a specific place.

    Figure 12-6 The Navigation Breadcrumb Task Flow

    Description of Figure 12-6 follows
    Description of "Figure 12-6 The Navigation Breadcrumb Task Flow"

See Also:

For information about how to add these built-in navigation task flows to your page templates, see Section 12.3, "Rendering Navigation in Your Portal."

For information about the different properties you can set for the built-in navigation task flows, see Section 12.3.2, "Setting Navigation Task Flow Properties."

Spaces also provides the Spaces Browser task flow, which displays all the spaces that are available to you. This includes spaces for which you are the moderator, spaces in which you are a member, spaces that are public and available to non-Spaces users, and spaces that are private, which you must be invited to join. For more information, see Section 53.15, "Working with the Space Task Flows."

Figure 12-7 The Spaces Browser Task Flow

Description of Figure 12-7 follows
Description of "Figure 12-7 The Spaces Browser Task Flow"

If the built-in task flows do not sufficiently satisfy the navigation requirements of your portal, page template designers can also edit page templates in a development tool, for example, JDeveloper, to build the navigation UI directly into the page templates themselves, then upload them to Spaces to use there.

For more information, see Section 12.3.3, "Using JDeveloper to Visualize Your Navigation."

12.2 Building a Navigation Model

The first step in providing navigation for your portal is to define the navigation model; that is, defining the structure and content of the navigation. You do this by creating the basic navigation model, adding navigation items to it, and setting the properties of those navigation items.

This section includes the following subsections:

12.2.1 Creating a Navigation Model

You can either create an entirely new navigation model or create a copy of an existing navigation model to use as a starting point for your navigation model.

You can create navigation models at the application level or at the space level. Application-level navigation models are available for use in all spaces, unless the space has been specifically excluded. For more information, see Section 11.4.2, "Setting Properties on a Resource." Space-level navigation models are available for use only in the space in which they are created.

To create a navigation model:

  1. Navigate to the Resources page of your application or the space in which you want to create the navigation model, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. On the menu bar, click Create.

  4. In the Create New Navigation dialog (Figure 12-8), in the Name field, enter a name for the navigation model.

    Figure 12-8 The Create New Navigation Dialog

    Description of Figure 12-8 follows
    Description of "Figure 12-8 The Create New Navigation Dialog"

  5. In the Description field, enter a description for the navigation model.

    The description is displayed below the name in the Resources page and as a tool tip when selecting a navigation model. You should ensure that the description helps page template designers determine if they want to use this particular navigation model.

  6. From the Copy From list, select an existing navigation model to use as the starting point for your new navigation model, if desired. If you leave this blank, a new empty navigation model is created.

    Tip:

    You can also create a copy of an existing navigation model by selecting the existing navigation on the Resources page, clicking Edit and then Copy on the menu bar, and providing a name and description for the new navigation model.

  7. Click Create.

    The newly created navigation model is listed on the Resources page. The gray circle icon next to the navigation model indicates that it is not yet published and hence is not available to other users. For information about publishing a navigation model, see Section 11.4.3, "Showing and Hiding Resources."

12.2.2 Editing a Navigation Model

After creating the basic navigation model, the next step is to define exactly what to include in it. The resources that you include in the navigation model determine what users can navigate to when the model is displayed on a page.

This section includes the following subsections:

12.2.2.1 Adding Resources to a Navigation Model Using the Edit Dialog

The Edit dialog provides various options for adding resources to your navigation model.

This section includes the following subsections:

12.2.2.1.1 Adding a Document to a Navigation Model

You can add a document from your content repository to the navigation model. Selecting a document in the navigation displays that document in the page.

Note:

You can also include a set of documents that match particular query criteria in a navigation model. For more information, see Section 12.2.2.1.2, "Adding Content Based on the Results of a Query to a Navigation Model."

To add a document:

  1. Navigate to the Resources page of your application or the space that contains the navigation model to which you want to add the navigation item, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. In the main panel, select the navigation model to which you want to add the navigation item.

  4. From the Edit menu, select Edit.

  5. In the Edit dialog, from the Add menu, select Content Item.

    Tip:

    To create a navigation item within a folder, select the folder first and then click Add.

    Figure 12-9 The Add Content Item Menu Option

    Description of Figure 12-9 follows
    Description of "Figure 12-9 The Add Content Item Menu Option"

  6. In the Target tab, the ID field is automatically populated with a generated ID. This ID is used to create the URL to access the item in the navigation model, so you may want to change it to something more descriptive.

    The ID must be unique within the navigation model. The first character must be either an uppercase or lowercase letter or the underscore character (_). Subsequent characters can be any alphanumeric character or a dash (-), period (.), or underscore (_).

    If the resource is at the top level of the navigation model, the ID must not be wc_navtitle or wcnav_externalId; these IDs are reserved.

  7. In the Name field, enter a name for the navigation item. This name is displayed in the navigation when it is rendered on a page.

    Tip:

    All fields in the Edit dialog provide access to an Expression Language (EL) editor, which you can use to select or specify a variable value instead of a constant value. Click the Edit icon next to a field to open the editor. For more information about using the editor and for common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

    Figure 12-10 The Edit Navigation Item Dialog for a Content Item

    Description of Figure 12-10 follows
    Description of "Figure 12-10 The Edit Navigation Item Dialog for a Content Item"

  8. In the Description field, enter a brief description of the navigation item.

  9. Select Visible if you want to display the navigation item when the navigation model is rendered on a page.

    Alternatively, you can specify an EL expression to determine under which conditions the navigation item displays in the navigation. For example, to specify that the navigation item should be visible only to users with the Moderator role, use the following EL expression:

    #{WCSecurityContext.userInScopedRole['Moderator']}
    
  10. In the Path field, enter the path for the content item. If you do not know the path, click the Select icon to browse the content repository for available content.

    Note:

    You can also select a content folder, in which case, you should also select a Content Presenter display template that expects a folder and renders all the content from that folder.

  11. From the Content Presenter Template dropdown list, select the Content Presenter display template to use to render the content item when it is selected in the navigation.

    See Also:

    For more information about Content Presenter, see Chapter 42, "Publishing Content Using Content Presenter."

  12. From the Page Template dropdown list, select the page template to use to display the navigation item when it is selected in the navigation.

    Select [system default] to use the space or application default page template.

  13. In the Options tab, set the display options for the navigation item. For more information, see Section 12.2.2.1.8, "Setting Display Options for Navigation Items."

  14. In the Parameters tab enter values, as desired, for any parameters supported by the selected page template. You can also add custom parameters.

  15. Click OK to create the navigation item.

  16. Click OK to close the Edit dialog.

12.2.2.1.2 Adding Content Based on the Results of a Query to a Navigation Model

You can add a Content Query navigation item to the navigation model to include all documents that match specific search criteria.

See Also:

To add a single document, or all documents within a particular folder to the navigation model, see Section 12.2.2.1.1, "Adding a Document to a Navigation Model."

To add a content query to a navigation model:

  1. Navigate to the Resources page of your application or the space that contains the navigation model to which you want to add the navigation item, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. In the main panel, select the navigation model to which you want to add the navigation item.

  4. From the Edit menu, select Edit.

  5. In the Edit dialog, from the Add menu, select Content Query.

    Tip:

    To create a navigation item within a folder, select the folder first and then click Add.

    Figure 12-11 The Add Content Query Menu Option

    Description of Figure 12-11 follows
    Description of "Figure 12-11 The Add Content Query Menu Option"

  6. In the Target tab, the ID field is automatically populated with a generated ID. This ID is used to create the URL to access the item in the navigation model, so you may want to change it to something more descriptive.

    The ID must be unique within the navigation model. The first character must be either an uppercase or lowercase letter or the underscore character (_). Subsequent characters can be any alphanumeric character or a dash (-), period (.), or underscore (_).

    If the resource is at the top level of the navigation model, the ID must not be wc_navtitle or wcnav_externalId; these IDs are reserved.

  7. In the Name field, enter a name for the navigation item. This name is displayed in the navigation when it is rendered on a page.

    Tip:

    All fields in the Edit dialog provide access to an Expression Language (EL) editor, which you can use to select or specify a variable value instead of a constant value. Click the Edit icon next to a field to open the editor. For more information about using the editor and for common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

    Figure 12-12 The Edit Navigation Item Dialog for a Content Query

    Description of Figure 12-12 follows
    Description of "Figure 12-12 The Edit Navigation Item Dialog for a Content Query"

  8. In the Description field, enter a brief description of the navigation item.

  9. Select Visible if you want to display the navigation item when the navigation model is rendered on a page.

    Alternatively, you can specify an EL expression to determine under which conditions the navigation item displays in the navigation. For example, to specify that the navigation item should be visible only to users with the Moderator role, use the following EL expression:

    #{WCSecurityContext.userInScopedRole['Moderator']}
    
  10. In the Query String field, enter the query criteria to identify the content to include in the navigation model, for example:

    select * from cmis:document WHERE cmis:name LIKE 'Foo%'
    

    For more information about how to format the query and for more examples, see the Oracle Fusion Middleware Content Management REST Service Developer's Guide.

  11. Select Hide Top-Level Folder to display the results of the query directly in the navigation rather than displaying them under a folder.

  12. In the Options tab, set the display options for the navigation item. For more information, see Section 12.2.2.1.8, "Setting Display Options for Navigation Items."

  13. In the Parameters tab you can add custom parameters.

  14. Click OK to create the navigation item.

  15. Click OK to close the Edit dialog.

12.2.2.1.3 Adding a Spaces Page, Portlet, Task Flow, External Application, or Web Page to a Navigation Model

You can add links to individual resources, such as pages, portlets, task flows, external applications, and web pages.

See Also:

The Link navigation item type enables you to include a link to a single page in the navigation. For information about how to include an entire page hierarchy, see Section 12.2.2.1.4, "Adding a List of Pages to a Navigation Model."

To add a link to a spaces page, portlet, task flow, external application, or web page:

  1. Navigate to the Resources page of your application or the space that contains the navigation model to which you want to add the navigation item, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. In the main panel, select the navigation model to which you want to add the navigation item.

  4. From the Edit menu, select Edit.

  5. In the Edit dialog, from the Add menu, select Link (Figure 12-13).

    Tip:

    To create a navigation item within a folder, select the folder first and then click Add.

    Figure 12-13 The Add Link Menu Option

    Description of Figure 12-13 follows
    Description of "Figure 12-13 The Add Link Menu Option"

    Note:

    If you provide navigation directly to a portlet or task flow, users cannot customize that portlet or task flow. If you want users to be able to customize the portlet or task flow, add it to a page and create a navigation item for that page.

  6. In the Target tab, the ID field is automatically populated with a generated ID. This ID is used to create the URL to access the item in the navigation model, so you may want to change it to something more descriptive.

    The ID must be unique within the navigation model. The first character must be either an uppercase or lowercase letter or the underscore character (_). Subsequent characters can be any alphanumeric character or a dash (-), period (.), or underscore (_).

    If the resource is at the top level of the navigation model, the ID must not be wc_navtitle or wcnav_externalId; these IDs are reserved.

  7. In the Name field, enter a name for the navigation item. This name is displayed in the navigation when it is rendered on a page.

    Tip:

    All fields in the Edit dialog provide access to an Expression Language (EL) editor, which you can use to select or specify a variable value instead of a constant value. Click the Edit icon next to a field to open the editor. For more information about using the editor and for common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

    Figure 12-14 The Edit Navigation Item Dialog for a Link

    Description of Figure 12-14 follows
    Description of "Figure 12-14 The Edit Navigation Item Dialog for a Link"

  8. In the Description field, enter a brief description of the navigation item.

  9. Select Visible if you want to display the navigation item when the navigation model is rendered on a page.

    Alternatively, you can specify an EL expression to determine under which conditions the navigation item displays in the navigation. For example, to specify that the navigation item should be visible only to users with the Moderator role, use the following EL expression:

    #{WCSecurityContext.userInScopedRole['Moderator']}
    
  10. In the Path field, enter the URL of the web page or click the Select icon to browse for available spaces pages, portlets, task flows, or external applications to include in the navigation model.

    Note:

    In the Select dialog, the Select button is active only when you select an item that can be included in the navigation model. For example, if you expand the Portlets node and select a portlet producer, then the Select button is disabled. If you expand the portlet producer node and select a portlet, then the Select button is enabled.

  11. From the Page Template dropdown list, select the page template to use to display the navigation item when it is selected in the navigation.

    Select [system default] to use the space or application default page template.

  12. In the Options tab, set the display options for the navigation item. For more information, see Section 12.2.2.1.8, "Setting Display Options for Navigation Items."

    Tip:

    If you are linking to a page in a different space from the space in which the navigation model will be used, you must select the Redirect option to ensure that the link is displayed correctly.

  13. In the Parameters tab enter values, as desired, for any parameters supported by the selected page, task flow, or portlet, or by the page template. You can also add custom parameters.

  14. Click OK to create the navigation item.

  15. Click OK to close the Edit dialog.

12.2.2.1.4 Adding a List of Pages to a Navigation Model

You can add a list of pages to the navigation model by selecting the starting point for the list and specifying the criteria to use to determine the pages to display. For example, you can include all the pages in a specific space, all the Wiki pages in the current space, or all Home space pages. All pages below the selected starting point that match the criteria are included in the navigation model.

See Also:

If you just want to include a single page in the navigation model, use the Link navigation item type. For more information, see Chapter 12, "Adding a Spaces Page, Portlet, Task Flow, External Application, or Web Page to a Navigation Model."

To add a list of pages:

  1. Navigate to the Resources page of your application or the space that contains the navigation model to which you want to add the navigation item, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. In the main panel, select the navigation model to which you want to add the navigation item.

  4. From the Edit menu, select Edit.

  5. In the Edit dialog, from the Add menu, select Pages Query.

    Tip:

    To create a navigation item within a folder, select the folder first and then click Add.

    Figure 12-15 The Add Pages Query Menu Option

    Description of Figure 12-15 follows
    Description of "Figure 12-15 The Add Pages Query Menu Option"

  6. In the Target tab, the ID field is automatically populated with a generated ID. This ID is used to create the URL to access the item in the navigation model, so you may want to change it to something more descriptive.

    The ID must be unique within the navigation model. The first character must be either an uppercase or lowercase letter or the underscore character (_). Subsequent characters can be any alphanumeric character or a dash (-), period (.), or underscore (_).

    If the resource is at the top level of the navigation model, the ID must not be wc_navtitle or wcnav_externalId; these IDs are reserved.

  7. In the Name field, enter a name for the navigation item. This name is displayed in the navigation when it is rendered on a page.

    Tip:

    All fields in the Edit dialog provide access to an Expression Language (EL) editor, which you can use to select or specify a variable value instead of a constant value. Click the Edit icon next to a field to open the editor. For more information about using the editor and for common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

    Figure 12-16 The Edit Navigation Item Dialog for a Pages Query

    Description of Figure 12-16 follows
    Description of "Figure 12-16 The Edit Navigation Item Dialog for a Pages Query"

  8. In the Description field, enter a brief description of the navigation item.

  9. Select Visible if you want to display the navigation item when the navigation model is rendered on a page.

    Alternatively, you can specify an EL expression to determine under which conditions the navigation item displays in the navigation. For example, to specify that the navigation item should be visible only to users with the Moderator role, use the following EL expression:

    #{WCSecurityContext.userInScopedRole['Moderator']}
    
  10. In the Find Pages in radio group, select:

    • Home Space to add the current user's Home space and all its pages to the navigation model.

    • Space to add the home page of a specific space and all its other pages to the navigation model. Enter the name of the space, or click the Select Space icon to select from all available spaces. In the Select Space dialog, you can list all available spaces or you can filter the list of spaces to those that you have joined, those that you moderate, or those that are public.

    • Path to add a specific page to the navigation model. Enter the path of the page, or click the Select Page icon to select from all available pages.

  11. From the Page Style dropdown list, select the style of page to include in the navigation model. For example, if you select Wiki, only pages that use the Wiki page style are included in the navigation model.

    Selecting [system default] displays all pages, regardless of style.

  12. In the Excluded Page Styles field, specify the styles of pages to exclude from the navigation model by entering a comma-separated list of page style paths, for example:

    /oracle/webcenter/siteresources/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/
    pageStyle/gsr1b60e8a7_2e23_48ff_9571_31ede592de1a/TemplateWiki.jspx, 
    /oracle/webcenter/siteresources/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/
    pageStyle/gsr1b60e8a7_2e23_48ff_9571_31ede592de1b/TemplateBlog.jspx
    

    Tip:

    You can find the path of a page style by selecting it in the Resources page and clicking About in the menu bar.

    Any pages that use the page styles specified here are not included in the navigation.

  13. From the Visibility dropdown list, select whether to include pages even if they have been flagged as hidden in the Personalize Pages page.

    Selecting [system default] displays all pages, regardless of visibility.

  14. Select Hide Top-Level Folder to display the subpages in the hierarchy directly in the navigation rather than displaying them under a folder for the parent page.

  15. From the Page Template dropdown list, select the page template to use to display the navigation item when it is selected in the navigation.

    Select [system default] to use the space or application default page template.

  16. In the Options tab, set the display options for the navigation item. For more information, see Section 12.2.2.1.8, "Setting Display Options for Navigation Items."

  17. In the Parameters tab enter values, as desired, for any parameters supported by the selected page template. You can also add custom parameters.

  18. Click OK to create the navigation item.

  19. Click OK to close the Edit dialog.

12.2.2.1.5 Adding a List of Subspaces to a Navigation Model

You can include a list of all the subspaces of a particular space in your navigation model. You can also include all the pages in those subspaces, or specify a query to further refine which subspaces to include in the list.

To add a list of subspaces:

  1. Navigate to the Resources page of your application or the space that contains the navigation model to which you want to add the navigation item, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. In the main panel, select the navigation model to which you want to add the navigation item.

  4. From the Edit menu, select Edit.

  5. In the Edit dialog, from the Add menu, select Spaces Query.

    Tip:

    To create a navigation item within a folder, select the folder first and then click Add.

    Figure 12-17 The Add Spaces Query Menu Option

    Description of Figure 12-17 follows
    Description of "Figure 12-17 The Add Spaces Query Menu Option"

  6. In the Target tab, the ID field is automatically populated with a generated ID. This ID is used to create the URL to access the item in the navigation model, so you may want to change it to something more descriptive.

    The ID must be unique within the navigation model. The first character must be either an uppercase or lowercase letter or the underscore character (_). Subsequent characters can be any alphanumeric character or a dash (-), period (.), or underscore (_).

    If the resource is at the top level of the navigation model, the ID must not be wc_navtitle or wcnav_externalId; these IDs are reserved.

  7. In the Name field, enter a name for the navigation item. This name is displayed in the navigation when it is rendered on a page.

    Tip:

    All fields in the Edit dialog provide access to an Expression Language (EL) editor, which you can use to select or specify a variable value instead of a constant value. Click the Edit icon next to a field to open the editor. For more information about using the editor and for common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

    Figure 12-18 The Edit Navigation Item Dialog for a Spaces Query

    Description of Figure 12-18 follows
    Description of "Figure 12-18 The Edit Navigation Item Dialog for a Spaces Query"

  8. In the Description field, enter a brief description of the navigation item.

  9. Select Visible if you want to display the navigation item when the navigation model is rendered on a page.

    Alternatively, you can specify an EL expression to determine under which conditions the navigation item displays in the navigation. For example, to specify that the navigation item should be visible only to users with the Moderator role, use the following EL expression:

    #{WCSecurityContext.userInScopedRole['Moderator']}
    
  10. In the Space field, enter the name of the space for which you want to display subspaces, or click the Select Space icon to select from the available spaces.

    If you leave the field empty, then the current space is used.

  11. Select Display Subspace Pages to also include the pages within the subspaces in the navigation.

  12. Select Hide Top-Level Folder to display the subspaces directly in the navigation rather than displaying them under a folder for the parent space.

  13. In the Advanced Query field, enter an EL expression to further refine the list of subspaces included in the navigation model. For example, you might want to include only community subspaces, or subspaces with a particular string in the title. For more information about using the Expression Language editor and for descriptions of common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

  14. In the Options tab, set the display options for the navigation item. For more information, see Section 12.2.2.1.8, "Setting Display Options for Navigation Items."

  15. In the Parameters tab you can add custom parameters.

  16. Click OK to create the navigation item.

  17. Click OK to close the Edit dialog.

12.2.2.1.6 Nesting a Navigation Model Within a Navigation Model

You can nest navigation models within each other. For example, if you have a complex navigation model, it might be easier to break it down into several separate models and then nest them all within a single overarching navigation model. You can also use nested navigation models to delegate the development of navigation models to different users or to control access to different parts of the navigation.

For example, if you are creating a navigation model for a space that contains several subspaces, you may want to delegate the management of the navigation models for the subspaces to the subspace moderators. You can then include navigation references to the subspace navigation models within the main space navigation model. In this way, the person who is most familiar with the content of the subspace creates the navigation model, without having to have access to other areas of the space.

To nest navigation models:

  1. Navigate to the Resources page of your application or the space that contains the navigation model to which you want to add the navigation item, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. In the main panel, select the navigation model to which you want to add the navigation item.

  4. From the Edit menu, select Edit.

  5. In the Edit dialog, from the Add menu, select Navigation Reference.

    Tip:

    To create a navigation item within a folder, select the folder first and then click Add.

    Figure 12-19 The Add Navigation Reference Menu Option

    Description of Figure 12-19 follows
    Description of "Figure 12-19 The Add Navigation Reference Menu Option"

  6. In the Target tab, the ID field is automatically populated with a generated ID. This ID is used to create the URL to access the item in the navigation model, so you may want to change it to something more descriptive.

    The ID must be unique within the navigation model. The first character must be either an uppercase or lowercase letter or the underscore character (_). Subsequent characters can be any alphanumeric character or a dash (-), period (.), or underscore (_).

    If the resource is at the top level of the navigation model, the ID must not be wc_navtitle or wcnav_externalId; these IDs are reserved.

  7. In the Name field, enter a name for the navigation item. This name is displayed in the navigation when it is rendered on a page.

    Tip:

    All fields in the Edit dialog provide access to an Expression Language (EL) editor, which you can use to select or specify a variable value instead of a constant value. Click the Edit icon next to a field to open the editor. For more information about using the editor and for common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

    Figure 12-20 The Edit Navigation Item Dialog for a Navigation Reference

    Description of Figure 12-20 follows
    Description of "Figure 12-20 The Edit Navigation Item Dialog for a Navigation Reference"

  8. In the Description field, enter a brief description of the navigation item.

  9. Select Visible if you want to display the navigation item when the navigation model is rendered on a page.

    Alternatively, you can specify an EL expression to determine under which conditions the navigation item displays in the navigation. For example, to specify that the navigation item should be visible only to users with the Moderator role, use the following EL expression:

    #{WCSecurityContext.userInScopedRole['Moderator']}
    
  10. From the Include Navigation dropdown list, select the navigation model that you want to nest within this navigation model.

  11. Select Hide Top-Level Folder to display the content of the navigation model directly in the navigation rather than displaying it under a folder.

  12. In the Options tab, set the display options for the navigation item. For more information, see Section 12.2.2.1.8, "Setting Display Options for Navigation Items."

  13. In the Parameters tab you can add custom parameters.

  14. Click OK to create the navigation item.

  15. Click OK to close the Edit dialog.

12.2.2.1.7 Organizing Navigation Items in a Navigation Model

You can add folders to your navigation model to create subsets of navigation items or to group similar navigation items. You can also add separators to divide the navigation model into distinct groupings of navigation items. Folders and separators enable you to break up the items in the navigation when it is rendered on in a page, making it easier to locate items.

In addition to folders and separators, you can also organize items within the navigation model by moving them up and down in relation to each other and even indenting items to indicate hierarchy.

You can also rearrange items within the navigation model by dragging them up and down in relation to each other and dragging them inside other items to indicate hierarchy.

To organize navigation items:

  1. Navigate to the Resources page of your application or the space that contains the navigation model to which you want to add the navigation item, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. In the main panel, select the navigation model to which you want to add the navigation item.

  4. From the Edit menu, select Edit.

  5. To add a separator, in the Edit dialog, from the Add menu, select Separator.

    Figure 12-21 The Add Separator Menu Option

    Description of Figure 12-21 follows
    Description of "Figure 12-21 The Add Separator Menu Option"

    A separator is added at the end of the navigation model. You can move the separator to the desired location as described later in this procedure.

  6. To add a folder:

    1. In the Edit dialog, from the Add menu, select Folder.

      Tip:

      To create a navigation item within a folder, select the folder first and then click Add.

      Figure 12-22 The Add Folder Menu Option

      Description of Figure 12-22 follows
      Description of "Figure 12-22 The Add Folder Menu Option"

    2. In the Target tab, specify an ID, Name, and Description for the navigation item.

      Tip:

      All fields in the Edit dialog provide access to an Expression Language (EL) editor, which you can use to select or specify a variable value instead of a constant value. Click the Edit icon next to a field to open the editor. For more information about using the editor and for common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

      Figure 12-23 The Edit Navigation Item Dialog for a Folder

      Description of Figure 12-23 follows
      Description of "Figure 12-23 The Edit Navigation Item Dialog for a Folder"

    3. Select Visible if you want to display the navigation item when the navigation model is rendered on a page.

      Alternatively, you can specify an EL expression to determine under which conditions the navigation item displays in the navigation. For example, to specify that the navigation item should be visible only to users with the Moderator role, use the following EL expression:

      #{WCSecurityContext.userInScopedRole['Moderator']}
      
    4. In the Options tab, set the display options for the navigation item. For more information, see Section 12.2.2.1.8, "Setting Display Options for Navigation Items."

    5. In the Parameters tab you can add custom parameters.

    6. Click OK to create the navigation item.

      The folder is added at the end of the navigation model. You can move the folder to the desired location as described in the next step.

  7. To move a navigation item within the navigation model, select the item and click the Move Up or Move Down icon as many times as necessary until the item is in the desired location.

  8. To indent one navigation item (child item) under another item (parent item), move the child item so that it is immediately below the parent item, select the child item and click the Indent icon.

  9. To move an indented item so that it is no longer indented below another item, select the item and click the Outdent icon.

  10. Click OK to close the Edit dialog.

12.2.2.1.8 Setting Display Options for Navigation Items

You can specify various display options for navigation items to determine their appearance and behavior when the navigation is rendered on a page.

The display options available depend on the type of the navigation item.

  1. Navigate to the Resources page of your application or the space that contains the navigation model to which you want to add the navigation item, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. In the main panel, select the navigation model that contains the navigation item for which you want to specify display options.

  4. From the Edit menu, select Edit.

  5. Select the navigation item.

  6. From the menu bar, click Edit.

  7. In the Options tab, in the Access Key field, enter a key mnemonic (single character) that can be used to access the navigation item without using the mouse.

    Tip:

    All fields in the Edit dialog provide access to an Expression Language (EL) editor, which you can use to select or specify a variable value instead of a constant value. Click the Edit icon next to a field to open the editor. For more information about using the editor and for common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

    Figure 12-24 The Options Tab of the Edit Navigation Item Dialog

    Description of Figure 12-24 follows
    Description of "Figure 12-24 The Options Tab of the Edit Navigation Item Dialog"

  8. In the Icon URI field, enter a path and file name of an image to use to represent the navigation item.

  9. In the Search Keywords field, enter keywords to facilitate searching of the navigation item.

  10. In the Tool Tip field, enter some brief descriptive text to display when users hover the mouse over the navigation item.

  11. In the External ID field, enter an ID to enable a direct reference to the navigation item from a static link in the page.

    Navigation items in the application's default navigation model with this attribute defined can be accessed using /faces/wcnav_externalId/externalId from an af:goLink component in a page or using /wcnav_externalId/externalId from an External Link navigation item in the navigation model. The alternative is to access the node by its hierarchy, which is faster, but may change as the application develops.

    Note:

    To directly access a node in the default navigation model for a particular space, you must specify the space by setting the wc.contextURL parameter, for example:

    /faces/wcnav_externalId/myNavigationItem?wc.contextURL=/spaces/myProjectSpace
    

    To directly access a node in a non-default navigation model, you must specify the path of the navigation model by setting the wcnav.modelPath URL parameter, for example:

    /faces/wcnav_externalId/myNavigationItem?wcnav.model=
    /oracle/webcenter/siteresources/scopedMD/
    s7f446cab_f622_4b68_a83e_b7eaf28b52ec/navigation/
    gsr0271c712_721a_4565_9f0e_755784a7093b/myNavigation.xml
    

    Depending on where you are using the link, you may need to encode the URL parameters, for example, %2Fspaces%2FmyProjectSpace.

  12. From the Open Link in dropdown list, select how to display the navigation item when it is selected, either in the same browser window, a new window, or a popup.

    The options available depend on the type of navigation item.

    Note:

    Popups are not supported for pages.

  13. Select Redirect to redirect to the URL specified for the navigation item. If you do not select this check box, then the URL is rendered within an inline frame in the current page template.

    Note:

    This display option is available for all navigation items except for Navigation Reference, Folder, and Separator.

    For Link navigation items that point to business role pages (for example, the My Profile page), the Redirect option has no effect; clicking the link always displays the page in the Home space.

    For Link navigation items that point to a page in a different space, you must select Redirect to open the page inside the space to which the page belongs. Deselecting Redirect opens the page in the current space and may cause errors with subsequent links.

  14. In the New Attribute Name field, enter the name of an attribute that has been defined for the resource but not exposed in the dialog. You can also select an attribute from the dropdown list.

  15. In the New Attribute Value field, specify a value for the attribute specified in the New Attribute Name field, and click Add.

    Note:

    You can click Add without specifying a value for the attribute. You can specify the value once the field is displayed in the dialog, along with other fields. However, if you exit the Edit Navigation Item dialog without providing a value for the attribute, the attribute is not saved.

12.2.2.2 Editing the Source Code of a Navigation Model

If you prefer working in source code, you can use the Edit Source option.

To edit the source code of a navigation model:

  1. Navigate to the Resources page of your application or the space that contains the navigation model that you want to edit, as described in Section 11.1.4, "Accessing Resources."

  2. In the left navigation panel, under Structure, select Navigations.

  3. In the main panel, select the navigation model that you want to edit.

  4. From the Edit menu, select Edit Source.

    The Edit Source dialog (Figure 12-25) displays the source code of the navigation model.

    Figure 12-25 The Edit Source Dialog for a Navigation Model

    Description of Figure 12-25 follows
    Description of "Figure 12-25 The Edit Source Dialog for a Navigation Model"

  5. Edit the code as required.

    The XML syntax in the code is validated and an error message is displayed if you miss any tags or add them incorrectly. Validation is not provided for non-XML files.

    You might prefer to copy the code from the dialog and paste it into an editor of your choice, for example, JDeveloper, where further validation can be performed. After editing the code, you can then copy it and paste it back into the Edit Source dialog.

    Tip:

    To make more full use of JDeveloper's capabilities for editing navigation models, you might prefer to download the navigation model from Spaces and import it into JDeveloper for editing. For more information, see Section 12.2.5, "Using JDeveloper to Build Your Navigation Model."

  6. Click OK.

12.2.3 Managing a Navigation Model

This section includes the following subsections:

12.2.3.1 Showing and Hiding a Navigation Model

When you create a navigation model, by default it is hidden. A hidden navigation model is not available for use in the application, the Home space, or any other space. To make a navigation model available, it must be marked as shown. Further, for a navigation model created at the application level, you can control whether it is available to any, all, or selected spaces in the application.

For generic information about hiding and showing resources, see Section 11.4.3, "Showing and Hiding Resources."

For generic information about resource availability in spaces, see Section 11.4.2, "Setting Properties on a Resource."

12.2.3.2 Setting Properties on a Navigation Model

You can control a navigation model's display attributes and availability by setting the model's properties in the Edit Properties dialog. Setting navigation model properties follows the same procedure as any other resource. For more information, see Section 11.4.2, "Setting Properties on a Resource."

To view the properties associated with a navigation model, use the About menu option.

12.2.3.3 Setting Security on a Navigation Model

You can control whether all users or only specific users or groups can access the navigation model that you created in your application or space. Setting access to a navigation model follows the same procedure as any other resource. For more information, see Section 11.4.4, "Setting Security for a Resource."

12.2.3.4 Copying a Navigation Model

You can make a copy of a page template by selecting it and choosing Copy from the Edit menu on the Resources - Navigations page. Copying a navigation model follows the same procedure as any other resource. For more information, see Section 11.4.1, "Copying a Resource."

12.2.3.5 Deleting a Navigation Model

Provided you are assigned the required permissions, you can delete any custom navigation model. Deleting a navigation model follows the same procedure as deleting any other resource. For more information, see Section 11.4.5, "Deleting a Resource."

12.2.4 Selecting the Default Navigation Model

The default navigation model provides a convenient way to select the navigation model that is used by default at the application or space level. Page template designers can then reference this default navigation model without having to know its actual name. For example, in navigation EL expressions, the default navigation model is often referenced, such as in:

#{navigationContext.defaultNavigationModel}

To specify the navigation model to use as the application-level default navigation model, perform the steps in Section 5.11, "Choosing a Default Navigation."

To specify a different navigation model to use as the default for a specific space, perform the steps in Section 53.4.12, "Changing the Navigation for a Space."

12.2.5 Using JDeveloper to Build Your Navigation Model

You may want to create a navigation model that is beyond the editing capabilities of Spaces. For example, using JDeveloper to create you navigation model enables you to use source control and also provides wizards and other tools to help you build more advanced navigation models. To do this, you have several options:

  • Use the Edit Source option to edit the source code of the navigation model. You can edit the source code directly in the Edit Source dialog or you can copy the contents of the dialog to JDeveloper for editing and then copy the edited code back into the dialog. For more information, see Section 12.2.2.2, "Editing the Source Code of a Navigation Model."

  • Download an existing Spaces navigation model, import the navigation model into JDeveloper for editing, and then upload it back to Spaces.

  • Create a completely new navigation model in JDeveloper and upload it to Spaces.

The steps to download and upload navigation models from Spaces are described in Section 11.5, "Using JDeveloper to Build Resources for the Spaces Application."

Oracle WebCenter Portal provides a special JDeveloper workspace (DesignWebCenterSpaces.jws) for developing Spaces resources, such as navigation models. The workspace offers a design environment in which to create and edit your navigation models, and also enables you to upload your navigation models to Spaces for testing. For more information and to download the JDeveloper workspace, see the section "Developing Resources for Spaces Applications" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

For information about specific considerations for creating navigation models for use in Spaces, see the section "Working with WebCenter Portal: Spaces Navigation Models" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

12.3 Rendering Navigation in Your Portal

One of the key parts of a page template is the navigation visualization. This determines how the navigation looks and behaves in your portal. You can also add navigation visualization to a page, but typically you add it to a page template so that it can be defined in one place and propagated consistently across the whole portal.

This section includes the following subsections:

12.3.1 Adding Built-in Navigation Task Flows to Page Templates

WebCenter Portal provides several built-in navigation task flows to enable you to quickly add navigation to your portal.

Note:

By default the Resource Catalog for pages does not include the built-in navigation task flows because the recommended method of providing navigation is through your page templates. If you want to be able to add the navigation task flows to a page, you must create a custom Resource Catalog that includes the task flows. For more information, see Section 16.2, "Creating Resource Catalogs."

Typically, you first add the desired task flow to the page template and then select the navigation model to use to drive the content of the navigation. This is the method described in this section. However, if you are using a custom Resource Catalog that includes navigation models, you can start by selecting the navigation model and then choosing which task flow to use to visualize that model. Navigation models are not included in the default page template Resource Catalog.

As well as the task flows described in this section, which you associate with navigation models, Spaces also provides the Spaces Browser task flow, which you can use to enable users to navigate to different spaces. For more information, see Section 53.15, "Working with the Space Task Flows."

Additional navigation task flows are available for download from Oracle Technology Network at:

http://www.oracle.com/technetwork/middleware/webcenter/samples-196325.zip

The zip file contains the following navigation task flows:

  • List Navigation—Renders a navigation model in a vertical list format. Folders and their items are rendered as dropdown menus. Empty folders are not rendered.

  • Menu with Links Navigation—Renders a navigation model in a horizontal menu format. For top level navigation items, folders are rendered as dropdown menus, navigable links with no children are rendered as a top level link. Empty folders are not rendered.

  • Tree Navigation—Renders a navigation model in a vertical collapsed tree format.

Download the zip file and extract its contents locally. You can then upload one or more of the EAR files to your application, as described in Section 11.5.3, "Uploading a Resource." The task flows are then available in the Resource Catalog under Mash-Ups, Task Flows.

To add a built-in navigation task flow to a page template:

  1. Open the page template in edit mode.

    For more information, see Section 13.3, "Editing a Page Template."

  2. Click Add Content in the target region to open the Resource Catalog.

  3. Navigate to the section of the Resource Catalog that contains the built-in navigation task flows.

    Tip:

    The presence or location of this component depends on how the Resource Catalog is configured. For example, in the default Page Templates Resource Catalog, next to Template Development, click Open to expose a list that includes a Navigations folder. Click Open next to this folder to display the list of built-in navigation task flows.

  4. Click Add next to the task flow that you want to add to your page.

  5. Click Close to exit the Resource Catalog.

  6. Hover the mouse over the task flow and, in the menu that pops up, click the Edit icon (wrench) for the task flow.

    Tip:

    Ensure that you click the Edit icon for the task flow and not the one for the region that contains the task flow.

  7. In the Component Properties dialog, click the Parameters tab.

  8. From the Navigation dropdown list, select the navigation model that you want to associate with the task flow.

  9. Set any other properties as desired.

    For information about the other properties available for the different navigation task flows, see Section 12.3.2, "Setting Navigation Task Flow Properties."

    For some examples of the effects of these properties, see Section 12.3.2.3, "Using Properties to Configure Navigation Task Flow Instances."

  10. Click OK.

12.3.2 Setting Navigation Task Flow Properties

The navigation task flows have associated properties, which users with sufficient privileges can access from the Component Properties dialog in Composer (Figure 12-26).

Figure 12-26 Navigation Tree Task Flow - Component Properties

Description of Figure 12-26 follows
Description of "Figure 12-26 Navigation Tree Task Flow - Component Properties"

This section provides an overview of the navigation task flow properties and steps you through examples of configuring a task flow instance using property values. This section includes the following subsections:

For information about accessing the Component Properties dialog, see Section 18.6.2, "Setting Properties on a Component."

The following sections provide information about properties of the Activity Graph service task flows and describe the properties on the Parameters tab:

12.3.2.1 What You Should Know About Navigation Task Flow Properties

When you set property values on a navigation task flow, you are affecting only the task flow instance on which the value is set. Other instances of the same task flow are not affected by such changes.

The properties on the Parameters tab of the Component Properties dialog control the default task flow content. For descriptions of the parameters on this tab, see Section 12.3.2.2, "Navigation Task Flow Parameters." For some task flows, parameters on this tab facilitate the wiring of the task flow to page parameters and page definition variables. These properties are unique to the task flow type and are covered in this section. For information about wiring pages and components, see Chapter 22, "Wiring Pages, Task Flows, Portlets, and UI Components."

Changes to the properties on the Display Options, Style, and Content Style tabs affect the appearance and behavior of the task flow. These properties are common to all task flows For more information, see Section 18.6, "Modifying Page Components."

The content of the Events tab depends on the events supported by the task flow. For more information, see Section 18.6.7, "Working with Component Contextual Events."

All properties on the Parameters and Display Options tabs provide access to an Expression Language (EL) editor, which you can use to select or specify a variable value instead of a constant value. Click the Edit icon next to a property field to open the editor. For more information about using the editor and for descriptions of common EL expressions, see Appendix B, "Expression Language (EL) Expressions."

Note:

Wherever you enter EL on the generic Display Options tab in the Component Properties dialog, the entry is automatically validated. If the EL syntax is invalid, an error appears and the value is neither applied nor saved. Generic Display Options are those cataloged in Table 18-1.

EL validation is not performed on non-generic display options.

12.3.2.2 Navigation Task Flow Parameters

The following tables describe the parameters that are unique to each of the built-in navigation task flows.

Table 12-1 describes the parameters for the Navigation Breadcrumb task flow.

Table 12-1 Navigation Breadcrumb Task Flow Parameters

Parameter Description

Display Style

Specifies whether to display breadcrumbs horizontally or vertically.

Navigation

The navigation model to associate with this task flow.

Show Root

Specifies whether to show the start node in the breadcrumbs.

Start Path

The level in the navigation model at which to start the navigation.

You can enter a path or an EL expression or click the Select Path icon to select the start node.

Valid values are:

  • Start at the Currently Selected Page Path

  • Start at This Level of the Currently Selected Page Path

  • Select Page Path

For more information, see Section 12.3.2.3.2, "Selecting the Start Path for Your Navigation."


Table 12-2 describes the parameters for the Navigation Menu task flow.

Table 12-2 Navigation Menu Task Flow Parameters

Parameter Description

Navigation

The navigation model to associate with this task flow.

Second Level Style

The style for rendering the second level of navigation items.

Valid values are: Do Not Display, Tabs, Bar, Buttons, Choice, List

Notes:

  • If the resource being rendered is non-navigable, for example, a folder, then it cannot be displayed as a tab, bar, button, choice, or list. It can be displayed only if the style Menu or Menu with Sub-Menus is selected.

  • This property is available only if the Style property is not Menu or Menu with Sub-Menus.

Show Icons

Specifies whether to render icons for each resource.

Start Path

The level in the navigation model at which to start the navigation.

You can enter a path or an EL expression or click the Select Path icon to select the start node.

Valid values are:

  • Start at the Currently Selected Page Path

  • Start at This Level of the Currently Selected Page Path

  • Select Page Path

For more information, see Section 12.3.2.3.2, "Selecting the Start Path for Your Navigation."

Note: The Navigation Menu task flow is limited to showing a maximum of two levels of resources.

Style

The style for rendering the first level of resources.

Valid values are Tabs, Bar, Buttons, Choice, List, Menu, Menu with Sub-Menus

Notes:

  • If the resource being rendered is non-navigable, for example, a folder, then it cannot be displayed as a tab, bar, button, choice, or list. It can be displayed only if the style Menu or Menu with Sub-Menus is selected.

  • If a navigable item is rendered using the Menu with Sub-Menus style, the item is rendered twice, once as a dropdown menu, and once as a link to the item itself.


Table 12-3 describes the parameters for the Navigation Tree task flow.

Table 12-3 Navigation Tree Task Flow Parameters

Parameter Description

Navigation

The navigation model to associate with this task flow.

Show Icons

Specifies whether to render icons for each resource.

Show Levels

The number of levels shown when the tree is initially rendered.

Valid values are:

  • 1: Show top level nodes only; all other nodes are initially collapsed

  • 2: Expand the first level of child nodes

  • 3: Expand the second level of child nodes

  • All: Expand all nodes

Note: This option applies only if the tree is rendered with the Style property set to Collapsed Tree. If the Style property is set to Expanded Tree then all nodes are shown expanded regardless of the value of this property.

Show Root

Specifies whether to render the start node in the tree.

Valid values are:

  • Do Not Show Root: Do not render the start node

  • Show Root: Render the start node

  • Show Root As Box: Render the start node as the header in a box

Start Path

The level in the navigation model at which to start the navigation.

You can enter a path or an EL expression or click the Select Path icon to select the start node.

Valid values are:

  • Start at the Currently Selected Page Path

  • Start at This Level of the Currently Selected Page Path

  • Select Page Path

For more information, see Section 12.3.2.3.2, "Selecting the Start Path for Your Navigation."

Style

The style of the navigation.

Valid values are:

  • Collapsed Tree: Render the given levels (as specified by the Show Levels property) as initially collapsed

  • Expanded Tree: Render all tree nodes, expanded to show all children

  • List: Render a flat list of top-level resources. If any of the top-level resources are folders, the content of those folders are provided in dropdown menus.

    Note: Selecting the List option overrides the Show Levels and Show Root properties.


12.3.2.3 Using Properties to Configure Navigation Task Flow Instances

This section includes the following subsections:

12.3.2.3.1 Sample Navigation Model

The following sections use examples based on the sample navigation model shown in Figure 12-27.

Figure 12-27 The Sample Navigation Model

Description of Figure 12-27 follows
Description of "Figure 12-27 The Sample Navigation Model"

12.3.2.3.2 Selecting the Start Path for Your Navigation

To select the start path for your navigation:

  1. Create your navigation model, as described in Section 12.2, "Building a Navigation Model."

  2. Add the Navigation Menu task flow to your application's page template, as described in Section 12.3.1, "Adding Built-in Navigation Task Flows to Page Templates."

  3. In the Parameters tab of the Component Properties dialog, next to the Start Path field, click the Select Path icon.

  4. In the Select Start Path dialog, select:

    • Start at the Currently Selected Page Path to use the currently selected page as the starting point of the navigation. This populates the Start Path property with the following EL expression:

      #{navigationContext.navigationModel['modelPath=path'].currentSelection.prettyUrl}
      

      where path is the path to the navigation model XML file (omitting the trailing .xml), for example:

      #{navigationContext.navigationModel['modelPath=/oracle/webcenter/portalapp/navigations/myNavigation'].currentSelection.prettyUrl}
      

      In our banking application example, if this option is selected, when the user navigates to the Current Accounts page, the navigation looks as shown in Figure 12-28.

      Figure 12-28 Start at the Currently Selected Page Path

      Description of Figure 12-28 follows
      Description of "Figure 12-28 Start at the Currently Selected Page Path"

    • Start at This Level of the Currently Selected Page Path to use the nth level of the path to the currently selected page as the starting point of the navigation (where n is the number specified in the field next to this option). This populates the Start Path property with the following EL expression:

      #{navigationContext.navigationModel['modelPath=path'].currentSelection.prettyUrlPath[level]}
      

      where path is the path to the navigation model XML file (omitting the trailing .xml) and level is the number specified in the field.

      In our banking application example, if this option is selected with the value of 1, when the user navigates to the Personal Banking page, and then the Current Accounts page, the navigation starts at the first level of this path, that is, Personal Banking (Figure 12-29).

      Figure 12-29 Start at Specified Level of the Currently Selected Page Path

      Description of Figure 12-29 follows
      Description of "Figure 12-29 Start at Specified Level of the Currently Selected Page Path"

    • Select Page Path to use a specific page as the starting point of the navigation. This populates the Start Path property with the path to the selected page.

12.3.2.3.3 Rendering Navigation as a Tree

To render your navigation model as a tree:

  1. Create your navigation model, as described in Section 12.2, "Building a Navigation Model."

  2. Add the Navigation Menu task flow to your application's page template, as described in Section 12.3.1, "Adding Built-in Navigation Task Flows to Page Templates."

  3. Select the Start Path for the navigation when it is rendered on the page, as illustrated in Section 12.3.2.3.2, "Selecting the Start Path for Your Navigation."

  4. From the Show Levels dropdown list, select how many levels to expand when the tree is initially rendered with the Collapsed Tree style.

    Note:

    If the navigation is rendered using the Expanded Tree style, this option is ignored and the navigation is rendered will all nodes fully expanded.

  5. From the Show Root dropdown list, select whether to display the start node in the tree.

    For example, if the start node is Current Account, select:

  6. From the Style dropdown list, select what style to use for the tree.

    • Collapsed Tree displays the tree initially collapsed according to the levels specified by the Show Levels property.

    • Expanded Tree displays the tree with all levels completely expanded.

    • List displays the tree as a flat list of the top-level resources. If any of the top-level resources are folders, they are displayed as dropdown menus that display the contents of the folders.

      Using our banking example, if the start node is Personal Banking, a tree navigation with the List style looks like Figure 12-33.

      Figure 12-33 List Style Tree with No Folders

      Description of Figure 12-33 follows
      Description of "Figure 12-33 List Style Tree with No Folders"

      However, if the start node is Current Account (which contains two folders), it looks like Figure 12-34.

      Figure 12-34 List Style Tree with Folders

      Description of Figure 12-34 follows
      Description of "Figure 12-34 List Style Tree with Folders"

  7. Select Show Icons to display the icons associated with the navigation items in the tree (Figure 12-35).

12.3.2.3.4 Rendering Navigation as a Menu

To render your navigation model as a menu:

  1. Create your navigation model, as described in Section 12.2, "Building a Navigation Model."

  2. Add the Navigation Menu task flow to your application's page template, as described in Section 12.3.1, "Adding Built-in Navigation Task Flows to Page Templates."

  3. Select the Start Path for the navigation when it is rendered on the page, as illustrated in Section 12.3.2.3.2, "Selecting the Start Path for Your Navigation."

  4. From the Style dropdown list, select how you want to display the first level of navigation items in the menu. Using our sample banking application, we can illustrate the different options for this property:

  5. From the Second Level Style dropdown list, select the style to use for the second level of resources in the navigation.

    Note:

    Menu navigations can render only two levels of resources.

  6. Select Show Icons to display the icons associated with the navigation items in the menu.

12.3.2.3.5 Rendering Navigation as Breadcrumbs

To render your navigation model as breadcrumbs:

  1. Create your navigation model, as described in Section 12.2, "Building a Navigation Model."

  2. Add the Navigation Menu task flow to your application's page template, as described in Section 12.3.1, "Adding Built-in Navigation Task Flows to Page Templates."

  3. Select the Start Path for the navigation when it is rendered on the page, as illustrated in Section 12.3.2.3.2, "Selecting the Start Path for Your Navigation."

  4. Select Show Root to display the start node in the breadcrumbs.

  5. From the Display Style dropdown list, select whether to display the breadcrumbs vertically or horizontally, for example Figure 12-42 shows breadcrumbs displayed horizontally.

    Figure 12-42 Horizontal Breadcrumbs

    Description of Figure 12-42 follows
    Description of "Figure 12-42 Horizontal Breadcrumbs"

    Figure 12-43 shows breadcrumbs displayed vertically.

    Figure 12-43 Vertical Breadcrumbs

    Description of Figure 12-43 follows
    Description of "Figure 12-43 Vertical Breadcrumbs"

12.3.2.3.6 Linking Navigation Task Flows

You may want to include more than one area of navigation in your portal. For example, you might want to include tabs along the top of the page, displaying the top level of your navigation model, and a second tree structure down the side of the page. You can link the navigation task flows together so that the tree navigation reflects the selected navigation item in the tabbed menu.

The following procedure shows how to do this using our banking example.

To link navigation task flows:

  1. Create your navigation model, as described in Section 12.2, "Building a Navigation Model."

  2. Add the Navigation Menu task flow to a region along the top of your application's page template, as described in Section 12.3.1, "Adding Built-in Navigation Task Flows to Page Templates."

  3. Add the Navigation Tree task flow to a region along the side of your application's page template, as described in Section 12.3.1, "Adding Built-in Navigation Task Flows to Page Templates."

  4. Hover the mouse over the Navigation Menu task flow and, in the menu that pops up, click the Edit icon (wrench) for the task flow.

    Tip:

    Ensure that you click the Edit icon for the task flow and not the one for the region that contains the task flow.

  5. In the Component Properties dialog, click the Parameters tab.

  6. From the Navigation dropdown list, select the desired navigation model, or enter an EL expression.

  7. In the Start Path parameter, enter / to start at the root of the navigation model.

  8. From the Style dropdown list, select Tabs.

  9. From the Second Level Style dropdown list, select Do Not Display.

    This restricts this part of the navigation to display only the top level of the navigation model. The rest of the navigation model is displayed in the tree navigation.

  10. Click OK.

  11. Hover the mouse over the Navigation Tree task flow and, in the menu that pops up, click the Edit icon (wrench) for the task flow.

    Tip:

    Ensure that you click the Edit icon for the task flow and not the one for the region that contains the task flow.

  12. In the Component Properties dialog, click the Parameters tab.

  13. From the Navigation dropdown list, select the same navigation model as is used for the Navigation Menu task flow, or enter the same EL expression.

  14. Next to the Start Path field, click the Select Path icon.

  15. In the Select Start Path dialog, select Start at the Currently Selected Page Path and click OK.

    This ensures that the tree navigation displays the navigation for whatever has been selected in the menu navigation.

  16. From the Show Root dropdown list, select Do Not Show Root.

    The root of the navigation model is displayed in the tabs at the top of the page, so there is no need to duplicate it here.

  17. Click OK.

  18. Save and close the page template.

    Figure 12-44 shows how the above procedure might work for our banking example. Selecting the Personal Banking tab at the top of the page displays the rest of the navigation model (from Personal Banking down) on the side of the page.

    Figure 12-44 Linking Navigation Task Flows

    Description of Figure 12-44 follows
    Description of "Figure 12-44 Linking Navigation Task Flows"

12.3.3 Using JDeveloper to Visualize Your Navigation

The navigation task flows provided by Spaces enable you to quickly visualize your navigation in your application. However, you may find that these task flows do not quite match your navigation requirements. If you find this is the case, you can use JDeveloper to edit the page templates you create in Spaces and add the navigation UI directly to the templates using the navigation EL APIs provided by WebCenter Portal. You can then upload these edited page templates back into Spaces. You can also create your page templates entirely in JDeveloper before uploading them to Spaces. The Spaces seeded page templates were created in this way.

The steps to download and upload page templates from Spaces are described in Section 11.5, "Using JDeveloper to Build Resources for the Spaces Application."

For information about specific considerations for creating page templates for use in Spaces, see the section "How to Create and Manage WebCenter Portal: Spaces Page Templates" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

For information about how to programmatically add navigation UI to your page templates using JDeveloper, see the section "Programmatically Adding Navigation to a Page Template" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.