Update CONNECT Build with CONNECTAdminGUI in JBoss Servers.

Description

For the CONNECT JBoss EAR, CONNECTAdminGUI should only build within the CONNECT EAR when the "AdminGUI" profile is explicitly activate. The build should successfully deploy on WebLogic, where AdminGUI functionality can be tested (See CC). Access via http://localhost:8080/CONNECTAdminGUI/Login.xhtml

CC:

1. CONNECTAdminGUI does not built into the EAR by default – only when using the AdminGUI profile.
2. CONNECTAdminGUI can be deployed as part of the CONNECT EAR on JBoss; once deployed, able to log in.
3. Able to follow these test cases: https://connectopensource.atlassian.net/wiki/display/FCPT/ADMIN+GUI+Test+cases

QA:

See CC.

Resolution Details

RESOLUTION SUMMARY: For JBoss 7, deploy both the CONNECTAdminGUI WAR and the CONNECT-JB7 EAR.

https://github.com/CONNECT-Solution/CONNECT/pull/791

Due to varying bugs in multiple versions of JBoss 7, we were ultimately unable to bundle a JSF implementation within the CONNECT-JB7 EAR. As a workaround, the CONNECTAdminGUI WAR can be deployed separately, outside of the EAR. Below is a detailed explanation of our findings.

There are two strategies in JBoss 7 for using a custom JSF implementation:

1) WAR_BUNDLES_JSF_IMPL - by setting the context paramter "org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMP" to "true" within a WAR, the JBoss classloader will use the implementation from WEB-INF/lib, ignoring JBoss' JSF module.

This is the strategy that has been implemented for the CONNECTAdminGUI WAR. Unfortunately, that WAR cannot be part of an EAR due to the following:

WFLY-1785 details why this strategy will not work within an EAR on JBoss 7.2.0:
https://issues.jboss.org/browse/WFLY-1785

AS7-3940, AS7-4647, and AS-1976 detail why this strategy will not with within an EAR for JBoss 7.1.1, 7.1.2 (Community), or 7.1.3 (Community):
https://issues.jboss.org/browse/AS7-3940
https://issues.jboss.org/browse/AS7-4647
https://issues.jboss.org/browse/AS7-1976

We did not test against versions below 7.1.1 or with 8.x (wildfly).

2) Multi-JSF - in JBoss 7.2.0, JSF was broken off as its own submodule, allowing any JSF implementation to be installed using the JBoss Multi-JSF installer. Unfortunately, the same release also introduced a bug in the system for registering JSF modules.

WFLY-976 details the issue with this strategy:
https://issues.jboss.org/browse/WFLY-976

The documented workaround for WFLY-976 is a hack that involves copying the default JSF modules to a second location, which was causing inconsistent behavior when undeploying and redeploying the CONNECT-JB7 EAR.

Activity

Show:

SaibabuV May 19, 2014 at 2:18 PM

Completed QA

SaibabuV May 19, 2014 at 9:42 AM

Sai: QAing

techie naresh May 5, 2014 at 6:24 PM

Include the below in the web.xml to override the default JBOSS JSF RI implementation libraries:
<context-param>
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
<param-value>true</param-value>
</context-param>

Fixed

Details

Assignee

Reporter

LOE

Unknown

Story Points

Time tracking

1w 2d 5h logged

Sprint

Fix versions

Priority

Created May 5, 2014 at 5:46 PM
Updated May 19, 2014 at 7:50 PM
Resolved May 16, 2014 at 10:42 PM