Show TOC

Navigation NodeLocate this document in the navigation structure

Definition

The navigation model defines the navigational structure of the views presented to the end user and is mapped to tabs and view selection dropdowns in the UWL UI.

Each UWL iView instance can get its own navigation model specified through the iView property useNavigationId .

The hierarchy of the navigation is build through nested navigation nodes. Each node can have multiple sub nodes. The hierarchy levels should be specified as follows:

  1. <NavigationNode>

    The first level just defines the navigation section in the configuration file, bundling all custom navigation models.

  2. <NavigationNode name="MainWorkcenter1_nav">

    The second level defines the (custom) navigation model for a custom UWL iView, which is assigned to iView property useNavigationId.

  3. <NavigationNode name="workcenter1_tab1" view="wc1_view">

    The third level defines the tabs, and the view which is displayed when the tab becomes active.

  4. <NavigationNode name="wc_tab1_myopentasks_dropdown_item1" view="wc1_view">

    This level can be used (as it is in the standard UWL task) tab to separate open tasks from completed tasks (another node on the same level) - it creates the dropdown with two entries (or more, if there should be more nodes). If there is only one node on this level, the dropdown will not be displayed, and this level will be ignored (as for Alerts and Notifications in the standard UWL).

    Note

    At least one node is required on this level if a navigation dropdown with automatically added custom views should be shown.

  5. <NavigationNode name="wc1_tab1_customviews_dropdown_item1" view="dd1" />

    The fifth level defines the dropdown for custom views in the tab (optional). This is the first or the second dropdown in the navigation bar (dependent on how the fourth level is defined).

    Note

    This node add custom views as fix entries in the dropdown.

    Usually, the dropdown is created and custom views are added automatically at runtime, dependent on the actual items present in the tab view (this only requires a node at level four - the custom view level five nodes are then automatically added at runtime).

    The exact algorithm is as follows:

    The UWL view manager determines the set of views which explicitly support a sub item type of the item type of the active tab view - so custom views for specific item types.

    From this set of views, the view managers removes all views for which there are no items in the active view.

    From the resulting set, the view manager removes all views that are already visible in the navigation. It also removes the views which have the attribute dynamicCreationAllowed set to no.

    The remaining views which have the highest item count are dynamically added to the navigation (up to 7) - they become virtual navigation nodes in this place.

    Note

    This algorithm is only executed if the name of the second level navigation node starts with Main (This has been replaced with the referenceGroup UWL_ADD_DYNAMIC_VIEWS place at the level where virtual navigation nodes should be inserted as children).

    Since the nodes on this level are usually dynamically created, the only entry required here is:

    <NavigationNode name="PersonalViewPlaceHolderwc_tab1" referenceGroup="UWL_PERSONAL"/>

    This is a placeholder for adding views saved by users to the navigation.

  6. <Descriptions default="My Own Description"> with <ShortDescriptions>

    <Description Language="en" Description="My Own Description"/>

    Use these tags to define the display texts of your own nodes and views.

Attribute

Description

name

Unique name for the navigation

view

View name to be associated with this navigation

viewNamespace

Obsolete. Do not use.

referenceGroup

Reserved id UWL_ADD_DYNAMIC_VIEWS is used to indicate location of where virtual navigation nodes for the same itemType are to be inserted as children of (Replacement for the name of the node starting with Main ).

Reserved id UWL_PERSONAL is used to indicate location of custom views created per user.

groupId

Reserved. Do not use.

reference

Reserved. Do not use.

Roles

Obsolete. Do not use.

referenceBundle

The display text to be used.

visible

Indicate if the Node should be shown in the UI

global

Obsolete. Do not use.

keepItemCountUpdate

To display the item count for e. g. tasks, notifications, alerts even if the corresponding tab has not been selected you have to set this tag to "Yes" (more information Displaying the Updated Item Count)

Example

The standard UWL navigation model is defined as:

<NavigationNode name="startingNode">
     <NavigationNode name="Tasks" referenceBundle="nav_tasks" view="DefaultView">
      <NavigationNode name="OpenTasks" referenceBundle="nav_combined_tasks" view="DefaultView" referenceGroup="UWL_ADD_DYNAMIC_VIEWS">
         <NavigationNode name="PersonalViewPlaceHolderTask2" referenceGroup="UWL_PERSONAL"/>
      </NavigationNode>
      <NavigationNode name="CompletedTasks" referenceBundle="completed_tasks" view="WorkItemsCompletedView">
         <NavigationNode name="PersonalViewPlaceHolderCompleted2" referenceGroup="UWL_PERSONAL"/>
      </NavigationNode>
  </NavigationNode>
  <NavigationNode name="alert2" referenceBundle="nav_alerts" view="AlertsView">
     <NavigationNode name="CombinedAlerts2" referenceBundle="nav_combined_alerts" view="AlertsView" referenceGroup="UWL_ADD_DYNAMIC_VIEWS">
         <NavigationNode name="PersonalViewPlaceHolderAlert2" referenceGroup="UWL_PERSONAL"/>
      </NavigationNode>
   </NavigationNode>
   <NavigationNode name="notification2" referenceBundle="nav_notifications" view="NotificationsView">
        <NavigationNode name="CombinedNotification2" referenceBundle="nav_combined_notifications" view="NotificationsView" referenceGroup="UWL_ADD_DYNAMIC_VIEWS">
            <NavigationNode name="PersonalViewPlaceHolderNotification2" referenceGroup="UWL_PERSONAL"/>
        </NavigationNode>
    </NavigationNode>
    <NavigationNode name="myOwnNode" view="MyOwnView">
       <Descriptions default="My Own Description">
         <ShortDescriptions>
           <Description Language="en" Description="My Own Description"/>
         </ShortDescriptions>
       </Descriptions>
      <NavigationNode name="myOwnNode2" view="MyOwnView">
         <Descriptions default="My Own Description 2">
           <ShortDescriptions>
            <Description Language="en" Description="My Own Description 2"/>
           </ShortDescriptions>
         </Descriptions>
      </NavigationNode>
    </NavigationNode>
    ....
</NavigationNode>