Red Hat JBoss Portal 6.2

6.2.0 Release Notes

For use with Red Hat JBoss Portal 6.2

Jared Morgan

Red Hat, Ltd. Customer Content Services

Aakanksha Singh

Red Hat, Ltd. Customer Content Services

Legal Notice

Copyright © 2015 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.

Abstract

These release notes contain important information related to Red Hat JBoss Portal 6.2. Read these Release Notes in their entirety before installing the product.

Chapter 1. Introduction

Welcome to Red Hat JBoss Portal 6.2 (JBoss Portal). JBoss Portal offers an intuitive, easy to manage user interface and a proven core infrastructure to enable organizations to quickly build dynamic web sites in a highly reusable way. By bringing the principles of JBoss Open Choice to the presentation layer, JBoss Portal maximizes existing skills and technology investments.

1.1. Tested Configurations

For supported hardware and software configurations, see the Red Hat JBoss Portal Tested Configurations page.

1.2. Tested Component Versions

For a list of supported components and their versions, see the Red Hat JBoss Portal Component Details article on the Customer Portal.

Chapter 2. Upgrading from Red Hat JBoss Portal 6.1 to 6.2

2.1. Upgrade Guidance Documentation

Migration Notes are available for customers migrating their installation from Red Hat JBoss Portal 6.1 to this version. See the Migrating to Red Hat JBoss Portal 6.2 from Red Hat JBoss Portal 6.1 Article for more information about specific areas requiring attention.
Specific attention to World Wide Web Consortium (W3C) Validation Compliance has been conducted in this release. See the World Wide Web Consortium (W3C) Standards Compliance Article for a summary of areas investigated and corrected as part of this standards compliance initiative.

Chapter 3. Enhancements

Portal

794359 - Add a function to completely hide a page using check-box and date-control

Previously, page authors could not restrict access to a page even if the page was not published. Setting a publication date was possible, but may have given the impression that the page was not accessible if it was not published. The fix adds an option "Hide page when outside publishing window" to the "create page wizard", which allows authors to restrict access to the page based on publishing time. This feature is documented in the "Add a New Page using the Page Creation Wizard" section of the User Guide.
1038545 - Automatic way to update all sites at once (Portal, groups and user sites)

Previously, it was not possible for the Portal REST API to concurrently perform a single import or export operation over several portals. This forced large updates to portals to be performed individually, which created unnecessary deployment complexity. This release introduces the concept of Templates, which take the form of a Zip archive. The archive contains a file structure which permits changes to a number of portal instances in a single operation. The functionality is described in the Red Hat JBoss Portal 6.2 Development Guide "Working with Templates" section.
1038562 - Provide a restricted page editor

A customer requested the functionality to be able to control which users can perform certain operations when adding new pages or editing existing pages. To implement the request, two new kinds of permissions (Move Apps and Move Containers) applicable to Sites, Pages and Containers were added. Portal owners have fine-grained control over edit operations on Sites and Pages.
973835 - Allow customers to customize login validation and accounts expiration

Previously, the password policy for JBoss Portal was static, and could not be customized. Portal administrators could not adjust the policy based on their requirements. The fix implements a configuration option that allows an Administrator to override the default validation by specifying custom password policies through the configuration.properties file.
793726 - Review the functionality that allows Portlet Event and Public Render Parameter to be propagated to portlets on different pages.

Public render parameters in portlets are now supported through portal URLs. Public render parameters were previously shared between pages but there was no support from Portal URLs. Public render parameter can now be passed to portlets through a Portal URL.
811126 - Enable PortalRequestHandler to set Cache-control according to some configuration option

Previously, cache control could not be fine tuned. This prevented highly concurrent portals benefiting from caching. The enhancement adds an option for an administrator to set a custom cache-control string on the portal’s configuration. This allows an administrator to fine tune the cache-control HTTP header, based on the portal’s requirements. Portals without this requirement continue to have the same behavior as before.
1050065 - Validating source code generated by RHJP in W3C validator

JBoss Portal produced XHTML-type documents, some of which contained rendered markup with HTML4 legacy, or new HTML5 styles. While mixed styles are valid from a browser perspective, they are not valid according to the W3C XHTML specification. Extensive review of JBoss Portal W3C compliance has been undertaken, and the areas reviewed and rectified are described in https://access.redhat.com/articles/1128703 .
1032937 - Define navigation nodes with external links

Previously, Navigation Nodes did not offer the option to specify external links in the navigation, or open in a new window. These configuration requirements are now supported in the Portal API.
793647 - Provide a button/icon to reset the search string

Previously, the User Management screen did not offer an easy way to re-display all users after performing a search. The workaround was to clear the entry in the search box and click the Search Icon. The enhancement introduces a Clear Search button, taken from the Organization Management Page Search field, which allows the field to be easily reset.
1038554 - Configurable default view mode in page editor

Previously, the JBoss Portal page editor showed portlets rendered in blocks. A manual change to the preview was needed to show fully rendered portlets in the page editor. New flags available in configuration.properties (gatein.portal.pageEditor.defaultEditMode, gatein.portal.layoutEditor.defaultEditMode) now allow the default view mode to be set. The JBoss Portal page editor can now be configured to define which rendered mode is used for portlets.
1038569 - Site header/footer preview when editing a page

Previously, the header and footer portlets were not visible in the wire-frame or preview view of the restricted page editor. The enhancement introduces functionality that displays the header and footer portlets in preview (read-only) mode, which gives a more accurate representation of the page when editing is complete.
794468 - Gadgets which are not whitelisted in the proxy should provide a notification

Previously, if a gadget tried to use a proxy URL which was not whitelisted, the gadget would silently fail. In many cases, a log message was not recorded for the failure. This could have resulted in customers incorrectly assuming the gadget contained a bug instead of the actual reason of the gadget using an unauthorized proxy connection. The enhancement introduces an INFO level log entry describing the root cause of the failure.
1043858 - Portal API Enhancement: Compose pages

Previously, it was not possible to create and compose new portal pages using the public API. In this release, a way to create and compose pages using the public API is available. The feature is described in the Page Composition section of the Development Guide.
1103762 - Add an option to load Asynchronous Module Definition (AMD) JavaScript from a Content Delivery Network (CDN)

It is possible to load Asynchronous Module Definition (AMD) JavaScript using the require.js config’s paths field. This feature is documented in the Red Hat JBoss Portal 6.2 Administration and Configuration Guide.
808453 - Way for an admin role user to view other non-admin user's customized dashboard/pages without logging in as the non-admin user

Previously, it was not possible for an Administrator to view and verify the permissions of a standard user without logging onto the portal as the user. Changes to the Administration console now permit an Administrator to "Impersonate" any user and verify their settings as they would experience them. This feature is described in detail in the Administration and Configuration Guide.

Chapter 4. Known Issues

Portal

1065452 - Domain mode cluster: Cannot sign into portal

private

It was found that the configuration in domain.xml file was incorrect. This caused issues with signing into portal while running 2-node cluster in domain mode. The workaround is to remove the following snippet from domain.xml in high availability and full-high availability profiles:
<login-module code="org.exoplatform.web.login.FilterDisabledLoginModule" flag="required"> <module-option name="portalContainerName" value="portal"/> <module-option name="realmName" value="gatein-domain"/> </login-module>
code
1117945 - Default value of property "jboss.as.management.blocking.timeout" (300 s) may be insufficient for portal startup with more data

private

A new class was introduced in the Application Server version JBoss Portal consumes. The class loads a parameter value set by jboss.as.management.blocking.timeout, or defaults to 300 (seconds) if not overridden in standalone.xml or standalone-ha.xml. This default value was identified as causing an issue during portal start-up if the portal takes more than 300 sec. This default value was identified as causing an issue during portal start-up if the portal takes more than 300 seconds (5 minutes) to start up. Possible reasons for this may include slow database performance or large amounts of data. Increasing the value to 7200 (two hours) corrected the issue. Initially starting with 3600 (one hour) was not sufficient time for loading performance testing data, however this value may prove suitable in some production environments.
1064245 - a4j:push is not working with WSRP
a4j:push is not compatible with WSRP. The URL rewrites performed by the JavaScript code of the Richfaces component is not compatible with the way WSRP evaluates the resource location.
1192273 - SAML2: Portal as SP and IDP - Failed to locate configuration file /WEB-INF/conf/sso/saml/picketlink-idp.xml
Due to an update to PicketLink, the location of the SP and IDP XML files have to be specified using an absolute path or a relative path to JBOSS_HOME/bin. To specify an absolute path, add a system property such as {jboss.home.dir} and the affected property entry is gatein.sso.saml.config.file
1194018 SSO:OpenAM 12 - Logout redirection doesn't work
The new OpenAM UI, called XUI cannot complete the logout procedure. To resolve the issue, use the legacy UI by disabling XUI. To disable XUI in OpenAM, access the, "OpenAM administration console", access "Configuration", select "Core" and uncheck the option "XUI interface". See, Administration and Configuration guide, chapter 14.4. Configuring the Platform as an OpenAM Client.
1078270 Dialect detection doesn't work for Oracle 12
Hibernate does not auto-detect Oracle 12 database and this could cause exception during JBoss Portal boot. To use Oracle 12 database for JCR, set the property gatein.jcr.datasource.dialect to value org.hibernate.dialect.Oracle10gDialect in the file $JBOSS_PORTAL_HOME/standalone/configuration/gatein/configuration.properties.
To use Oracle 12 database for IDM (Identity Management), set the property hibernate.dialect to value org.hibernate.dialect.Oracle10gDialect in the file $JBOSS_PORTAL_HOME/gatein/gatein.ear/portal.war/WEB-INF/conf/organization/idm-configuration.xml.
Oracle 10 Dialect can be used without issues with an Oracle 12 database.
1191580 INFO IJ000311: Throwable from unregister connection: java.lang.IllegalStateException: Trying to return an unknown connection2!
It was found that the test logs contained several occurrences of IJ000311 messages during the testing of scenarios related to the management of users and roles. This is caused if lazyStartOfHibernateTransaction configuration parameter is set to true due to which the connection is obtained lazily in a context of a portlet application but returned in the context of the main portal servlet which has a different context. Given that the underlying Connection Manager lends/registers and accepts the connections back based on the contexts this leads to the named message. The message itself is harmless as the lending and returning of the connections works properly and there are no connections leak under any circumstances.

Chapter 5. Resolved Issues

Documentation

1099434 - Verify Java Transaction API (JTA) integration

Some customers wanted to use JTA integration, which was supported in JBoss Portal 5.2, but could not find any configuration documentation for the feature. JTA integration has been present since version 6.0.0 of the product. Documentation was updated to reflect the new directory structure of the platform, and to ensure all information pertaining to configuring JTA was available in the product documentation.

Portal

1064421 - Request Parameters lost after login

Previously, URL query parameters were not propagated when authentication redirection occurred. This caused URL parameters to be lost after authentication was redirected to the portal. The fix implements a patch that preserves parameters from the URL after authentication redirection. URL parameters are now preserved as part of the authentication process.
1094154 - Make permission defaults in page creation forms consistent

Previously, the permission defaults were not set uniformly in page creation forms such as "Page Creation Wizard", "New Page" in Page Management or "Create Page" in Navigation Editor. Optimizations to the classes controlling page permissions made the permission defaults in the named forms consistent.
1065987 - W3C validator: Encoding of ampersand characters in URLs

JBoss Portal produced xhtml type documents that contained URLs generated in plain-text. This caused issues with W3C validation when certain plain-text characters such as ampersands (&) in URLs were not converted to entities. The fix implements a configuration flag defined in configuration.properties (gatein.w3c.url.encoded), which allows URLs to be encoded to W3C requirements, or maintained in plain text. URLs produced by JBoss Portal can now be rendered according to W3C validation rules. The configuration flag permits the old plain-text behavior for compatibility purposes.
1103771 - Introduce XML schema validation for gatein-resources.xml

A bug in the validator code caused the gatein-resources.xml file to not be validated against the declared XML schema. The validation code has been corrected to validate the file correctly. To ensure backwards compatibility is maintained, the validation is done only for gatein-resources.xml files that use the namespace http://www.gatein.org/xml/ns/gatein_resources_1_5 or newer.
1053019 - Submenu is displayed off the screen in right to left mode

An issue with the logic that displayed portal menus in right-to-left (RTL) mode caused the Site menu to display incorrectly on Android tablet devices running API 18 (4.3) and API 16 (4.1.2). The fix implements a logic change to display the Site menu correctly on devices running these API levels, which corrects the originally reported issue.
1065997 - W3C validator: ID markup elements starting with numbers

JBoss Portal produced xhtml type documents that contained ID attributes starting with numbers. This caused issues with W3C validation compatibility. The fix implements changes to ensure ID attributes are generated using non-number patterns.
1102754 - Layout of portlet is broken in preview mode

It was discovered that when a new skin was loaded for a portlet, and the portlet was using the default skin, the portal layout could malfunction when viewing the portal extension on the page in preview mode. The fix to the page editor first checks whether if the loaded style exists for the skin defined in the extension, or in the default skin. Portlets are now correctly rendered in preview mode.
1066010 - W3C validator: minor mark-up issues.

JBoss Portal produced XHTML type documents that contained rendered content not compliant with W3C validation rules (for example, empty list elements, and block elements inside inline elements). Elements of this nature have now been fixed at the mark-up level, and are not rendered according to W3C validation rules.
1062155 - Missing javax.servlet.api dependency in org.jasig.cas.client module

Previously, when trying to use the cas-client-core-3.2.1.jar of /modules/system/layers/gatein/org/jasig/cas/client/main/ in an application by defining a dependency in the jboss-deployement-structure.xml file, a java.lang.ClassNotFoundException exception was thrown for the missing javax.servlet.http.HttpSessionListener dependency. This prevented the "org.jasig.cas.client" module from being used in a customer web application. The fix adds the missing dependency of Servlet API (javax.servlet.api module) to /modules/system/layers/gatein/org/jasig/cas/client/main/ which fixes the originally reported issue.
1070077 - Multibyte character issues in Dashboard tab name

Multi-byte character issues in the Dashboard tab name caused the title bar to be double-encoded. The title bar became unreadable and subsequently could not display the correct title. The fix implemented now detects if the title was previously encoded, and encodes it only when required. This fixes the Dashboard tab name rendering issue.
1079470 - W3C validator: Review portal extension

JBoss Portal produced XHTML type documents, one of which was a portal extension that contained views not in compliance with W3C. The extension was reviewed and corrected, which ensures extension views now render according to W3C requirements.
1039600 - LDAP: Portal UI doesn't indicate password update failure

private

When a user attempted to save or update their password through the JBoss Portal UI, and the update failed for any reason, the only indication of failure was an INFO message in the log. The user did not receive any notification of the failed update attempt at the UI layer, which resulted in the user having issues with authenticating with the updated password. The fix redirects any password update or save exception to the UI layer of the portal, which then displays the appropriate WARN level message to the user indicating the password update failed.
1103765 - Add an option to load CSS from a CDN

Previously, it was not possible to use Cascading Stylesheet (CSS) files in Portal and Portlet skins that were hosted outside the Portal (for example, on a Content Delivery Network (CDN)). A fix was implemented which modifies CSS handling so @import statements in CSS files can include portal-external stylesheets. It is now possible to use CSS files hosted on a CDN.
1094163 - PortalSetupCommand does not ensure that initialpassword is written on a new line

A bug in the portal-setup.sh tool caused issues with setting the root password if configuration.properties was not terminated by a new line. The portal-setup.sh tool now ensures a new line is appended to the end of configuration.properties before adding the initial root password.
1065991 - W3C validator: Use of custom attributes for portal navigation portlets.

JBoss Portal produced XHTML-type documents, some of which implemented custom attributes that were valid for browsers but non-compliant with W3C specifications. The custom attributes are fixed by applying compliance work-arounds in the XHTML mark-up. JBoss Portal now renders custom attributes according to W3C XHTML validation rules.
1056533 - Support full-ha and ha profiles in domain mode

The "full-high availability" and "High Availability" profiles in domain mode were not pre-configured for use with Red Hat JBoss Portal in the domain.xml file. Manual configuration of domain.xml was required for full-high availibility and high-availibility profiles. The fix adds Red Hat JBoss Portal configuration for the "full-high Availibility" and "High Availibility" profiles to the domain.xml file.
1102742 - Newly added page is shown twice in Page Management

A bug with default page query order in the PageMangement portlet caused an issue with repeating results in the portlet. The fix adds a default order based on the page name to the page query, which prevents duplicated elements from displaying.
1066001 - W3C validator: Use of legacy HTML attributes not compliant with XHTML 1.0 Strict type document.

JBoss Portal produced XHTML-type documents, in which some legacy HTML elements were not compatible in a XHTML 1.0 Strict document. This caused non-compliance issues with W3C XHTML validation. The non-compliant elements are fixed with a compliant XHTML workaround. Additionally, XHTML produced by JBoss Portal is modified from strict to transitional to prevent future conflicts for legacy elements in third party portlets.
1085927 - org.jgroups.TimeoutException when starting two nodes in cluster

It was discovered that some variables in jgroups and infinispan (ack_on_delivery and clusterName) were not properly defined. The improperly defined variable were causing TimeoutException errors in a clustered environment. JGroups and Infinispan configurations have been updated to define ack_on_delivery and clustername variables correctly, which fixes the TimeoutException errors originally encountered.
1080249 - RichFaces is not defined after adding a RF portlet to a page

An issue with PortalComposer sending responses before the JCR was fully committed caused the global layout to malfunction. This presented on pages where mark-up contained references to portlet resources, and the request to the JCR asked for resources not yet in the repository. The fix flushes the JCR elements in PortalComposer, which allow portlets with resource IDs on mark-up to display correctly.
1059036 - Portlet in Dashboard is broken for the first access

When more than one concurrent request reached a new dashboard, the first request to reach the server was still persisting the newly created dashboard while the second tried to retrieve it. This caused the second request to get an exception, and the first access to the dashboard could possibly have shown the portlet as broken. The fix flushes the JCR immediately after the dashboard is created, which persists the dashboard, and ensures the second request can always find the newly-created dashboard.
1094772 - Different Portlet preference for remote portlets added on the same page

Previously, the way portlet preferences were stored in WSRP could result in two instances of the same WSRP portlet to share the same portlet ID. This resulted in one portlet overwriting the preferences of the other portlet. The fix implements improvements to WSRP portlet preference storage by storing preferences based on a unique ID generated for each portlet instance. This separates portlet preferences from other portlet instances.
1020260 - Remove dependency on JBoss Cache 3.2 and jgroups 2.6

With eXo JCR 1.16+ now included in JBoss Portal 6.2, the product no longer depends on JBoss Cache (any version) and jgroups 2.6. Infinispan replaces these two technologies. JBoss Cache and jgroups 2.6. are removed from the JBoss Portal module tree. Redundant jars for these technologies are no longer present in the JBoss Portal distribution.
1058216 - Struts portlet prevents cluster node from starting up properly

Previously, the Struts framework had a non-serializable class ServletPortletSessionProxy used to handle sessions internally between Portlets, and Servlet layers. Because the class was stored at the session level, it introduced serialization issues when used in a clustered environment. The fix modifies the Struts configuration inside portlet.xml by setting the init parameter PortletScopeStrutsSession to false by default. PortletSessions are now mapped directly without ServletPortletSessionProxy, and portlets based on the Struts framework now work when used in a clustered environment.
1032715 - Provide functionality to reset the portlet view

Previous versions of PortletBridge could not reset the state of a JSF portlet to it’s default state. In cases where the navigation was contained inside a JSF portlet, the navigation could not be reset until the session expired. The fix includes PortletBridge 3.3.1 in this release of JBoss Portal, which correctly returns a JSF portlet to it’s default state when required. This behavior is documented in the Red Hat JBoss Portal Development Guide chapter Saving Bridge Request Scope after Render complete

Revision History

Revision History
Revision 6.2.0-6Thu May 14 2015Aakanksha Singh
Release Notes prepared for 6.2.0 GA