[Building Sakai] cannot start my sakai tool

Steve Swinsburg s.swinsburg at lancaster.ac.uk
Thu Jun 18 07:38:23 PDT 2009


Hi Phuc,

Sakai intercepts the uploads so you need to add an init-param to your  
request filter in web.xml to tell it not to. I had the same issue with  
my Wicket apps.

<filter>
	<filter-name>sakai.request</filter-name>
	<filter-class>org.sakaiproject.util.RequestFilter</filter-class>

	<init-param>
		<param-name>upload.enabled</param-name>
		<param-value>false</param-value>
	</init-param>
</filter>
<filter-mapping>
	<filter-name>sakai.request</filter-name>
	<servlet-name>sakai.yourtool</servlet-name>
	<dispatcher>REQUEST</dispatcher>
	<dispatcher>FORWARD</dispatcher>
	<dispatcher>INCLUDE</dispatcher>
</filter-mapping>


cheers,
Steve

---
Steve Swinsburg
Portal Systems Developer
Centre for e-Science
Lancaster University
Lancaster
LA1 4YT

email: s.swinsburg at lancaster.ac.uk
phone: +44 (0) 1524 594870







On 18 Jun 2009, at 15:24, Phuc Bui wrote:

> I have studied how to upload a file by tomahawk.
> If I try it as independent web application, it works.
> But then I do the same in Sakai the uploadedFile object returns null.
> So I wonder how to configure filter for tomahawk:
> <filter>
> 		<filter-name>ExtensionsFilter</filter-name>
> 		<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</ 
> filter-class>
> 		...
> 	</filter>
>
> <filter-mapping>
> 		<filter-name>ExtensionsFilter</filter-name>
> 		<servlet-name>FacesServlet</servlet-name>
> 	</filter-mapping>
> <servlet-mapping>
> 		<servlet-name>FacesServlet</servlet-name>
> 		<url-pattern>*.jsf</url-pattern>
> 	</servlet-mapping>
> <servlet-mapping>
> 		<servlet-name>FacesServlet</servlet-name>
> 		<url-pattern>*.faces</url-pattern>
> 	</servlet-mapping>
> I wonder if "*.jsf" or "*.faces" is good when we develop in Sakai ?  
> Because I see the link in Sakai never have those? For example: http://localhost:8080/portal/site/b49296c3-d3d8-45d3-8f35-54499ec31a51/page/335dc018-1079-4dd4-8625-850790e26b67
> So which pattern is good ?
>
> Thanks,
> Phuc Bui
>
> -----Original Message-----
> From: azeckoski at gmail.com [mailto:azeckoski at gmail.com] On Behalf Of  
> Aaron Zeckoski
> Sent: Monday, June 15, 2009 2:16 AM
> To: Phuc Bui
> Cc: sakai-dev at collab.sakaiproject.org; ngoc hon
> Subject: Re: [Building Sakai] cannot start my sakai tool
>
> It looks like you are probably using the tomahawk component wrong. The
> value should be an EL path and your looks like instructions.
> http://myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_inputFileUpload.html
>
> You will probably get a faster and better response on their forums or
> the JSF forums.
> :-)
> -AZ
>
>
> On Sun, Jun 14, 2009 at 4:51 PM, Phuc Bui<phucbui2006 at yahoo.com.vn>  
> wrote:
>> Dear,
>>
>> When I index.jsp file look like this, it worked
>>
>> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
>>
>> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
>>
>>
>>
>> <f:view>
>>
>>      Browse to the file that contains users data,
>>
>>      then press upload to add those users to Sakai database.
>>
>> </f:view>
>>
>> But when I use tomahawk taglib, it threw errors as my previous post ?
>>
>> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
>>
>> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
>>
>> <%@ taglib prefix="t" uri="http://myfaces.apache.org/tomahawk" %>
>>
>>
>>
>> <f:view>
>>
>>      Browse to the file that contains users data,
>>
>>      then press upload to add those users to Sakai database.
>>
>>      <h:form>
>>
>>            <t:inputFileUpload value="Upload here: " />
>>
>>            <h:commandButton action="success" value="Upload"/>
>>
>>      </h:form>
>>
>> </f:view>
>>
>> Can you tell me why ??? How to solve this problem ???
>>
>>
>>
>> Because I saw these lines, so I think I did not use that tag  
>> correctly
>> ???
>>
>> caused by: java.lang.ClassCastException: java.lang.String
>>
>>    at
>> org 
>> .apache 
>> .myfaces.custom.fileupload.HtmlFileUploadRenderer.encodeEnd(Htm
>>
>> lFileUploadRenderer.java:62)
>>
>>    at
>> javax 
>> .faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
>>
>>
>>
>>    at  
>> javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:498)
>>
>>    at  
>> javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:366)
>>
>>    at
>> org 
>> .apache 
>> .jsp.nluimportuser.index_jsp._jspx_meth_t_005finputFileUpload_0
>>
>>
>>
>> Thanks,
>>
>> Looking forward to your replies.
>>
>>
>>
>> Phuc Bui
>>
>> From: Phuc Bui [mailto:phucbui2006 at yahoo.com.vn]
>> Sent: Sunday, June 14, 2009 3:29 PM
>> To: 'sakai-dev at collab.sakaiproject.org'
>> Subject: cannot start my sakai tool
>>
>>
>>
>> Dear all,
>>
>> I have created a JSF Sakai Tool by plugin.
>>
>> But I get this error when I select my tool L
>>
>> Please tell me how to solve this.
>>
>>
>>
>> org.sakaiproject.portal.api.PortalHandlerException:
>> org.sakaiproject.tool.api.ToolException: java.lang.String
>>
>>    at
>> org 
>> .sakaiproject 
>> .portal 
>> .charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:891)
>>
>> caused by: org.sakaiproject.tool.api.ToolException: java.lang.String
>>
>>    at
>> org 
>> .sakaiproject 
>> .portal 
>> .charon 
>> .SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1343)
>>
>> caused by: javax.servlet.ServletException: java.lang.String
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationFilterChain 
>> .internalDoFilter(ApplicationFilterChain.java:269)
>>
>> caused by: javax.faces.FacesException: java.lang.String
>>
>>    at
>> org 
>> .apache 
>> .myfaces 
>> .application 
>> .jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
>>
>> caused by: org.apache.jasper.JasperException: java.lang.String
>>
>>    at
>> org 
>> .apache 
>> .jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
>>
>> caused by: java.lang.ClassCastException: java.lang.String
>>
>>    at
>> org 
>> .apache 
>> .myfaces 
>> .custom 
>> .fileupload 
>> .HtmlFileUploadRenderer.encodeEnd(HtmlFileUploadRenderer.java:62)
>>
>>    at
>> javax 
>> .faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
>>
>>    at  
>> javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:498)
>>
>>    at  
>> javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:366)
>>
>>    at
>> org 
>> .apache 
>> .jsp 
>> .pages 
>> .index_jsp._jspx_meth_t_005finputFileUpload_005f0(index_jsp.java:160)
>>
>>    at
>> org 
>> .apache 
>> .jsp.pages.index_jsp._jspx_meth_h_005fform_005f0(index_jsp.java:132)
>>
>>    at
>> org 
>> .apache 
>> .jsp.pages.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:100)
>>
>>    at org.apache.jsp.pages.index_jsp._jspService(index_jsp.java:64)
>>
>>    at  
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
>>
>>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>
>>    at
>> org 
>> .apache 
>> .jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
>>
>>    at
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 
>> 329)
>>
>>    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 
>> 265)
>>
>>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationFilterChain 
>> .internalDoFilter(ApplicationFilterChain.java:269)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 188)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
>>
>>    at
>> org 
>> .apache 
>> .myfaces 
>> .context 
>> .servlet 
>> .ServletExternalContextImpl 
>> .dispatch(ServletExternalContextImpl.java:419)
>>
>>    at
>> org 
>> .apache 
>> .myfaces 
>> .application 
>> .jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
>>
>>    at
>> org 
>> .sakaiproject 
>> .jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:137)
>>
>>    at
>> org 
>> .apache 
>> .myfaces 
>> .lifecycle 
>> .RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
>>
>>    at
>> org 
>> .apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 
>> 132)
>>
>>    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationFilterChain 
>> .internalDoFilter(ApplicationFilterChain.java:269)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 188)
>>
>>    at  
>> org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:555)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationFilterChain 
>> .internalDoFilter(ApplicationFilterChain.java:215)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 188)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
>>
>>    at org.sakaiproject.jsf.util.JsfTool.dispatch(JsfTool.java:221)
>>
>>    at org.sakaiproject.jsf.util.JsfTool.doGet(JsfTool.java:241)
>>
>>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>
>>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationFilterChain 
>> .internalDoFilter(ApplicationFilterChain.java:269)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 188)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
>>
>>    at
>> org.sakaiproject.tool.impl.ActiveToolComponent 
>> $MyActiveTool.forward(ActiveToolComponent.java:459)
>>
>>    at
>> org 
>> .sakaiproject 
>> .portal 
>> .charon 
>> .SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1343)
>>
>>    at
>> org 
>> .sakaiproject 
>> .portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:163)
>>
>>    at
>> org 
>> .sakaiproject 
>> .portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:86)
>>
>>    at
>> org 
>> .sakaiproject 
>> .portal 
>> .charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:891)
>>
>>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>
>>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationFilterChain 
>> .internalDoFilter(ApplicationFilterChain.java:269)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 188)
>>
>>    at  
>> org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:592)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core 
>> .ApplicationFilterChain 
>> .internalDoFilter(ApplicationFilterChain.java:215)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
>> 188)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>>
>>    at
>> org 
>> .apache 
>> .catalina 
>> .core.StandardContextValve.invoke(StandardContextValve.java:174)
>>
>>    at
>> org 
>> .apache 
>> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>
>>    at
>> org 
>> .apache 
>> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>>
>>    at
>> org 
>> .apache 
>> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 
>> 108)
>>
>>    at
>> org 
>> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 
>> 151)
>>
>>    at
>> org 
>> .apache.coyote.http11.Http11Processor.process(Http11Processor.java: 
>> 874)
>>
>>    at
>> org.apache.coyote.http11.Http11BaseProtocol 
>> $Http11ConnectionHandler.processConnection(Http11BaseProtocol.java: 
>> 665)
>>
>>    at
>> org 
>> .apache 
>> .tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java: 
>> 528)
>>
>>    at
>> org 
>> .apache 
>> .tomcat 
>> .util 
>> .net 
>> .LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>>
>>    at
>> org.apache.tomcat.util.threads.ThreadPool 
>> $ControlRunnable.run(ThreadPool.java:689)
>>
>>    at java.lang.Thread.run(Thread.java:595)
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> sakai-dev mailing list
>> sakai-dev at collab.sakaiproject.org
>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>
>> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org
>> with a subject of "unsubscribe"
>>
>>
>
>
>
> -- 
> Aaron Zeckoski (azeckoski (at) vt.edu)
> Senior Research Engineer - CARET - Cambridge University
> https://twitter.com/azeckoski - http://www.linkedin.com/in/azeckoski
> http://aaronz-sakai.blogspot.com/ -
> http://confluence.sakaiproject.org/confluence/display/~aaronz/
>
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org 
>  with a subject of "unsubscribe"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20090618/fa3c3579/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2437 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20090618/fa3c3579/attachment.bin 


More information about the sakai-dev mailing list