** NOTE: ** This feature was developed by Pearson Education for their portal, which uses uPortal 2.5. Pearson has generously agreed to contribute this feature to the community. Some schools that I work with -- JHU and Univ. Colorado -- are interested in this feature, so I've agreed to do the technical work to integrate it. The work is complete and ready to check in, pending community consensus.
Proposal: uPortal and DLM should be enhanced to support URLs that target a specific tab by 'alphanumeric identifier,' allowing other web sites to post links that take users directly to a chosen tab. URLs such as these can be said to be 'deep-links' to their intended tabs.
These 'alphanumeric identifiers' are neither the name nor the positional index of the tab; they are an additional piece of data, that may optionally be entered (in an additional field) whenever a user creates a new tab or renames a tab. Tabs within DLM fragments that contain these identifiers will support deep-linking URLs for all users who have the appropriate fragment in their layout.
Under the hood, the 'alphanumeric identifiers' will be stored as user-specific folder attributes within the StructureStylesheetUserPreferences object (and on the UP_SS_USER_ATTS table). The DLMUserPreferences channel will be enhanced to provide an appropriate form field and adjust/persist the StructureStylesheetUserPreferences accordingly.
The format for these URLs will be as illustrated in the following example:
-
http://localhost:8080/uPortal/render.userLayoutRootNode.uP?uP_sparam=activeTab&activeTab={identifier}
The DLM structure XSL must also be enhanced to support URLs like these. It will do so by checking for a tab (folder) with an 'externalId' attribute that matches the value of 'activeTab' -- if there is one, that tab's index will be chosen as the active tab index.
I will attach the 2.6 delta for this enhancement to this JIRA issue shortly.