Portal Express, Version 6.0
Operating systems: i5/OS, Linux, Windows
Changes to portal JSPs
WebSphere Portal Version 4.1 supported a two-level hierarchy (places, or pageGroups, and pages). In V4.1, theme JSPs (Navigation.jsp, Banner.jsp) provided navigation for places and pages. JSP developers could customize the theme and skin JSPs by using the <wps:page/> and <wps:pageGroup/> tags.
WebSphere Portal Version 4.2 introduced multilevel navigation, in which users and administrators could create pages that are nested within other pages. Themes developed for V4.1 do not provide navigation to nested nodes that were introduced in V4.2. The <wps:navigation/> tag was added to allow JSP developers to make use of the new hierarchy. The original <wps:page/> and <wps:pageGroup/> tags remained in V4.2 for compatibility reasons. By default in V4.2, if nested nodes exist for a user, a navigation column provides complete access to all nodes not accessible from the theme. This navigation column is created by LayeredContainer-V.jsp in the /skins directory. A Java scriptlet that invoked the Composition Model API was used to implement the nested navigation tree in LayeredContainer-V.jsp.
More changes were introduced in the organization for V5.0. The representation of places or pagegroups was removed entirely. Also, a new enhanced Object Model API replaced the Composition Model API for use in the navigation tree. Developers who used the Composition Model API in V4.2 should read Migrating from the V4.2 Composition Model API to the V5.0 Object Model, available at http://www.ibm.com/support/docview.wss?uid=swg27004260. You can also manipulate the appearance of the navigation tree by making changes to the images, colors, and other style settings that are used by the layered container.
WebSphere Portal V5.1 included several major changes. Portal JSPs should use the portal.tld tag library instead of the engine.tld tag library. The engine.tld tag library is still available, but only for backward compatibility prior to migration.
See Designing to get a better understanding of how the page is constructed for this release of WebSphere Portal.
Updates to engine tags
The following tags, deprecated in WebSphere Portal Version 4.2, were removed in WebSphere Portal Versions 5.0 and 5.1:
- <wps:pageGroupLoop/> Replaced by <wps:navigationLoop/>.
- <wps:pageGroup/> This tag was mostly used with attribute="title" to obtain the title of a pagegroup to display in the navigation. Replaced by the <wps:title/> tag.
- <wps:pageLoopInit/> Replaced by the maxPages attribute on <wps:navigationShift/>.
- <wps:page/> This tag was mostly used with attribute="title" to obtain the title of a page to display in the navigation. Replaced by the <wps:title/> tag.
- <wps:frameURL/> In WebSphere Portal, support for frames is removed completely.
- <wps:pageLoop/> Replaced by <wps:navigationLoop/>.
- <wps:pageLoopShift/> Replaced by <wps:navigationShift/>.
- <wps:pageRender/> Removed in V5.0, but restored in V5.1 to replace <wps:compositionRender/>.
The <wps:URLSelect> tag, introduced in WebSphere Portal V4.2, was deprecated and replaced by the <URLGeneration/> tag in Version 5.1.
The following tags were added in WebSphere Portal Versions 5.0 and 5.1:
- <wps:portletMoveRight />
- <wps:portletMoveLeft />
- <wps:portletMoveUp />
- <wps:portletMoveDown />
- <wps:portletDelete />
The following tags were changed in WebSphere Portal Version 5.0:
- <wps:urlParent/> With the removal of <wps:pageGroupLoop/> and <wps:pageLoop/>, you cannot use <wps:urlParent/> to obtain the URL for a page or node in the portal. Instead, links to nodes are created within the <wps:navigationLoop/> by using either the wpsNavNode scripting variable or the <wps:navigationURL/> tag.
- <wps:text/> and <wps:textParam/> tags
4.1 rendering classes for these tags were removed (TextTag_old.class and TextParamTag_old.class). These classes used the body contents of the tag only if the specified key was not found in the specified resource bundle. Starting in V5.0, these tags use TextTag.class and TextParamTag.class, respectively. This change caused the behavior of these tags to change. For V5.0, if your JSPs provide content in the body of the <wps:text/> tag, it will now always be written to the page. The new classes were introduced in Version 4.2, but not used by default.
Starting in V5.1, the <wps:text/> tag is still supported, but deprecated in favor of using the <i18n:bundle/> and <i18n:message/> tags of the JSP Standard Tag Library (JSTL).
- <wps:navigation/>
computeSelectionPath and useModelFromRequestAttributeNamed attributes removed
- <wps:urlFind/>
id attribute added
- <wps:if/>
Changes to attributes:
- pageSelected (removed, replaced by nodeInSelectionPath)
- pageGroupSelected (removed, replaced by nodeInSelectionPath)
- pageAvailable (removed, replaced by navigationAvailable)
- pageGroupAvailable (removed, replaced by navigationAvailable)
- frameMode (removed, support for frames is removed completely)
- showTools (added)
- nodeInSelectionPath (added)
- navigationAvailable (added)
- portletSolo (added)
- error (previously deprecated attribute has been removed)
- <wps:unless/>
Exact same changes as <wps:if/> tag.
Starting with WebSphere Portal Version 5.1, skins are rendered using the <wps:pageRender/> tag from the portal.tld tag library. This is in contrast to the <wps:compositionRender/> tag defined in the V5.0 engine.tld tag library. Skins called from the <wps:pageRender/> tag do not include the portal navigation tree. In WebSphere Portal Version 5.1, all navigation is handled by the theme JSPs.
The following table lists the tags of the engine.tld tag library and the replacements from the portal.tld tag library.
Tags from engine tag library Replacements in the portal tag library <compositionRender/> <pageRender/>, but no corresponding attributes are available <wps:captureContent/> none <wps:componentRender/> <wps:layoutNodeRender/> <wps:date/> use JSTL equivalent <wps:time/> use JSTL equivalent <wps:text/> use JSTL equivalent <wps:popupMenu/> moved to portal-wml.tld tag library <wps:popupMenuItem/> moved to portal-wml.tld tag library <wps:popupMenuParam/> moved to portal-wml.tld tag library <wps:popupMenuTemplate/> moved to portal-wml.tld tag library <wps:urlGeneration/> Same tag, but pacCheck attribute deprecated and replaced by accessControlCheck <wps:width/> no direct replacement, although <wps:layoutNodeProperty propertyName="width"/> could be used
The following new tags are introduced in the portal.tld tag library for WebSphere Portal Version 5.1.
Compatibility between tag libraries
During migration, it is possible to mix the use of tags from the engine tag library and the portal tag library in your themes, screens, and skins.
- The <wps:compositionRender/> tag in a screen invoked from a portal.tld theme behaves like a <wps:pageRender/> tag.
- The <wps:pageRender/> tag in a screen invoked from an engine.tld theme behaves like the <wps:compositionRender/> tag.
In the case that you have custom themes and skins that include some of the common JSPs provided by WebSphere Portal Express, you need to use both tag libraries in the following circumstances.
- Head.jsp uses the <wps:stateBase/> tag from the portal tag library. If your custom theme does not include a customized Head.jsp, update Head.jsp as follows.
- Import the tag library:
<%@ taglib uri="/WEB-INF/tld/portal.tld" prefix="wps-fix" %>- Change the prefix of the <wps:stateBase/> tag to match the new taglib.
<wps-fix:stateBase/>- PlaceBarInclude.jsp uses the <wps:closePage/> tag from the portal tag library. If your custom theme does not include a customized PlaceBarInclude.jsp, update PlaceBarInclude.jsp as follows.
- Import the tag library:
<%@ taglib uri="/WEB-INF/tld/portal.tld" prefix="wps-fix" %>- Change the prefix of the <wps:closePage/> tag to match the new taglib.
<wps-fix:closePage> ... </wps-fix:closePage>- AdminLinkBarInclude.jsp uses the <wps:adminNavHelper/> tag from the portal internal tag library (portal-internal.tld). This tag must be present in all JSPs used by administrative themes and portlets. For any customized versions of AdminLinkBarInclude.jsp, make sure you have the following tag library and tag at the beginning of the file.
<%@ taglib uri="/WEB-INF/tld/portal-internal.tld" prefix="wps-internal" %> <wps-internal:adminNavHelper/>
Even though JSPs from different tag libraries can be mixed, this is only to support backward compatibility during migration. New themes, screens, and skins should be developed using the <wps:pageRender/> tag and the portal.tld.
Parent topic:
Portal design reference