You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by David S Taylor <da...@bluesunrise.com> on 2014/12/04 00:15:20 UTC

Re: [jsr362-experts:] PortletHub should be functionally complete

Scott,

I tried it out, but got errors, see below. Here are the steps I used to
deploy ... please let me know if I am missing something or doing something
wrong

0. Pull latest on PortletHub branch

> git brach
*PortletHub
master

> git pull origin

1. Build Pluto from root directory

mvn clean install

2. Build Distribution

ant -f dist-build.xml

3. start Pluto

cd target/dist/pluto-2.1.0-SNAPSHOT/bin
chmod +x *.sh
./startup.sh

4. deploy the Portlet Hub

cp PortletHubDemo/target/PortletHubDemo.war
target/dist/pluto-2.1.0-SNAPSHOT/webapps/

5. Login to Pluto as pluto/pluto

6. Create a new page called Hub from Pluto Admin

7. Add any Hub portlet to the Hub page. I tried a few, they all get this
error when navigating to the Hub page:


Error rendering portlet MessageBoxPortlet.

javax.portlet.PortletException: org.apache.jasper.JasperException: The
absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in
either web.xml or the jar files deployed with this application
	at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:187)
	at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:227)
	at basic.portlet.MessageBoxPortlet.doView(MessageBoxPortlet.java:63)
	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:348)
	at javax.portlet.GenericPortlet.render(GenericPortlet.java:253)
	at org.apache.pluto.driver.services.container.FilterChainImpl.doFilter(FilterChainImpl.java:163)
	at org.apache.pluto.driver.services.container.FilterChainImpl.processFilter(FilterChainImpl.java:91)
	at org.apache.pluto.driver.services.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:105)
	at org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:340)
	at org.apache.pluto.container.driver.PortletServlet.doGet(PortletServlet.java:261)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
	at org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233)
	at org.apache.pluto.driver.container.DefaultPortletInvokerService.render(DefaultPortletInvokerService.java:117)
	at org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157)
	at org.apache.pluto.driver.tags.PortletTag.doStartTag(PortletTag.java:165)
	at org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspService(portlet_002dskin_jsp.java:95)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:927)
	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fforEach_005f1(pluto_002ddefault_002dtheme_jsp.java:617)
	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fotherwise_005f0(pluto_002ddefault_002dtheme_jsp.java:561)
	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fchoose_005f0(pluto_002ddefault_002dtheme_jsp.java:422)
	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspService(pluto_002ddefault_002dtheme_jsp.java:217)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
	at org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:255)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.jasper.JasperException: The absolute uri:
http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml
or the jar files deployed with this application
	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:410)
	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
	at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)
	at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:152)
	at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
	at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1425)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:644)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
	at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:174)
	... 68 more



--
David S Taylor
707 529-9194
david@bluesunrise.com


On Wed, Dec 3, 2014 at 7:37 AM, Martin Scott Nicklous <
Scott.Nicklous@de.ibm.com> wrote:

>
> Hi,
>
> I pushed several commits to the PortletHub branch of the Pluto repository,
> completing the Portlet Hub functionality (I think). There are quite a few
> changes, one of which ended up going deeper than I had really expected,
> which is why it took a little longer than planned.
>
> Changes:
>
> 1) Added accessor helper functions to the PortletParameters and
> PortletState objects
>
> 2) Modified portlet JavaScript code to use the new accessors
>
> 3) Used jslint to improve the portletHubImpl.js code
>
> 4) Completed the portlet hub action functionality by allowing the Portlet
> Client JavaScript code to provide a form element to the action() method
> rather than having to set the action parameters on the URL.
>
> In order to keep the client-side implementation easy, I implemented this
> through use of the XHR2 FormData object.
>
> It turns out that XHR2 sends FormData as "multipart/form-data" rather than
> as "application/x-www-form-urlencoded", so multipart form support was
> needed on the server side as well. In order to avoid writing my own parser
> for the multipart form data, I moved the Pluto servlet dependency to v3.0.
> Some JSPs weren't working for non-obvious reasons, so I moved the JSP and
> EL dependencies to v2.2 and moved to the latest standard tag library as
> well. That ended up solving the problem.
>
> Now everything seems to work. We've got the PortletHub functionality
> complete AND we have moved to the Java EE 6 level of servlet api, JSP api,
> EL api, and JSTL support.
>
> It would be good if someone could try this out and verify that it doesn't
> just work only on my machine. Since there are a number of changes, you will
> have to pull the latest level from the PortletHub branch, recompile, and
> completely redeploy Pluto and the demo portlets to see the changes.
>
> regards,
> Scott
>
>

Re: [jsr362-experts:] Re: PortletHub should be functionally complete

Posted by David S Taylor <da...@bluesunrise.com>.
Hi Neil,

After modifying the pom.xml and rebuilding, deploying, all the portlets now
display without error. Modifications to pom.xml include commenting out
provided scope for apache taglibs, and adding a dependency on JSTL 1.2 :


<*dependency*>    <*groupId*>javax.servlet</*groupId*>
<*artifactId*>jstl</*artifactId*>
<*version*>1.2</*version*></*dependency*><*dependency*>
<*groupId*>org.apache.taglibs</*groupId*>
<*artifactId*>taglibs-standard-spec</*artifactId*>
*<!--<scope>provided</scope>-->
*</*dependency*>


Im not really sure what Im supposed to see here. I thought the demo would
allow you to change colors are send text messages, but none of that seems
to be working for me. I am seeing messages in the Chrome console though...


--
David S Taylor
707 529-9194
david@bluesunrise.com


On Wed, Dec 3, 2014 at 3:31 PM, Neil Griffin <ne...@portletfaces.org>
wrote:

> Hi David,
>
> Just a suggestion, but you might want to start with a new/clean
> Tomcat 7.0.21 that does not include Pluto.
>
> Not sure why, but that's what I had to do last week in order to get it to
> work. I think I also had to add the following to tomcat-users.xml:
>
> <user name="pluto" password="pluto" roles="pluto,manager"/>
>
> Neil
>
> On Dec 3, 2014, at 6:15 PM, David S Taylor <da...@bluesunrise.com> wrote:
>
> Scott,
>
> I tried it out, but got errors, see below. Here are the steps I used to
> deploy ... please let me know if I am missing something or doing something
> wrong
>
> 0. Pull latest on PortletHub branch
>
> > git brach
> *PortletHub
> master
>
> > git pull origin
>
> 1. Build Pluto from root directory
>
> mvn clean install
>
> 2. Build Distribution
>
> ant -f dist-build.xml
>
> 3. start Pluto
>
> cd target/dist/pluto-2.1.0-SNAPSHOT/bin
> chmod +x *.sh
> ./startup.sh
>
> 4. deploy the Portlet Hub
>
> cp PortletHubDemo/target/PortletHubDemo.war
> target/dist/pluto-2.1.0-SNAPSHOT/webapps/
>
> 5. Login to Pluto as pluto/pluto
>
> 6. Create a new page called Hub from Pluto Admin
>
> 7. Add any Hub portlet to the Hub page. I tried a few, they all get this
> error when navigating to the Hub page:
>
>
> Error rendering portlet MessageBoxPortlet.
>
> javax.portlet.PortletException: org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
> 	at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:187)
> 	at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:227)
> 	at basic.portlet.MessageBoxPortlet.doView(MessageBoxPortlet.java:63)
> 	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:348)
> 	at javax.portlet.GenericPortlet.render(GenericPortlet.java:253)
> 	at org.apache.pluto.driver.services.container.FilterChainImpl.doFilter(FilterChainImpl.java:163)
> 	at org.apache.pluto.driver.services.container.FilterChainImpl.processFilter(FilterChainImpl.java:91)
> 	at org.apache.pluto.driver.services.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:105)
> 	at org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:340)
> 	at org.apache.pluto.container.driver.PortletServlet.doGet(PortletServlet.java:261)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
> 	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
> 	at org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233)
> 	at org.apache.pluto.driver.container.DefaultPortletInvokerService.render(DefaultPortletInvokerService.java:117)
> 	at org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157)
> 	at org.apache.pluto.driver.tags.PortletTag.doStartTag(PortletTag.java:165)
> 	at org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspService(portlet_002dskin_jsp.java:95)
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
> 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
> 	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
> 	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:927)
> 	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fforEach_005f1(pluto_002ddefault_002dtheme_jsp.java:617)
> 	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fotherwise_005f0(pluto_002ddefault_002dtheme_jsp.java:561)
> 	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fchoose_005f0(pluto_002ddefault_002dtheme_jsp.java:422)
> 	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspService(pluto_002ddefault_002dtheme_jsp.java:217)
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
> 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
> 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
> 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
> 	at org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:255)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
> 	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
> 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
> 	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
> 	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
> 	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:410)
> 	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
> 	at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)
> 	at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:152)
> 	at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
> 	at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
> 	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1425)
> 	at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
> 	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
> 	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
> 	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
> 	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:644)
> 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
> 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
> 	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
> 	at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:174)
> 	... 68 more
>
>
>
> --
> David S Taylor
> 707 529-9194
> david@bluesunrise.com
>
>
> On Wed, Dec 3, 2014 at 7:37 AM, Martin Scott Nicklous <
> Scott.Nicklous@de.ibm.com> wrote:
>
>>
>> Hi,
>>
>> I pushed several commits to the PortletHub branch of the Pluto repository,
>> completing the Portlet Hub functionality (I think). There are quite a few
>> changes, one of which ended up going deeper than I had really expected,
>> which is why it took a little longer than planned.
>>
>> Changes:
>>
>> 1) Added accessor helper functions to the PortletParameters and
>> PortletState objects
>>
>> 2) Modified portlet JavaScript code to use the new accessors
>>
>> 3) Used jslint to improve the portletHubImpl.js code
>>
>> 4) Completed the portlet hub action functionality by allowing the Portlet
>> Client JavaScript code to provide a form element to the action() method
>> rather than having to set the action parameters on the URL.
>>
>> In order to keep the client-side implementation easy, I implemented this
>> through use of the XHR2 FormData object.
>>
>> It turns out that XHR2 sends FormData as "multipart/form-data" rather than
>> as "application/x-www-form-urlencoded", so multipart form support was
>> needed on the server side as well. In order to avoid writing my own parser
>> for the multipart form data, I moved the Pluto servlet dependency to v3.0.
>> Some JSPs weren't working for non-obvious reasons, so I moved the JSP and
>> EL dependencies to v2.2 and moved to the latest standard tag library as
>> well. That ended up solving the problem.
>>
>> Now everything seems to work. We've got the PortletHub functionality
>> complete AND we have moved to the Java EE 6 level of servlet api, JSP api,
>> EL api, and JSTL support.
>>
>> It would be good if someone could try this out and verify that it doesn't
>> just work only on my machine. Since there are a number of changes, you
>> will
>> have to pull the latest level from the PortletHub branch, recompile, and
>> completely redeploy Pluto and the demo portlets to see the changes.
>>
>> regards,
>> Scott
>>
>>
>
>

Re: [jsr362-experts:] PortletHub should be functionally complete

Posted by Neil Griffin <ne...@portletfaces.org>.
Hi David,

Just a suggestion, but you might want to start with a new/clean Tomcat 7.0.21 that does not include Pluto.

Not sure why, but that's what I had to do last week in order to get it to work. I think I also had to add the following to tomcat-users.xml:

<user name="pluto" password="pluto" roles="pluto,manager"/>

Neil

> On Dec 3, 2014, at 6:15 PM, David S Taylor <da...@bluesunrise.com> wrote:
> 
> Scott,
> 
> I tried it out, but got errors, see below. Here are the steps I used to deploy ... please let me know if I am missing something or doing something wrong
> 
> 0. Pull latest on PortletHub branch
> 
> > git brach
> *PortletHub
> master
> 
> > git pull origin
> 
> 1. Build Pluto from root directory
> 
> mvn clean install
> 
> 2. Build Distribution
> 
> ant -f dist-build.xml
> 
> 3. start Pluto
> 
> cd target/dist/pluto-2.1.0-SNAPSHOT/bin
> chmod +x *.sh
> ./startup.sh
> 
> 4. deploy the Portlet Hub 
> 
> cp PortletHubDemo/target/PortletHubDemo.war target/dist/pluto-2.1.0-SNAPSHOT/webapps/
> 5. Login to Pluto as pluto/pluto
> 
> 6. Create a new page called Hub from Pluto Admin
> 
> 7. Add any Hub portlet to the Hub page. I tried a few, they all get this error when navigating to the Hub page:
> 
> 
> 
> Error rendering portlet MessageBoxPortlet.
> javax.portlet.PortletException: org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core <http://java.sun.com/jsp/jstl/core> cannot be resolved in either web.xml or the jar files deployed with this application
> 	at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:187)
> 	at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:227)
> 	at basic.portlet.MessageBoxPortlet.doView(MessageBoxPortlet.java:63)
> 	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:348)
> 	at javax.portlet.GenericPortlet.render(GenericPortlet.java:253)
> 	at org.apache.pluto.driver.services.container.FilterChainImpl.doFilter(FilterChainImpl.java:163)
> 	at org.apache.pluto.driver.services.container.FilterChainImpl.processFilter(FilterChainImpl.java:91)
> 	at org.apache.pluto.driver.services.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:105)
> 	at org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:340)
> 	at org.apache.pluto.container.driver.PortletServlet.doGet(PortletServlet.java:261)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
> 	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
> 	at org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233)
> 	at org.apache.pluto.driver.container.DefaultPortletInvokerService.render(DefaultPortletInvokerService.java:117)
> 	at org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157)
> 	at org.apache.pluto.driver.tags.PortletTag.doStartTag(PortletTag.java:165)
> 	at org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspService(portlet_002dskin_jsp.java:95)
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
> 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
> 	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
> 	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:927)
> 	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fforEach_005f1(pluto_002ddefault_002dtheme_jsp.java:617)
> 	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fotherwise_005f0(pluto_002ddefault_002dtheme_jsp.java:561)
> 	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fchoose_005f0(pluto_002ddefault_002dtheme_jsp.java:422)
> 	at org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspService(pluto_002ddefault_002dtheme_jsp.java:217)
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
> 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
> 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
> 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
> 	at org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:255)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
> 	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
> 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
> 	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core <http://java.sun.com/jsp/jstl/core> cannot be resolved in either web.xml or the jar files deployed with this application
> 	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
> 	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:410)
> 	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
> 	at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)
> 	at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:152)
> 	at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
> 	at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
> 	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1425)
> 	at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
> 	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
> 	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
> 	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
> 	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:644)
> 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
> 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
> 	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
> 	at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:174)
> 	... 68 more
> 
> 
> --
> David S Taylor
> 707 529-9194
> david@bluesunrise.com <ma...@bluesunrise.com>
> 
> 
> On Wed, Dec 3, 2014 at 7:37 AM, Martin Scott Nicklous <Scott.Nicklous@de.ibm.com <ma...@de.ibm.com>> wrote:
> 
> Hi,
> 
> I pushed several commits to the PortletHub branch of the Pluto repository,
> completing the Portlet Hub functionality (I think). There are quite a few
> changes, one of which ended up going deeper than I had really expected,
> which is why it took a little longer than planned.
> 
> Changes:
> 
> 1) Added accessor helper functions to the PortletParameters and
> PortletState objects
> 
> 2) Modified portlet JavaScript code to use the new accessors
> 
> 3) Used jslint to improve the portletHubImpl.js code
> 
> 4) Completed the portlet hub action functionality by allowing the Portlet
> Client JavaScript code to provide a form element to the action() method
> rather than having to set the action parameters on the URL.
> 
> In order to keep the client-side implementation easy, I implemented this
> through use of the XHR2 FormData object.
> 
> It turns out that XHR2 sends FormData as "multipart/form-data" rather than
> as "application/x-www-form-urlencoded", so multipart form support was
> needed on the server side as well. In order to avoid writing my own parser
> for the multipart form data, I moved the Pluto servlet dependency to v3.0.
> Some JSPs weren't working for non-obvious reasons, so I moved the JSP and
> EL dependencies to v2.2 and moved to the latest standard tag library as
> well. That ended up solving the problem.
> 
> Now everything seems to work. We've got the PortletHub functionality
> complete AND we have moved to the Java EE 6 level of servlet api, JSP api,
> EL api, and JSTL support.
> 
> It would be good if someone could try this out and verify that it doesn't
> just work only on my machine. Since there are a number of changes, you will
> have to pull the latest level from the PortletHub branch, recompile, and
> completely redeploy Pluto and the demo portlets to see the changes.
> 
> regards,
> Scott
> 
>