Defining, accessing and migrating a navigation collection.
A. What is a ‘Navigation Collection’?
Normally when you log into the front end of the system, you will see all the delivered portal menus and components grouped together in their predefined locations. So going into PeopleTools -> Security -> User Profile for instance, you would see something like this:
A ‘navigation collection’ provides a way of building your own custom ‘group’ of components, without having to rely on what the system has given you in advance. By setting up a navigation collection, you can gather together a series of commonly-accessed components and put them all in the one place. Better still, a navigation collection can be defined through the front end of the system. No technical assistance is required. If you wish to migrate your collection to another database however, you may need a technical person to assist with this process.
Before creating the navigation collection, make sure you identify all your source components in advance and know exactly where they sit in the portal structure. This means that the components must already exist on the portal. You cannot specify a component that lacks a portal location.
B. Defining the Navigation Collection
Navigate to the following page in the system:
PeopleTools -> Portal -> Portal Utilities -> Navigation Collections
Click the ‘Add Collection’ button to start the new collection. Enter the collection name and ‘Valid From Date’ values. Optionally, you can also add a description:
After you enter this information, you should see a folder structure appearing towards the bottom of the page:
For each component that you wish to include in the navigation collection, click the ‘Add Link’ button. Once you’re in ‘Add Link’, click the prompt button (magnifying glass) next to the ‘Menu Item’ field to specify the full portal path of the component:
Scroll through the portal folders to find you desired component, and then click on the component name (such as ‘User Profiles’ in the example below):
With the Menu Item selected, you will then be returned to the ‘Add Link’ page. The system will show you the selected component, along with its default name (‘User Profiles’). If you wish to change any of the defaults, use the ‘Override Options’ section:
Once you’ve entered all that, click ‘OK’ to return to the main navigation collection page. As you build up the list of components, you should see the folder structure slowly expand:
Finally, after your collection has been defined, you will need to ‘publish’ the collection in order to make it available to other users. To do this, go to the ‘Publish Collection’ tab and specify ‘Public Access’ for both the ‘Navigation Pagelet’ and ‘Navigation Page’. You will also need to enter a ‘Pagelet Category’:
C. Accessing the Navigation Collection
Once the collection has been defined and published, users can then choose to display the collection on their home page. This step does not happen automatically. Users must go ahead and customise their content in order to access the navigation collection.
To do this, click on ‘Personalize Content’ in the user homepage (click on the ‘Home’ button if you are currently not on the home-page):
Next, tick the navigation collections that you wish to see on your home-page. This will be listed under the category specified in the ‘Publish Collection’ tab (refer to section above):
After those changes have been saved, when you return to the home-page, you should the navigation collection displayed:
D. Migrating the Navigation Collection
Navigation collections can be migrated to other databases as part of an App Designer project. However, there are a couple of tricky points to keep in mind.
Firstly, the collection object name is NOT the same as the collection name specified in the definition page. The easiest way to determine the object name is to run the query below, replacing ‘TEST_COLLECTION’ with your actual collection name:
select * from psprsmdefn where portal_name = 'EMPLOYEE' and portal_reftype = 'F' and portal_prntobjname = 'CO_NAVIGATION_COLLECTIONS' and portal_label = 'TEST_COLLECTION';
Secondly, inserting the collection into your project may be slightly confusing due to the fact that ‘Navigation Collection’ does not exist as an object type. Instead, the collection must be inserted into the project as a ‘Portal Registry Structure’. The main collection is defined as a ‘folder’ while each individual menu item is defined as a ‘content reference’. Fortunately, there is an easy way to insert the entire navigation collection into your project in one go.
Once you’ve determined the object name of your navigation collection (from the query above), specify ‘Portal Registry Structure’ as the object type. Highlight ‘Include Children’ in the ‘Relation Definitions’ options, and then enter the object name of the collection:
Highlight the object and click ‘Insert’ to add the navigation collection to the project. Verify that both the folder and the individual menu items have been inserted into the project.