voyent
Showcase problem  XML
Forum Index -> General Help Go to Page: Previous  1, 2, 3 Next 
Author Message
kdean

Joined: 12/May/2009 00:00:00
Messages: 37
Offline


Here's what's in the WEB-INF/lib directory of the showcase-portlet application:

2012-07-24 03:55 231,320 commons-beanutils.jar
2012-07-24 03:55 571,259 commons-collections.jar
2012-07-24 03:55 52,915 commons-logging.jar
2012-07-24 03:57 3,021,372 icefaces-ace.jar
2012-07-24 03:57 2,803,530 icefaces-compat.jar
2012-07-24 03:56 336,920 icefaces.jar
2012-07-24 03:54 350,191 icepush.jar
2012-07-24 03:54 2,591,258 javax.faces.jar
2012-07-24 03:54 93,310 jhighlight-1.0.jar
2012-07-24 03:54 20,682 jstl.jar
2012-07-24 03:54 725,247 jxl.jar
2012-07-24 03:55 154,581 krysalis-jCharts-1.0.0-alpha-1.jar
2012-10-03 08:27 29,635 liferay-faces-bridge-api-3.1.0-ga1.jar
2012-10-03 08:27 458,036 liferay-faces-bridge-impl-3.1.0-ga1.jar
2012-10-03 08:27 82,751 liferay-faces-portal-3.1.0-ga1.jar
2012-10-03 08:28 83,829 liferay-faces-util-3.1.0-ga1.jar
2012-10-17 14:24 481,534 log4j.jar
2012-07-24 03:54 1,675,036 poi-3.7.jar
2012-10-17 14:24 70,805 util-bridges.jar
2012-10-17 14:24 185,248 util-java.jar
2012-10-17 14:24 320,300 util-taglib.jar

I can't find a way to export the content of Chrome's Resources tab, but the only things that appear in the Scripts section are everything.jsp and main.js. If you want, I can give you the HTML code as well.
dsinotte

Joined: 14/Nov/2006 00:00:00
Messages: 33
Offline


Is there any server console logging showing warnings, exceptions, etc?

Since you are running on Glassfish, it probably ships with it's own version of JSF. Is that version being logged? Does it match the version you've included in the .war file?

You can build a version of the showcase that doesn't include javax.faces.jar by using the web-profile target:

ant clean -Dliferayfaces="true" liferay6.web-profile

However, we generally recommend using the version we ship (Mojarra 2.1.6 is the latest one we include) as there are bugs with more recent versions of Mojarra that can cause problems. Not loading jsf.js and bridge.js are not typically an issue, though.
kdean

Joined: 12/May/2009 00:00:00
Messages: 37
Offline


Here's what's in the log during the loading of the showcase:

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: org/springframework/transaction/PlatformTransactionManager
WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: org/springframework/transaction/PlatformTransactionManager
WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: org/springframework/transaction/PlatformTransactionManager

INFO: Initializing Mojarra 2.1.6 (SNAPSHOT 20111206) for context '/showcase-portlet'

INFO: ICEfaces Configuration:
org.icefaces.render.auto: true [default]
org.icefaces.autoid: true [default]
org.icefaces.aria.enabled: true [default]
org.icefaces.blockUIOnSubmit: false [default]
org.icefaces.compressDOM: false [default]
org.icefaces.compressResources: false [default]
org.icefaces.connectionLostRedirectURI: null [default]
org.icefaces.diffConfig: null [default]
org.icefaces.deltaSubmit: false [default]
org.icefaces.lazyPush: true [default]
org.icefaces.generateHeadUpdate: false [default]
org.icefaces.sessionExpiredRedirectURI: null [default]
org.icefaces.standardFormSerialization: false [default]
org.icefaces.strictSessionTimeout: false [default]
org.icefaces.subtreeDiff: true [default]
org.icefaces.windowScopeExpiration = 1000 [default]
org.icefaces.mandatoryResourceConfiguration: none [default]
org.icefaces.uniqueResourceURLs: false
org.icefaces.lazyWindowScope: true [default]
org.icefaces.messagePersistence: true [default]
org.icefaces.disableDefaultErrorPopups: false [default]
org.icefaces.fastBusyIndicator: false [default]
org.icefaces.replayNavigationOnReload: false [default]


INFO: ICEsoft Technologies Inc.
ICEfaces 3.1.0
Build number: 2
Revision: 30215


INFO: 10:57:06,146 INFO [main][HotDeployImpl:178] Deploying showcase-portlet from queue

INFO: 10:57:06,146 INFO [main][PluginPackageUtil:1033] Reading plugin package for showcase-portlet


INFO: PWC1412: WebModule[null] ServletContext.log():Initializing Spring root WebApplicationContext

INFO: 10:57:07,506 INFO [BridgeImpl] Initializing Liferay Faces Bridge 3.1.0-ga1 (Galatia / Aug 21, 2012 AD)
(previous line repeated multiple times)

INFO: ICEpush Email Notification Provider Registered.
INFO: WEB0671: Loading application [showcase-portlet] at [/showcase-portlet]
INFO: CORE10010: Loading application showcase-portlet done in 11,713 ms
dsinotte

Joined: 14/Nov/2006 00:00:00
Messages: 33
Offline


I'm not sure what could be going wrong. I went through the following exercise:

- Downloaded the latest Liferay on Glassfish bundle (liferay-portal-6.1.1-ce-ga2).
- Unzipped and started the server.
- Built and deployed our showcase-portlet application on to the platform.
- Created a new portal page.
- Added an Accordion sample portlet to the page.

And everything worked fine for me. Firebug shows that the bridge was downloaded without issue (uncompressed in this case as I was in JSF Development mode):

http://localhost:8080/web/guest/test?_accordionPanel_WAR_showcaseportlet_javax.faces.resource=bridge.uncompressed.js&p_p_col_count=1&p_p_col_id=column-1&p_p_id=accordionPanel_WAR_showcaseportlet&p_p_lifecycle=2
kdean

Joined: 12/May/2009 00:00:00
Messages: 37
Offline


Unfortunately, the Liferay bundle with GlassFish is not appropriate for my environment (it's missing a variety of extended GlassFish features that we need). I have a GlassFish installation to which I have deployed the Liferay WAR and then to which I deployed the showcase.

How can I go about diagnosing the problem? This is obviously a show-stopper for me.
kdean

Joined: 12/May/2009 00:00:00
Messages: 37
Offline


I just tried rebuilding the showcase portlet project with:

ant clean -Dliferayfaces="true" liferay6.web-profile

However, I get this:

BUILD FAILED
Target "liferay6.web-profile" does not exist in the project "showcase-portlet".
dsinotte

Joined: 14/Nov/2006 00:00:00
Messages: 33
Offline


You're right. My bad, there is no web-profile for Liferay 6. However, I ran my test using liferay6.servet-profile so I know it does work.

I realize your environment can't use the stock Liferay on Glassfish bundle but you could:

1) Verify that it does work for you on that configuration just to ensure that there isn't something else in your environment causing a problem. If the stock bundle works, then it's very likely something to do with the way Liferay and Glassfish are being combined. Perhaps just a missing or misconfigured setting. Is Liferay being deployed to the root context ("/") or some other context?

2) Crank up the logging. Liferay does occasionally have a habit of "eating" important logging statements. If you can turn on debug/finest level logging, it may show something important that isn't being propagated to the console.

kdean

Joined: 12/May/2009 00:00:00
Messages: 37
Offline


Liferay is deployed to the root context, yes.

How do I crank up the logging for Liferay? I see 311 different logging options; which ones matter for this?
dsinotte

Joined: 14/Nov/2006 00:00:00
Messages: 33
Offline


Not sure what the "311 logging options" refers to.

The logging is a bit complicated by the fact that ICEfaces uses java.util logging while the Liferay Faces Bridge uses Log4j by default if it's available. However, you can include 2 logging config files in WEB-INF/classes:

logging.properties:

handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler
org.icefaces.level = FINEST
java.util.logging.ConsoleHandler.level = FINEST
java.util.logging.FileHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter


log4.properties:

log4j.rootLogger=INFO, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{1}:%L] %m%n
log4j.logger.com.liferay.faces.bridge=DEBUG


This is very blunt and dumps out a lot of info but until we know where things might be going wrong, better too much than too little.
kdean

Joined: 12/May/2009 00:00:00
Messages: 37
Offline


I'm seeing absolutely nothing in the logs after putting those files into the WEB-INF/classes directory. The com.liferay.faces.bridge=DEBUG setting is certainly there as I can see it in the Liferay Control Panel, but there's no additional output from anything.

I have attached the HTML that Liferay is generating. The page contains the Liferay sign in portlet and the ACE PushButton sample portlet.
 Filename output.html [Disk] Download
 Description
 Filesize 49 Kbytes
 Downloaded:  198 time(s)

kdean

Joined: 12/May/2009 00:00:00
Messages: 37
Offline


I realized this morning that I had modified the Liferay logging files, not the showcase logging files. I fixed my error and got the attached output. The bridge.js file shows up in the log but is still not being downloaded to the browser.
 Filename trace.txt [Disk] Download
 Description
 Filesize 545 Kbytes
 Downloaded:  650 time(s)

dsinotte

Joined: 14/Nov/2006 00:00:00
Messages: 33
Offline


So in the logging, we can see the resources being processed and added to Liferay's head section:

Code:
INFO: 13:21:14,835 DEBUG [BridgeContextImpl:284] encodeResourceURL fromURL=[http://localhost:8080/web/guest/home;jsessionid=dc880d9de157b8fa2f7013eeae7c?p_p_id=pushButton_WAR_showcaseportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_count=2&p_p_col_pos=1&_pushButton_WAR_showcaseportlet_javax.faces.resource=jsf.js&_pushButton_WAR_showcaseportlet_ln=javax.faces]
 
 INFO: 13:21:14,835 DEBUG [HeadResponseWriterLiferayImpl:81] Added resource to Liferays <head>...</head> section, element=[{0}]


One thing to try after the page is loaded, is to copy the "fromURL" and paste it manually into the browser's address bar and see if it can get resolved.
kdean

Joined: 12/May/2009 00:00:00
Messages: 37
Offline


The URL is successfully resolved and I can download the bridge.js file. However, when I examine the HTML output (see one of my previous postings), the URL in question isn't anywhere to be found in the "head" tag.
kdean

Joined: 12/May/2009 00:00:00
Messages: 37
Offline


I checked for some of the other .js files; they're in the log but not in the HTML either.
dsinotte

Joined: 14/Nov/2006 00:00:00
Messages: 33
Offline


I'm at a bit of a loss as to what to try next as it doesn't appear to be a problem related to ICEfaces.

It works in the bundled Glassfish + Liferay version and it appears from the server side that the URLs for the resources are being successfully constructed (i.e. they work when used manually from the browser). They just aren't making it out to the markup.

This would seem to indicate a mis-communication between the Liferay Faces Bridge and the portal container as it's the bridge that's talking to the portal container's API to add these resources to the head. Because we're dealing with portlets, adding stuff to the head is not as straightforward as a non-portlet app so the bridge may use some container specific methods to do it. Perhaps you could pose some of the findings we've made here to the Liferay Faces Bridge forums.
 
Forum Index -> General Help Go to Page: Previous  1, 2, 3 Next 
Go to:   
Powered by JForum 2.1.7ice © JForum Team