[JBoss JIRA] Created: (GTNPORTAL-1123) portal skins shouldn't need to include screenshots of the other skins
by Matt Wringe (JIRA)
portal skins shouldn't need to include screenshots of the other skins
---------------------------------------------------------------------
Key: GTNPORTAL-1123
URL: https://jira.jboss.org/jira/browse/GTNPORTAL-1123
Project: GateIn Portal
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Matt Wringe
When you switch portal skins you can be shown a preview screenshot of the portal skin to see which one you want to select.
The problem is that for this preview to be shown the current portal skin must contain the image of all the other skins as part of its own css. In order for this to work currently it means when a new skin is created, someone needs to go through all the other skins to add the new skin screenshot image and reference for the new skin. It doesn't make any sense for a portal skin to have references to other skins screenshots.
A portal skin should specify the preview screenshot itself, and the skin switcher should use this to show the screenshot.
[ps: it might also be good to show an image not found image rather than just leave the preview area blank]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] Created: (GTNPORTAL-1255) DownloadHandler can't download file > 1M in portlet of GateIn portal?
by Hieu Ha (JIRA)
DownloadHandler can't download file > 1M in portlet of GateIn portal?
---------------------------------------------------------------------
Key: GTNPORTAL-1255
URL: https://jira.jboss.org/browse/GTNPORTAL-1255
Project: GateIn Portal
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Common integration
Affects Versions: 3.0.0-GA
Environment: WinXP3/GateIn-3.0.0-FINAL-jbossas/jdk1.6.0/
Reporter: Hieu Ha
I am deverloping a portlet that can upload and download file from JCR in GateIn portal. I use the DownloadHandler to download file like "http://localhost:8080/portal/command?type=org.exoplatform.web.command.han..." and I found a bug in DownloadHandler. The file from JCR is small than 1MB it can run download, but if file is bigger than 1MB it camentn't download. I don't know why.
My portlet run on GateIn-3.0.0-FINAL-jbossas and I made a new repository "orderform" to store my files.
This is list of my file, it is too big to attach
http://gioithieuwebsite.com/hieuhn/OrderForm-0.0.1-SNAPSHOT.ear
http://gioithieuwebsite.com/hieuhn/repository-configuration.xml
http://gioithieuwebsite.com/hieuhn/OrderForm_src.zip
Thanks,
HieuHN
P/S: I also meet error after delete my file in JCR:
16:45:42,750 INFO [FileUploadBean] DOING delete:
16:45:42,765 INFO [JCRBrowser] START deleteNode() /0/classlist.pdf
16:45:42,765 INFO [JCRBrowser] deleteNode getPath/0
16:45:43,015 INFO [JCRBrowser] START createOrderFormNode() 0
16:45:43,031 INFO [JCRBrowser] START try
16:45:43,031 INFO [JCRBrowser] getPath /0/0
16:45:43,031 INFO [JCRBrowser] START intFolder()
16:45:43,062 INFO [FileUploadBean] END delete()
16:46:03,328 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_47] - One-phase commit of action -3f579b24:8c2:4bfe2db9:1d9 received heuristic decision: TwoPhaseOutcome.HE
16:46:03,562 ERROR [Exceptions] handled and logged exception
java.lang.IllegalStateException: Could not commit transaction
at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:625)
at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:604)
at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfterPhase(SeamPhaseListener.java:345)
at org.jboss.seam.jsf.SeamPhaseListenerWrapper.afterPortletPhase(SeamPhaseListenerWrapper.java:123)
at org.jboss.seam.jsf.SeamPhaseListenerWrapper.afterPhase(SeamPhaseListenerWrapper.java:84)
at org.jboss.portletbridge.lifecycle.LifecyclePhase.execute(LifecyclePhase.java:90)
at org.jboss.portletbridge.lifecycle.UpdateModelPhase.executeNextPhase(UpdateModelPhase.java:49)
at org.jboss.portletbridge.lifecycle.LifecyclePhase.execute(LifecyclePhase.java:99)
at org.jboss.portletbridge.lifecycle.ProcessValidatorsPhase.executeNextPhase(ProcessValidatorsPhase.java:50)
at org.jboss.portletbridge.lifecycle.LifecyclePhase.execute(LifecyclePhase.java:99)
at org.jboss.portletbridge.lifecycle.ApplyValuesPhase.executeNextPhase(ApplyValuesPhase.java:50)
at org.jboss.portletbridge.lifecycle.LifecyclePhase.execute(LifecyclePhase.java:99)
at org.jboss.portletbridge.lifecycle.RestoreViewPhase.executeNextPhase(RestoreViewPhase.java:72)
at org.jboss.portletbridge.lifecycle.LifecyclePhase.execute(LifecyclePhase.java:99)
at org.jboss.portletbridge.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:62)
at org.jboss.portletbridge.lifecycle.PortletLifecycle.execute(PortletLifecycle.java:114)
at org.jboss.portletbridge.AjaxPortletBridge.execute(AjaxPortletBridge.java:1076)
at org.jboss.portletbridge.AjaxPortletBridge.doFacesRequest(AjaxPortletBridge.java:806)
at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:541)
at org.gatein.pc.portlet.impl.jsr168.PortletContainerImpl$Invoker.doFilter(PortletContainerImpl.java:575)
at org.gatein.pc.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:184)
at org.gatein.pc.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:84)
at org.gatein.pc.portlet.impl.jsr168.PortletContainerImpl.dispatch(PortletContainerImpl.java:506)
at org.gatein.pc.portlet.container.ContainerPortletDispatcher.invoke(ContainerPortletDispatcher.java:42)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.aspects.EventPayloadInterceptor.invoke(EventPayloadInterceptor.java:197)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.aspects.RequestAttributeConversationInterceptor.invoke(RequestAttributeConversationInterceptor.java:119)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.aspects.CCPPInterceptor.invoke(CCPPInterceptor.java:65)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.bridge.BridgeInterceptor.invoke(BridgeInterceptor.java:49)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.aspects.ContextDispatcherInterceptor.access$001(ContextDispatcherInterceptor.java:49)
at org.gatein.pc.portlet.aspects.ContextDispatcherInterceptor$1.doCallback(ContextDispatcherInterceptor.java:123)
at org.gatein.wci.command.CommandDispatcher$CallbackCommand.execute(CommandDispatcher.java:82)
at sun.reflect.GeneratedMethodAccessor509.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.gatein.wci.command.CommandServlet.doGet(CommandServlet.java:135)
at org.gatein.wci.command.CommandServlet.doPost(CommandServlet.java:166)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:543)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:480)
at org.gatein.wci.command.CommandServlet.include(CommandServlet.java:84)
at org.gatein.wci.command.CommandDispatcher.include(CommandDispatcher.java:58)
at org.gatein.wci.tomcat.TC6ServletContainerContext.include(TC6ServletContainerContext.java:87)
at org.gatein.wci.impl.DefaultServletContainer.include(DefaultServletContainer.java:198)
at org.gatein.pc.portlet.impl.spi.AbstractServerContext.dispatch(AbstractServerContext.java:69)
at org.gatein.pc.portlet.aspects.ContextDispatcherInterceptor.invoke(ContextDispatcherInterceptor.java:77)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.aspects.SecureTransportInterceptor.invoke(SecureTransportInterceptor.java:69)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.aspects.ValveInterceptor.invoke(ValveInterceptor.java:75)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.container.ContainerPortletInvoker.invoke(ContainerPortletInvoker.java:117)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.state.producer.ProducerPortletInvoker.invoke(ProducerPortletInvoker.java:231)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.aspects.PortletCustomizationInterceptor.invoke(PortletCustomizationInterceptor.java:76)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.portlet.aspects.ConsumerCacheInterceptor.invoke(ConsumerCacheInterceptor.java:229)
at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:87)
at org.gatein.pc.federation.impl.FederatedPortletInvokerService.invoke(FederatedPortletInvokerService.java:152)
at org.gatein.pc.federation.impl.FederatingPortletInvokerService.invoke(FederatingPortletInvokerService.java:177)
at org.exoplatform.portal.webui.application.UIPortlet.invoke(UIPortlet.java:903)
at org.exoplatform.portal.webui.application.UIPortletActionListener$ServeResourceActionListener.execute(UIPortletActionListener.java:336)
at org.exoplatform.webui.event.Event.broadcast(Event.java:89)
at org.exoplatform.portal.webui.application.UIPortletLifecycle.processAction(UIPortletLifecycle.java:132)
at org.exoplatform.portal.webui.application.UIPortletLifecycle.processAction(UIPortletLifecycle.java:61)
at org.exoplatform.webui.core.UIComponent.processAction(UIComponent.java:137)
at org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processAction(UIPortalApplicationLifecycle.java:73)
at org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processAction(UIPortalApplicationLifecycle.java:37)
at org.exoplatform.webui.core.UIComponent.processAction(UIComponent.java:137)
at org.exoplatform.webui.core.UIApplication.processAction(UIApplication.java:115)
at org.exoplatform.portal.application.PortalRequestHandler.execute(PortalRequestHandler.java:105)
at org.exoplatform.web.WebAppController.service(WebAppController.java:143)
at org.exoplatform.portal.application.PortalController.onService(PortalController.java:127)
at org.exoplatform.container.web.AbstractHttpServlet.service(AbstractHttpServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.CacheUserProfileFilter.doFilter(CacheUserProfileFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:112)
at org.exoplatform.web.filter.ExtensibleFilter.doFilter(ExtensibleFilter.java:84)
at org.exoplatform.web.filter.GenericFilter.doFilter(GenericFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.login.ClusteredSSOFilter.doFilter(ClusteredSSOFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.transaction.HeuristicMixedException
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1431)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)
at org.jboss.seam.transaction.UTTransaction.commit(UTTransaction.java:52)
at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:613)
... 119 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] Created: (GTNPORTAL-961) No limits on the MapResourceBundle recursive lookup
by Matt Wringe (JIRA)
No limits on the MapResourceBundle recursive lookup
---------------------------------------------------
Key: GTNPORTAL-961
URL: https://jira.jboss.org/jira/browse/GTNPORTAL-961
Project: GateIn Portal
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Matt Wringe
The map resource bundle doesn't have any limits on the amount of recursion it will try and do when resolving a message.
For example, if we have a properties file with:
word.cancel=#{word.cancel}
Then we will end up in an infinite loop (eventual stackoverflow exception) when trying to resolve #{word.cancel}.
When it tries to resolve word.cancel, it will get back #{word.cancel} which it will try and resolve again, ...
We are going to need to have a check on the level of recursion allowed when resolving messages from the resource bundle.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] Created: (GTNPORTAL-933) Remove custom_*.* resource bundles from portal.war
by Patrice Lamarque (JIRA)
Remove custom_*.* resource bundles from portal.war
--------------------------------------------------
Key: GTNPORTAL-933
URL: https://jira.jboss.org/jira/browse/GTNPORTAL-933
Project: GateIn Portal
Issue Type: Task
Security Level: Public (Everyone can see)
Affects Versions: 3.0.0-GA
Reporter: Patrice Lamarque
Priority: Minor
custom_* resource bundles are provided inside portal.war and contain a single entry (test=test).
I guess that the intention of this file, like for Portal 2.5, is to provide an out-of the box extension point for custom i18n keys.
for the record, in portal 2.x we used to override these bundle files at build time, effectively modifying these files in the portal.war.
With GateIn's portal extension mechanism, I expect (maybe erroneously) to be able to add custom locales simply by putting some custom_*.properties files inside my own portal war (ex: csdemo.war!WEB-INF/classes/locale/custom.properties ). And rely on the classloader resolution provided by the extension mecanism.
Strangely, it works well for all but english (en)locale.
The keys of my custom.properties are not resolved in my own gtmpl.
For example, in my homepage's gtmpl, an expression such as <%=_ctx.appRes("UIHomePagePortlet.cs-community")%> will result in displaying the "cs-community" which means the key was not resolved.
I have several workarounds possible :
1. copy-paste ALL custom*.* in my own portal war (ex: csdemo.war!WEB-INF/classes/locale/) then modify the bundles for the translations I have
2. digg into the ResourceBundleService xml conf change the "portal.resource.names" to add something like "locale.portal.csdemo" for my own keys
3. remove portal.war!WEB-INF/classes/locale/custom*.* and only provide the bundles for the locales I want (ex: custom.properties)
1. is not pratically doable (I can't guess how many languages are supported
2. is the current workaround. But then you could very well remove custom*.*
3. is almost good except the need to modify portal.war in order to obtain the expected behaviour
I'm not sure if this could qualify as a but, but none of the possible solutions is satifying in terms of extensibility.
The quickfix for gatein would be simply to remove custom*.* from portal.war. By keeping the ResourceBundleService config as-is, it would make a very handy implicit extension point for customizations.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] Created: (GTNPORTAL-1125) Have a configuration file for common conf settings
by Matt Wringe (JIRA)
Have a configuration file for common conf settings
--------------------------------------------------
Key: GTNPORTAL-1125
URL: https://jira.jboss.org/jira/browse/GTNPORTAL-1125
Project: GateIn Portal
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Matt Wringe
It would be nice if we had a simple configuration file set somewhere which could be used to set common configuration changes. Currently many of these changes are spread out in multiple configuration files and require searching through the file to find the specific line they need to change. Many times this requires having to use the docs to find the specific file and line.
If many of these common configuration settings were in a simple configuration file it would make making these changes easier. An example of common configuration changes could be something like changing the default portal to load or the default portal skin.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months