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