In uPortal we often use portlets that are not a part of the tab/column hierarchy. These portlets appear in special areas on the page, such as in the header or footer. In Universality we achieved this setup by giving portlets a 'role' attribute at publish time (which indicates where they appear) and adding them to layout folders with type=header. There are a couple issues with this approach:
For these reasons, we're updating these practices in Respondr.
For Respondr we will support 'regions' – special areas on the page where portlets may be placed. If there are portlets present in a region, it will be given appropriate space on the page. If no portlets are present in a region, it will gracefully disappear (or not appear).
hidden-top
page-top
detached-banner (only shown when detached window state is used)
pre-header (uP4)
eyebrow (uP5+)
header-top (not yet implemented)
header-left
header-right
customize
sidebar-left
content (in a layout file do not specify a folder with type="content", folders of type="regular" are placed in this region due to historic use of type="regular" for tab content)
post-content
sidebar-right
footer-first
footer-second
page-bottom
hidden-bottom
These are listed in rough top-to-bottom, left-to-right order; part of the advantage of this approach is that placement of regions can be adjusted on the page.
<div>
element and MUST define an id
attribute of region-{region_name}
.<section>
element with an id
attribute of portlet_{portlet_id}
and at least two classes: up-portlet-wrapper
and {portlet_fname}
. (Additional classes may be present.)regions.less
file.container
, row
, and col-sm-{x}
, etc. – MUST be generated by the theme; such markup MUST NOT be generated by the portlets. (Internal portlet markup, however, may leverage Bootstrap internally if desired and if it can be done without interference to the broader page.)display
attribute; typically block
or inline-block
(applied to the <section>
decorator); this setting determines whether the portlets display top-to-bottom (block
) or left-to-right (inline-block
)