[Building Sakai] Wicket 1.5+ in Sakai?

Neal Caidin nealcaidin at sakaifoundation.org
Tue Feb 26 05:44:32 PST 2013


Go to Programmer's Cafe - http://bit.ly/sakai-programmers-cafe

And look for the child page title "Wicket 1.5+ in Sakai CLE"

-- Neal

On Feb 26, 2013, at 8:00 AM, Steve Swinsburg <steve.swinsburg at gmail.com> wrote:

> I still need to actually implement it, but this should go in a page in the programmers cafe section. I'll incorporate into the archetype when I can.
> 
> Thanks a lot David!
> 
> 
> On 26/02/2013, at 11:54 PM, Neal Caidin <nealcaidin at sakaifoundation.org> wrote:
> 
>> 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/69faca53/attachment.html 


More information about the sakai-dev mailing list