Themes (Non-PageBuilder)
Overview
Element layout can be set in a theme by changing the layout in Default.jsp and included JSPs.This information is applicable to Portal and Portal Web 2.0 themes only, not Page Builder themes.
For most requests, the portal page is rendered starting with...
WP_PROFILE/installedApps/earfile/warfile/themes/Default.jsp
The only exception is when the request has been modified by...
newWindow="true"
.in which case the page is rendered using Plain.jsp, which is normally used to render portlet help or for portlets using the iFrame skin.
Theme policies control how a theme is rendered on a page.
- Create using xmlaccess.sh.
- Apply to pages using either...
- xmlaccess.sh using the page metadata attribute...
com.ibm.portal.ThemePolicy
- Properties portlet
Theme policy is inherited so it only needs to be set on a page which requires a different policy than its parent.
Head.jspf
Used to...
- Link style sheets and client-side scripts
- Set the page title and text direction
Banner.jspf
Includes the user interface elements across the top of the page.
Top level links
A listing of the top level nodes directly under Content Root which includes a More... menu if the number of links exceeds a certain value. Breadcrumb trail banner_crumbtrail.jspf Current page selection path to the current page. Search controls banner_searchControl.jspf Search form to various search scopes. Toolbar actions banner_toolbar.jspf Set of buttons to access various flyout panels and actions.
topNav.jspf
Create one or more rows of navigation tabs. Theme policy values control whether the top navigation is rendered and how many rows are rendered.
sideNav.jsp
Creates an expandable tree of navigation nodes. The side navigation renders any navigation levels that have not been rendered by the top navigation.
footer.jsp
Renders a section across the bottom of the portal page. By default, this includes quick links to commonly accessed areas of portal. The links rendered are internal URLs which are children of the portal page with the unique name...ibm.portal.Quick Links
Flyout.jspf
Contains a hidden document division (<div/>) which is used by actions in the banner's toolbar to display content which is dynamically displayed and hidden as needed.
Menus
The menus in the Portal theme and IBM skin (the defaults) are loaded asynchronously. The contents of the menu are controlled by a JSP in.../themes/html/Portal
JSPs and menus...
Menu Controlling JSP More menu moreMenu.jsp Page menu (on selected page) pageContextMenu.jsp Portlet menu portletContextMenu.jsp The page and portlet menu icon can only be seen if you hover over the upper right corner of the portlet and page title.
The URLs to these JSPs are created using...
<portal-navigation:url themeTemplate="mainMenu"/>
.where the themeTemplate attribute is the name of the JSP to load (without the file extension). As a result, it is important to note that any URL created in one of these controlling JSPs must have the theme template reset, either by using the themeTemplate attribute on the urlGeneration tag or by using the available public APIs.
Menus are disabled until a page fully loads. In more detail, the menus on the page (for example, Main menu, Page menu, and any portlet menus in the default Portal theme) are initially disabled and then re-enabled in an onload handler. This event occurs because clicking a menu before the page is completely loaded (that is, when portlet JSPs are still compiling) causes an error and the menu does not load.
Drag and drop feature
Change the placement of individual portlets using skins. The drag-and-drop feature lets you move a custom portlet from its current position by dropping it to another position on a page. This lets you quickly change the arrangement of custom portlets on a page.
Theme policy
Control how a theme renders for a particular page. The attributes of the theme policy assigned to the current page are consumed by the theme JSPs to control what gets rendered, as well as how it is rendered.
Screens
The selected screen is rendered by the tag...<portal-core:screenRender/>
Default themes
Page Builder Default theme for WebSphere Portal. Portal The default theme for the earlier release of WebSphere Portal. Full-featured theme that demonstrates all available theme functionality. Minimal Includes only the minimum required to render a functioning portal. Not intended for normal use. Not explicitly defined as a theme by name, but rather only exists as a fallback should there be a problem with the main portal theme. Portal Web 2 Web 2.0 functionality using AJAX and JavaScript. Partial page updates and inline portlet editing. If the Portal theme directory is either deleted or renamed, the portal resource loader uses the themes/html/Default.jsp. In this case, you should also use the fallback skin. To do this, rename the skins directory. For example, the skins/html/IBM directory should be renamed skins/html/IBM1. If you have a broken theme, you can rename the theme and skin directories which are causing the problem to get to a working minimal theme.
<portal-theme:cacheProxyUrl/> JSP tag
The switch to using JSPs for style sheets provides a great advantage in the reduction of the number of files that must be maintained or generated when a style sheet is updated. However, a performance concern is introduced in that the output of the compiled JSPs needs to be cached to avoid having to be generated on each request. To solve this problem, WebSphere Portal provides the JSP tag...<portal-theme:cacheProxyUrl/>
...which creates a URL to the caching proxy servlet. The URL created is fully cacheable and includes information about the requesting client. The CC/PP client profile is used for gathering information about the client for the URL. The purpose of this tag is to link .CSS files into the JSP.
For security reasons, the cache proxy servlet will only serve URLs pointing to resources located in the themes, skins, and screens directories. This makes all resources underneath these directories public. Also, any URLs containing the ".." characters will not be served.
Parent
Portal page structure