...
- The folderName specifies which layout folder to render under
- {0..N} folderName elements are allowed in the path to handle sub-tabs and other such cases
- The /f/ prefix folder defines that the next path section(s) are folder names
- The folder section (/f/ prefix and folder parts) are optional and can be left out when manually creating a URL that targets a specific portlet
- The portletName.subscribeId specifies the targeted portlet
- Used for all url types when in a targeted WindowState such as max, detached, and exclusive.
- Used for all action and resource requests
- portletName is the portlet's fname
- subscribeId is the ID associated with that particular subscription to the portlet in the user's layout.
- The /p/ prefix folder defines that the next path section is a portlet
- The state specifies the style of the page being rendered.
- normal - Standard portal page, tab with multiple portlets
- max - One maximized portlet, portal provides chrome, tabs and perhaps other UI elements
- detached - One detached portlet, portal provides <head> element, all visible content is rendered by the portlet
- exclusive - One exclusive portlet, portlet renders all of output, binary content is allowed here
- If the state is not specified then normal will be used when targeting a folder and max will be used when targeting a portlet
- The render is the type of URL being requested.
- render - a URL that renders content, also used for a portlet RenderRequest
- resource - a URL that serves a portlet resource (ResourceRequest)
- action - a URL that executes a portlet action (ActionRequest), this URL may not render content and must return a 3xx class code.
- If the type is not specified render is assumed
Syntax Notes
- If a portletName.subscribeId is specified but the subscribeId does not exist for the current user it is ignored and the following resolution rules are used:
- The first instance of the named portlet on the user's layout
- A transient portlet loaded by fname if the user has permission to view the portlet
- The user ends up at their default tab
- Partial URLs are valid
- /uPortal/p/portletName
- Targets portletName in maximized mode with a render request
- /uPortal/p/portletName?someParam=foo
- Targets portletName in maximized mode with a render request and the portlet parameter someParam=foo
- /uPortal/p/portletName/detached?someParam=foo
- Targets portletName in detached mode with a render request and the portlet parameter someParam=foo
- /uPortal/p/portletName/resource.uP?someParam=foo
- Targets portletName in maximized mode with resource request and the portlet parameter someParam=foo
- /uPortal/p/portletName
...