[Building Sakai] Wicket 1.5+ in Sakai?

Neal Caidin nealcaidin at sakaifoundation.org
Tue Feb 26 04:54:15 PST 2013


Thanks for documenting!

If someone would like to review the document and have me post to Confluence, I think that would be a better place than within an email thread (at least slightly ;-) ).

Cheers,

Neal Caidin

Sakai CLE Community Coordinator
nealcaidin at sakaifoundation.org
Skype: nealkdin
AIM: ncaidin at aol.com





On Feb 26, 2013, at 7:52 AM, David Torres <david.torres at renuda.com> wrote:

> Finally is working!
> 
> Wicket 1.5.9
> 
> Please find attached a guide with all the changes necessary to have the Wicket Archetype working with 1.5.9 version. I am not sure about whether the change I did in MyApplication.java is the right way to do it, maybe you would like to take a look.
> 
> 
> The problem with the web.xml was that it was necessary to use <servlet-mapping>
> I used the <url-pattern>/*</url-pattern>, do you think is this right?
> 
> On the other hand, do you know why in 1.4 version the <servlet-mapping> is not necessary and in 1.5 it is?
> 
> I am happy finally this works,
> 
> I would like to migrate it to version 6, It has to be easier. Unfortunately I have not hours for that currently. Maybe in the future when we need to use the charts ;)
> 
> Thank you for your help.
> 
> David Torres
>  
> Computer Scientist
> Renuda UK
>  
> tel: +44 (0)20 3371 1709
> web: www.renuda.com
>  
> Renuda UK is registered in England and Wales.  Company number 6218863.
> VAT registration number 918 6490 91. Registered office: 35 Charleville Road, London W14 9JJ, UK.
> From: Steve Swinsburg [steve.swinsburg at gmail.com]
> Sent: 25 February 2013 19:38
> To: David Torres
> Cc: sakai-dev
> Subject: Re: [Building Sakai] Wicket 1.5+ in Sakai?
> 
> You need a more generic pattern for the mapping. 
> 
> Things may have changed in between versions, I would go with the advice on the wicket list. As for servlet vs filter, for it to work in Sakai it has to be a servlet due to this
> https://jira.sakaiproject.org/browse/KNL-754
> 
> Gesendent von meinem iPhone
> 
> On 26/02/2013, at 2:57, David Torres <david.torres at renuda.com> wrote:
> 
>> Hi, I posted my web.xml in Wicket mail list and this is the answer I received:
>> 
>> "
>> Hi,
>> 
>> There is no servlet mapping for the WicketServlet [in your web.xml].
>> The filter filters the servlet, so there is no need of url-pattern for the
>> filter. But the servlet needs a mapping so there is url to listen on.
>> See
>> http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html#1039330
>> "
>> 
>> the URL of my tool is this
>> 
>> http://localhost:8080/portal/site/ac656672-cc87-4b21-be4b-dc3966f67ff8/page/f02e537d-a2de-4331-9e45-7429e0cfe645
>> 
>> so I have try use this url pattern
>> 
>> <url-pattern>/site/ac656672-cc87-4b21-be4b-dc3966f67ff8/page/f02e537d-a2de-4331-9e45-7429e0cfe645</url-pattern>
>> 
>> and
>> 
>> <url-pattern>/site/ac656672-cc87-4b21-be4b-dc3966f67ff8/page/f02e537d-a2de-4331-9e45-7429e0cfe645/*</url-pattern>
>> 
>> You said that servlet-mapping is not necessary. How can I explain them that is not necessary? 
>> They also told me to use the wicket filter instead the wicket servlet, but I think that without a servlet, a url pattern is required.
>> 
>> Best regards,
>> 
>> David Torres
>>  
>> Computer Scientist
>> Renuda UK
>>  
>> tel: +44 (0)20 3371 1709
>> web: www.renuda.com
>>  
>> Renuda UK is registered in England and Wales.  Company number 6218863.
>> VAT registration number 918 6490 91. Registered office: 35 Charleville Road, London W14 9JJ, UK.
>> From: Steve Swinsburg [steve.swinsburg at gmail.com]
>> Sent: 23 February 2013 09:13
>> To: David Torres
>> Cc: sakai-dev
>> Subject: Re: [Building Sakai] Wicket 1.5+ in Sakai?
>> 
>> That's a servlet mapping, it's not actually needed. 
>> 
>> Can you post your web XML on the wicket list, along with the error to see if there is a solution?
>> 
>> Thanks 
>> 
>> Gesendent von meinem iPhone
>> 
>> On 22/02/2013, at 23:28, David Torres <david.torres at renuda.com> wrote:
>> 
>>> Thank you
>>> 
>>> But in that example the Wicket filter is commented. Besides with Wicket 1.4 is working properly without the wicket filter (which is not in the archetype).
>>> 
>>> On the other hand, I don't have this:
>>> 
>>> <!-- Wicket likes to have a url-pattern mapping even though Sakai doesn't use it. -->
>>>     <servlet-mapping>
>>>         <servlet-name>sakai.profile</servlet-name>
>>>         <url-pattern>/sakai-profile2/*</url-pattern>        
>>>     </servlet-mapping>
>>> 
>>> I don't know what url-pattern set, because the url of my tool is this:
>>> page/f02e537d-a2de-4331-9e45-7429e0cfe645
>>> 
>>> Sorry about the long of this thread, I hope at the end we can have the archetype updated :)
>>> 
>>> Best regards,
>>> 
>>> David Torres
>>>  
>>> Computer Scientist
>>> Renuda UK
>>>  
>>> tel: +44 (0)20 3371 1709
>>> web: www.renuda.com
>>>  
>>> Renuda UK is registered in England and Wales.  Company number 6218863.
>>> VAT registration number 918 6490 91. Registered office: 35 Charleville Road, London W14 9JJ, UK.
>>> From: Steve Swinsburg [steve.swinsburg at gmail.com]
>>> Sent: 21 February 2013 21:56
>>> To: David Torres
>>> Cc: sakai-dev
>>> Subject: Re: [Building Sakai] Wicket 1.5+ in Sakai?
>>> 
>>> You don't have the wicket filter in your web.xml, which is why it's saying the filter isn't configured. Compare here
>>> https://source.sakaiproject.org/svn//profile2/trunk/tool/src/webapp/WEB-INF/web.xml
>>> 
>>> Gesendent von meinem iPhone
>>> 
>>> On 22/02/2013, at 3:43, David Torres <david.torres at renuda.com> wrote:
>>> 
>>>> I started with a fresh Sakai 2.9.1 (check out from tag) and Tomcat 7.0.37.
>>>> Built with Maven 3.0.4.
>>>> 
>>>> But the archetype is still giving me the same error (see below).
>>>> 
>>>> I attached my web.xml. I checked the spec 2.5 herehttp://docs.oracle.com/cd/E13222_01/wls/docs100/webapp/web_xml.html
>>>> But there is only necessary to make changes in the tag <web-app>, am I wrong?
>>>> 
>>>> 
>>>> Thank you
>>>> 
>>>> 
>>>> org.sakaiproject.portal.api.PortalHandlerException: java.lang.IllegalStateException: filter path was not configured
>>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:881)
>>>> caused by: java.lang.IllegalStateException: filter path was not configured
>>>>     at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:164)
>>>>     at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>     at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:634)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>>>>     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>>>>     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
>>>>     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>>>>     at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
>>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1470)
>>>>     at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:213)
>>>>     at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
>>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:881)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>     at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:695)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>>>>     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>     at java.lang.Thread.run(Thread.java:662)
>>>> 
>>>> 
>>>> 
>>>> Best regards,
>>>> 
>>>> David Torres
>>>>  
>>>> Computer Scientist
>>>> Renuda UK
>>>>  
>>>> tel: +44 (0)20 3371 1709
>>>> web: www.renuda.com
>>>>  
>>>> Renuda UK is registered in England and Wales.  Company number 6218863.
>>>> VAT registration number 918 6490 91. Registered office: 35 Charleville Road, London W14 9JJ, UK.
>>>> From: Steve Swinsburg [steve.swinsburg at gmail.com]
>>>> Sent: 21 February 2013 12:34
>>>> To: David Torres
>>>> Cc: sakai-dev
>>>> Subject: Re: [Building Sakai] Wicket 1.5+ in Sakai?
>>>> 
>>>> The servlet API is part of Tomcat so start over with a fresh tomcat (trunk/2.9 + tomcat 7): http://tomcat.apache.org/whichversion.html
>>>> 
>>>> This web.xml hasn't been adjusted. Please adjust to servlet spec 2.5 (you'll find there requirements online), retry, and post any errors.
>>>> 
>>>> cheers,
>>>> Steve
>>>> 
>>>> 
>>>> On 21/02/2013, at 11:09 PM, David Torres <david.torres at renuda.com> wrote:
>>>> 
>>>>> I am sorry, please find it attached here.
>>>>> 
>>>>> I detected other thing. I deleted servlet-api.jar from tomcat/common/lib. And I rebuilt my tool but is not dowloading it back. So I get a effective-pom from Sakai root, and despite the property says 2.5 the dependency is 2.4
>>>>> 
>>>>> Should I override the dependency in sakai/pom.xml, or maybe in sakai/master/pom.xml?
>>>>> 
>>>>> David Torres
>>>>>  
>>>>> Computer Scientist
>>>>> Renuda UK
>>>>>  
>>>>> tel: +44 (0)20 3371 1709
>>>>> web: www.renuda.com
>>>>>  
>>>>> Renuda UK is registered in England and Wales.  Company number 6218863.
>>>>> VAT registration number 918 6490 91. Registered office: 35 Charleville Road, London W14 9JJ, UK.
>>>>> From: Steve Swinsburg [steve.swinsburg at gmail.com]
>>>>> Sent: 21 February 2013 12:00
>>>>> To: David Torres
>>>>> Cc: sakai-dev
>>>>> Subject: Re: [Building Sakai] Wicket 1.5+ in Sakai?
>>>>> 
>>>>> Hi David,
>>>>> 
>>>>> That is the tomcat web.xml. I meant the web.xml for the Wicket tool you are making.
>>>>> 
>>>>> cheers,
>>>>> Steve
>>>>> 
>>>>> On 21/02/2013, at 10:56 PM, David Torres <david.torres at renuda.com> wrote:
>>>>> 
>>>>>> I did that. Now effective-pom is showing 2.5. But the error persists.
>>>>>> 
>>>>>> I tried to change <web-app> version from 2.4 to 2.5 in web.xml. Should I change anything else?
>>>>>> 
>>>>>> Please find attached my web.xml
>>>>>> 
>>>>>> Cheers,
>>>>>> 
>>>>>> David Torres
>>>>>>  
>>>>>> Computer Scientist
>>>>>> Renuda UK
>>>>>>  
>>>>>> tel: +44 (0)20 3371 1709
>>>>>> web: www.renuda.com
>>>>>>  
>>>>>> Renuda UK is registered in England and Wales.  Company number 6218863.
>>>>>> VAT registration number 918 6490 91. Registered office: 35 Charleville Road, London W14 9JJ, UK.
>>>>>> From: Steve Swinsburg [steve.swinsburg at gmail.com]
>>>>>> Sent: 21 February 2013 11:35
>>>>>> To: David Torres
>>>>>> Cc: sakai-dev
>>>>>> Subject: Re: [Building Sakai] Wicket 1.5+ in Sakai?
>>>>>> 
>>>>>> Just override that dependency in the tool to 2.5, adjust the web.xml as required and see if it works.
>>>>>> 
>>>>>> cheers,
>>>>>> Steve
>>>>>> 
>>>>>> 
>>>>>> On 21/02/2013, at 10:19 PM, David Torres <david.torres at renuda.com> wrote:
>>>>>> 
>>>>>>> I am using Sakai 2.8.2 (Tomcat 5.5). But I also have Sakai 2.9.0 (Tomcat 7).
>>>>>>> 
>>>>>>> In both , the effective pom of the Wicket archetype shows this:
>>>>>>> <dependency>
>>>>>>>           <groupId>javax.servlet</groupId>
>>>>>>>           <artifactId>servlet-api</artifactId>
>>>>>>>           <version>2.4</version>
>>>>>>>           <scope>provided</scope>
>>>>>>> </dependency>
>>>>>>> 
>>>>>>> I tried to change it but I don't  know where is this obtained from. I changed the parent pom to sakai/master/pom.xml and change there
>>>>>>> <sakai.servletapi.version>2.4</sakai.servletapi.version>
>>>>>>> to
>>>>>>> <sakai.servletapi.version>2.5</sakai.servletapi.version>
>>>>>>> 
>>>>>>> But after clean and rebuild everything (included sakai/master), the effective pom is still showing the above dependency.
>>>>>>> 
>>>>>>> Does somebody know where to change it?
>>>>>>> 
>>>>>>> Thank you so much in advance
>>>>>>> 
>>>>>>> David Torres
>>>>>>>  
>>>>>>> Computer Scientist
>>>>>>> Renuda UK
>>>>>>>  
>>>>>>> tel: +44 (0)20 3371 1709
>>>>>>> web: www.renuda.com
>>>>>>>  
>>>>>>> Renuda UK is registered in England and Wales.  Company number 6218863.
>>>>>>> VAT registration number 918 6490 91. Registered office: 35 Charleville Road, London W14 9JJ, UK.
>>>>>>> From: Steve Swinsburg [steve.swinsburg at gmail.com]
>>>>>>> Sent: 20 February 2013 21:36
>>>>>>> To: David Torres
>>>>>>> Cc: sakai-dev
>>>>>>> Subject: Re: [Building Sakai] Wicket 1.5+ in Sakai?
>>>>>>> 
>>>>>>> I like the name of that archetype. 
>>>>>>> 
>>>>>>> I haven't migrated my wicket tools to 1.5 yet, but the error is probably correct. Wicket 1.5 needs servlet spec 2.5, what version tomcat and Sakai are you using? I would be adjusting your web.xml to see if you can get the webapp started. 
>>>>>>> 
>>>>>>> Cheers
>>>>>>> Steve
>>>>>>> 
>>>>>>> Gesendent von meinem iPhone
>>>>>>> 
>>>>>>> On 21/02/2013, at 5:37, David Torres <david.torres at renuda.com> wrote:
>>>>>>> 
>>>>>>>> Hello list!
>>>>>>>> 
>>>>>>>> Somebody knows somebody who has used Wicket 1.5+ in Sakai?
>>>>>>>> I tried some months ago to migrate the Steve's archetype example to 1.5. Now that I have a bit better knowledge about Wicket I tried to do it again (using the corresponding guide, of course). I managed to build it with Maven, but there is a runtime error related with a tomcat filter, which most likely is not the true problem.
>>>>>>>> 
>>>>>>>> Is anybody actually using 1.5+ in the community? When I started to develop, everybody recommended me to choose Wicket. But now I am asking to many people and everybody is using 1.4, despite interesting functionality like tree views or charts are not available in that version.
>>>>>>>> 
>>>>>>>> Thank you!
>>>>>>>> Best regards,
>>>>>>>> 
>>>>>>>> David Torres
>>>>>>>>  
>>>>>>>> Computer Scientist
>>>>>>>> Renuda UK
>>>>>>>>  
>>>>>>>> tel: +44 (0)20 3371 1709
>>>>>>>> web: www.renuda.com
>>>>>>>>  
>>>>>>>> Renuda UK is registered in England and Wales.  Company number 6218863.
>>>>>>>> VAT registration number 918 6490 91. Registered office: 35 Charleville Road, London W14 9JJ, UK.
>>>>>>>> _______________________________________________
>>>>>>>> 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"
>>>>>>> _______________________________________________
>>>>>>> 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"
>>>>>> 
>>>>>> <web.xml>
>>>>> 
>>>>> <web.xml>
>>>> 
>>>> <web.xml>
> <2013-02-26_Wicket 1.4 to 1.5.doc>_______________________________________________
> 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/20130226/a1f3580a/attachment.html 


More information about the sakai-dev mailing list