Skip to content

Navigator

The navigator provides the entry points to the user. It does so in a general way, making it possible to find any client that the user has permission to access.

Declaring the navigator

The navigator is declared in the *.client file and can be declared in a hierarchical manner. There are three types of entries/nodes that the navigator supports based on the requirement of the functionality. These are:

  • Top level entry
  • Folder entry
  • Content entry based on the page type

Every navigator entry is declared using the following notation with variations based on the node type:


navigator {  
    entry <entry name> {  
        label = "<entry label>";  
    }  
}  

All nodes must be declared within the navigator block.

Declaring a top level node

A top level navigator node is used to group related navigator links. To declare a navigator node a top level node add the toplevel keyword as shown below:


navigator {  
    entry <entry name> toplevel at index 1{  
        label = "<entry label>";  
        entry <sub entries>;  
        entry <sub entries>;  
    }  
}  

Declaring a folder node

A navigator folder entry can be empty, include another entry within the same client model, or can include other folder entries


navigator {  
    entry <entry name> {  
        label = "<folder entry's label>";  
        [entry <sub entry 1>;]  
    }  
}  

For all above entry types a parent entry can be given. It can either be in the same client model or in a different client model. In this way you can include the entry in a different location in the navigator. When specifying a parent entry you need to give an index.


navigator {  
    entry <entry name> parent;   
    <client model name of parent>.<entry to insert into index> {  
        label = "<node name>";  
    }  
}  

So there is basically two ways to include child entries. Either the parent should specify its children (within the same model) or the child can specify its parent (works across client models).

Declaring entries for page types

See below how to declare a navigator entry for each page type.

Navigator entry for a page


navigator {  
   entry <entry_name> {  
      label = "<page_label";  
      page <page_name>;  
   }  
}  

For navigator entries this type you can optionally specify internal entries. This is available in page type entries only.

Navigator entry for an assistant


navigator {  
    entry <entry_name> {  
        label = "<assistant_label>";  
        assistant (Arguments);   
    }  
}  

Navigator entry for an External URL


navigator {  
    entry <entry_name> {  
        label = "<Name for external page>";  
        external "<External_url>";  
    }  
}  

Navigator entry for an internal URL

Here you need to specify only the relative URL to an internal location (for example /IconLibrary)


navigator {  
    entry <entry_name> {  
        label = "<Name for lobby>";  
        lobby "<LobbyGUID>";  
    }  
}