Re: Update to wicketstuff-jquery - commit access?
On Jan 18, 2008 12:33 AM, Eelco Hillenius [EMAIL PROTECTED] wrote: You should give us your sourceforge id (the name, not the number), and if the original developers of wicketstuff-jquery (David Bernard and Xavier Hanin) agree, you can commit (probably a good idea to chat with with them first if they don't react on this thread). Catching up a bit late on this but as far as I can say your changes are very welcome Edvin. Xavier Thanks, Eelco On Jan 17, 2008 3:07 PM, Edvin Syse [EMAIL PROTECTED] wrote: Hi, I've made some updates to wicketstuff-jquery in my local copy, and would like to contribute to the project. The changes are: - Upgrade to jquery-1.2.2.js - Upgrade to jquery-datePicker-2007-10-25.js - Added support for the cornerz plugin (CornerzBehaviour and CornerzOptions) - Fixed format pickup in datepicker by moving code from the constructor to the onbind function so that the correct locale can be picked up from the component. (I think the code was for the pre-1.3 DateConverter that had a getDatePattern() method) - Made the datepicker pickup format from custom dateconverters (Changed cnv instanceof DateConverter to DateConverter.class.isAssignableFrom(cnv.getClass()) so it supports converters that extend DateConverter. - Removed some unused imports How would I go about submitting my updates? Sincerely, Edvin Syse - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/
Re: wicketstuff push and sharing an IChannelService
On 11/6/07, Michael Sparer [EMAIL PROTECTED] wrote: Salut Xavier, Hallo Michael, I was wondering if I could/should commit the changes I made to wicketstuff push to the svn. In brief, this is what I did: 1. Extended the CometdDefaultBehaviorTemplate.js with the following if clause var doRoundTrip = true; if(prop == script) { doRoundTrip = false; eval(message.data[prop]); } else { addToUrl = addToUrl + + prop + = + message.data[prop]; // this line was there before } if (doRoundTrip) { var wcall=wicketAjaxGet('${url}' + addToUrl, function() { }, function() { }); } This makes it possible to send javascript code as String to the client without doing a roundtrip to the server to retrieve the wicket-components. The JS just checks if the property is named script and then executes the javascript. This is meant for cases when you just want to make minor changes to the DOM and/or reduce traffic. 2. Created a new ChannelEvent and a new ChannelListener for the mentioned javascript only channel events Please tell me what you think about it. This sounds like an interesting change, go ahead, commit your changes, I'm pretty sure Vincent won't object (and svn revert is always here in case of problem). Are you already a committer on wicket stuff? Xavier regards Xavier Hanin wrote: On 10/25/07, Michael Sparer [EMAIL PROTECTED] wrote: Hi Xavier, thanks for your effort but please don't take too much time investigating my issues :-) I'm using wicket 1.3.0-beta3 and wicketstuff push... well since it doesn't show the svn version numbers the version of monday this week. This is very similar to what I use (with a new version of wicketstuff-push I pushed on tuesday I think, which fixes a problem with backward button). But if you use the dojo based implementation, I can't speak much about it since Vincent did all the job. Yesterday I had a more thorough look into what's exactly happening i.e. how the push project interacts with the wicketstuff dojo project and integrates cometd. There I found out that in order to communicate with wicket there's an extra round trip to the server taking place. So the channel sends a message to the client-javascript (including the data to be shown on page) which then makes an ajax call back to the server where the data gets rendered into xml and is then shown on the page. I wondered if that was intentional and if yes, what purpose it serves. From my understanding (but I didn't develop this) the problem is that it's not straightforward to render a wicket component outside a web request, so the additional cycle is there to call the rendering in a normal web request: comet is only used to detect there is something to refresh, then the refresh is done with a usual wicket ajax call. But I may be wrong... For my project I've changed the java-script function which starts the AJAX call sothat it renderes the message to proper javascript and directly inserts it in the document's DOM without making an additional call. This however, makes the server site less flexible as only a javascript string can be processed on client site - but that's ok for my app. Indeed if you don't need component rendering reducing the cycles is better. I had plan to work on a comet based implementation of IPushService some time ago, but I've never found the time... If I do one day I'll try to reduce the cycles to as less as possible, and I may also have to review some component refresing concepts, like refreshing a RepeatingView when only one line has been added. The only easy way to do this for the moment is to add the component to the target request, but then the whole component is rendered and sent to the client. Having something finer would be nice. But that's only ideas, and I'm really lacking of time. Xavier Xavier Hanin wrote: Michael, As I said I don't use the ChannelService myself, but I used to have similar troubles with the PushService, which I think I finally fixed, but it wasn't easy. Since the fix is in TimerChannelBehavior (which is used by both the push and channel timer based implementation, it should work for both, but I haven't tested. Can I ask which version of wicket and wicketstuff-push you're using, and also which implementation of IChannelService? If you want to investigate in the code, the core of the fix relies on the redirect and setRedirectId in TimerChannelBehavior. Xavier On 10/24/07, Michael Sparer [EMAIL PROTECTED] wrote: Hi Xavier, first of all thank you for the effort you've done for the push-project. Up to now it really provided the features I need for my app. But now I'm kind of stuck. My problem is: I have two panels on one page. Both panel subscribe themselves as ChannelListener
Re: wicketstuff push and sharing an IChannelService
Michael, As I said I don't use the ChannelService myself, but I used to have similar troubles with the PushService, which I think I finally fixed, but it wasn't easy. Since the fix is in TimerChannelBehavior (which is used by both the push and channel timer based implementation, it should work for both, but I haven't tested. Can I ask which version of wicket and wicketstuff-push you're using, and also which implementation of IChannelService? If you want to investigate in the code, the core of the fix relies on the redirect and setRedirectId in TimerChannelBehavior. Xavier On 10/24/07, Michael Sparer [EMAIL PROTECTED] wrote: Hi Xavier, first of all thank you for the effort you've done for the push-project. Up to now it really provided the features I need for my app. But now I'm kind of stuck. My problem is: I have two panels on one page. Both panel subscribe themselves as ChannelListener for the same channel. But unfortunately whenever an event invoking the listeners occurred, the onEvent method gets executed twice on both listeners (i.e. four times). It occurrs only if you have two panels i.e. two listeners on the same page. IMO the error is somewhere in the javascript where a function gets executed twice...but I haven't found it so far. So do you have any clue? thanks Michael Xavier Hanin wrote: On 10/23/07, Michael Sparer [EMAIL PROTECTED] wrote: Hi Xavier, thanks for your reply - well yes, that's certainly right. I've just lost sight of it. But I got another question: how stable is the wicketstuff-push project or what sections are stable and which have to be improved for use in a professional webapp? AFAIK wicketstuff-push is developed by vincent demay and myself. Vincent worked on the cometd channel implementation, and I've worked mostly on the timer based IPushService implementation (where events do not come from the client at all). I don't know how stable is the channel implementation since I don't use it myself, maybe Vincent could give more details (not sure if it's used in production or not). For the IPushService implementation, it still requires more testing and improvements, because the problem is not easy to solve with a timer based polling implementation: we have to detect clients disconnection, and also handle back button where pages go back to life from the a serialized form. And we also need to work on a comet based implementation of this push service. So I think there's still need for improvement and bug fixing in this section. BTW, I've just checked in an improvement about this problem of page deserialization which required an API change for the IPushService. If you plan to use it, do not forget to do an svn update. Xavier thanks in advance Michael Xavier Hanin wrote: On 10/22/07, Michael Sparer [EMAIL PROTECTED] wrote: Hi, today I wondered if there's a wicket-approach for pushing messages from the server to the client (also called reverse ajax or pushlets). Well yes, there is one called wicketstuff push. I looked at its examples and soon managed to implement my own pushing stuff. In the examples (chat-example) however, the ChannelService that delivers the messages to its listeners, is stored in the application. I.e. there is only one channel for the whole application. Now imagine I want to create an additional private-chat-room for two users -- I'd need a ChannelService only for two users. So my question is: what's the wicket way to pass and store such an object which is applicable only for two users (sessions)? You can use an application wide ChannelService and use the channel name (chat/message in the example) to isolate messages by private-chat-room. Xavier Thanks in advance Michael -- View this message in context: http://www.nabble.com/wicketstuff-push-and-sharing-an-IChannelService-tf4671463.html#a13345278 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/ -- View this message in context: http://www.nabble.com/wicketstuff-push-and-sharing-an-IChannelService-tf4671463.html#a13358479 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/ -- View this message
Re: wicketstuff push and sharing an IChannelService
On 10/23/07, Michael Sparer [EMAIL PROTECTED] wrote: Hi Xavier, thanks for your reply - well yes, that's certainly right. I've just lost sight of it. But I got another question: how stable is the wicketstuff-push project or what sections are stable and which have to be improved for use in a professional webapp? AFAIK wicketstuff-push is developed by vincent demay and myself. Vincent worked on the cometd channel implementation, and I've worked mostly on the timer based IPushService implementation (where events do not come from the client at all). I don't know how stable is the channel implementation since I don't use it myself, maybe Vincent could give more details (not sure if it's used in production or not). For the IPushService implementation, it still requires more testing and improvements, because the problem is not easy to solve with a timer based polling implementation: we have to detect clients disconnection, and also handle back button where pages go back to life from the a serialized form. And we also need to work on a comet based implementation of this push service. So I think there's still need for improvement and bug fixing in this section. BTW, I've just checked in an improvement about this problem of page deserialization which required an API change for the IPushService. If you plan to use it, do not forget to do an svn update. Xavier thanks in advance Michael Xavier Hanin wrote: On 10/22/07, Michael Sparer [EMAIL PROTECTED] wrote: Hi, today I wondered if there's a wicket-approach for pushing messages from the server to the client (also called reverse ajax or pushlets). Well yes, there is one called wicketstuff push. I looked at its examples and soon managed to implement my own pushing stuff. In the examples (chat-example) however, the ChannelService that delivers the messages to its listeners, is stored in the application. I.e. there is only one channel for the whole application. Now imagine I want to create an additional private-chat-room for two users -- I'd need a ChannelService only for two users. So my question is: what's the wicket way to pass and store such an object which is applicable only for two users (sessions)? You can use an application wide ChannelService and use the channel name (chat/message in the example) to isolate messages by private-chat-room. Xavier Thanks in advance Michael -- View this message in context: http://www.nabble.com/wicketstuff-push-and-sharing-an-IChannelService-tf4671463.html#a13345278 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/ -- View this message in context: http://www.nabble.com/wicketstuff-push-and-sharing-an-IChannelService-tf4671463.html#a13358479 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/
Re: wicketstuff push and sharing an IChannelService
On 10/22/07, Michael Sparer [EMAIL PROTECTED] wrote: Hi, today I wondered if there's a wicket-approach for pushing messages from the server to the client (also called reverse ajax or pushlets). Well yes, there is one called wicketstuff push. I looked at its examples and soon managed to implement my own pushing stuff. In the examples (chat-example) however, the ChannelService that delivers the messages to its listeners, is stored in the application. I.e. there is only one channel for the whole application. Now imagine I want to create an additional private-chat-room for two users -- I'd need a ChannelService only for two users. So my question is: what's the wicket way to pass and store such an object which is applicable only for two users (sessions)? You can use an application wide ChannelService and use the channel name (chat/message in the example) to isolate messages by private-chat-room. Xavier Thanks in advance Michael -- View this message in context: http://www.nabble.com/wicketstuff-push-and-sharing-an-IChannelService-tf4671463.html#a13345278 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/
Re: strange ClassCastException when deserializing a Page
On 9/25/07, Eelco Hillenius [EMAIL PROTECTED] wrote: Gee that looks weird. As far as I know, the only exotic stuff we do with serializing is an optimization for page references. But I can't see how that might relate to this. Johan, any ideas? Any chance you could make a test case out of it Xavier? The problem is that without the slightest idea of where it comes from it's difficult to make a test case. The code is public though, so I have a large test case :-) But I'm ok to investigate on my own, if you can give me some hints... Maybe I can switch to another serialization implementation, if I remember well that's something possible, no? Xavier Eelco On 9/24/07, Xavier Hanin [EMAIL PROTECTED] wrote: Hi, I have a strange CCE on page deserialization with wicket 1.3.0-beta3: java.lang.ClassCastException: cannot assign instance of org.apache.wicket.model.PropertyModel to field org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.markupHelperof type org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper in instance of org.xoocode.xooctory.web.component.form.LabelBorder at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues( ObjectStreamClass.java:2032) at java.io.ObjectStreamClass.setObjFieldValues( ObjectStreamClass.java :1212) at java.io.ObjectInputStream.defaultReadFields( ObjectInputStream.java :1951) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java :1869) at java.io.ObjectInputStream.readOrdinaryObject( ObjectInputStream.java :1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java :1329) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java :1323) at java.io.ObjectInputStream.defaultReadFields( ObjectInputStream.java :1945) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java :1869) at java.io.ObjectInputStream.readOrdinaryObject( ObjectInputStream.java :1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java :1329) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java :1323) at java.io.ObjectInputStream.defaultReadFields( ObjectInputStream.java :1945) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java :1869) at java.io.ObjectInputStream.readOrdinaryObject( ObjectInputStream.java :1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java :1329) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java :1323) at java.io.ObjectInputStream.defaultReadFields( ObjectInputStream.java :1945) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java :1869) at java.io.ObjectInputStream.readOrdinaryObject( ObjectInputStream.java :1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java :1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.apache.wicket.util.lang.Objects.byteArrayToObject( Objects.java :396) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage ( AbstractPageStore.java:231) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage( DiskPageStore.java:596) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get (SecondLevelCacheSessionStore.java:322) at org.apache.wicket.Session.getPage(Session.java:800) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage ( AbstractRequestCycleProcessor.java:427) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve ( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1091) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1177) at org.apache.wicket.RequestCycle.request(RequestCycle.java:500) at org.apache.wicket.protocol.http.WicketFilter.doGet( WicketFilter.java :261) at org.apache.wicket.protocol.http.WicketFilter.doFilter( WicketFilter.java:127) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter( ServletHandler.java:1065) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal (OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter( ServletHandler.java:1065) at org.mortbay.jetty.servlet.ServletHandler.handle( ServletHandler.java :365) at org.mortbay.jetty.security.SecurityHandler.handle( SecurityHandler.java:185
Re: strange ClassCastException when deserializing a Page
On 9/25/07, Eelco Hillenius [EMAIL PROTECTED] wrote: On 9/24/07, Xavier Hanin [EMAIL PROTECTED] wrote: On 9/25/07, Eelco Hillenius [EMAIL PROTECTED] wrote: Gee that looks weird. As far as I know, the only exotic stuff we do with serializing is an optimization for page references. But I can't see how that might relate to this. Johan, any ideas? Any chance you could make a test case out of it Xavier? The problem is that without the slightest idea of where it comes from it's difficult to make a test case. The code is public though, so I have a large test case :-) But I'm ok to investigate on my own, if you can give me some hints... Maybe I can switch to another serialization implementation, if I remember well that's something possible, no? You could try that (Objects#setObjectStreamFactory(new WicketObjectStreamFactory()) but since we are now using Java's default serialization, I doubt that would make things better. Indeed, it only failed earlier. But never mind, I've finally found the problem, it was only my fault, bad serialization overriding lost in another component... Xavier Eelco - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: [podcast] Wicket talk at JavaZone 2007
On 9/24/07, David Bernard [EMAIL PROTECTED] wrote: Done, I added http://cwiki.apache.org/confluence/display/WICKET/Slides+and+presentations. Great! Xavier, could you check information. I create links to your presentations, but may do you prefer to convert to attachement (part of the wiki). I've added Matrjin to the authors information, since I borrowed many slides from his presentation at TSSJS. For the links it's fine, I'll keep the files where they are. But if someone prefer to attach them I'm fine with that too. Xavier /david Gerolf Seitz wrote: n 9/24/07, David Bernard [EMAIL PROTECTED] wrote: Why not add it to the wiki or the main site (and other presentations)? It's a good support for internal/customer show. believe it or not, but nobody will stop you from doing this ;) gerolf I suggest a list with the following information : * authors * original target (ex: javazone 2007), first presentation date * wicket version (1.3.0) * attachament (slides, src...) * agenda/toc /david Xavier Hanin wrote: On 9/22/07, Gerolf Seitz [EMAIL PROTECTED] wrote: for those of you couldn't attend JavaZone 2007 (probably most of you) and haven't already listened to the podcast, here we go: http://www4.java.no/presentations/javazone/2007/podcast/5301.mp3 As a reminder, slides and eclipse project for the custom component example are here: http://people.apache.org/~xavier/wicket/ Xavier the rss-feed for all podcasts can be found here: http://www4.java.no/web/show.do?page=141 Xavier, thank you again for stepping in... Gerolf - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: JavaZone presentation follow up
On 9/12/07, karthik Guru [EMAIL PROTECTED] wrote: Congrats! 47 slides! how long was the talk? It took 55 minutes, including some very basic demo of a datatable component with filters and sort (from the databinder baseball players example), of Ajax components (using the guestbook demo and quickly showing the source code), a live demo of community activity (number of e-mails sent on the mailing lists during the talk) and a more detailed demo of the custom component (I didn't show the slides with source code, but rather the actual source in eclipse with more detailed explanation). I first thought I could showcase detailed error reporting with a bad wicket id in the custom component demo, but I was too short in time. In the past i have had trouble running through all of them in little less than an hour. I have mine coming up late october in India and i have only 50 minutes to sell Wicket!. It can work, it depends on how long you spend on each point. Maybe I talked a little bit too quickly (with the stress of the presentation, controlling the speech flow is not easy). Watching the recorded talk would be the best to evaluate the time, but I don't think it'll be available before october. I like the reference to Pro JSF Ajax - I had the exact same feeling reading that book sometime back and i even pinged Eelco and told him. I didn't actually read the book, but I attended to a talk from the authors at last javapolis, and was not convinced by the simplicity of creating custom components for JSF they were talking about. I first thought I could bring the book to show it instead of having just a cover picture, but I forgot it in my hotel room :-) How I wish I had learnt JSF before coming to wicket - Am supposed to do a session comparing both. So in my spare time am forced to try out exercises in JSF - its so painful to go backwards in life ! :-( I understand your pain :-) Some points of comparison from what I know of JSF (I may be wrong): control over your URLs, use of HTTP verbs (GET vs POST) and of course custom components. Also this - http://chillenious.wordpress.com/2006/05/12/a-word-about-custom-components/ Yes, I quoted a phrase from this wonderful post! Btw, do you mind if i re-use some of your slide contents ? ;-) Sure, no problem, most of the slides are from Martjin's presentation anyway :-) Xavier thanks, Karthik On 9/12/07, Xavier Hanin [EMAIL PROTECTED] wrote: Hi Wicket community, I've just finished my presentation on Wicket at JavaZone! Presentation outline: * What is Wicket * Wicket core concepts * Creating a custom component with Wicket The slides I've used are available here: http://people.apache.org/~xavier/wicket/wicket-javazone-07.ppt The source code (as an eclipse project, with all required libs, no ant nor maven build, sorry) is available here: http://people.apache.org/~xavier/wicket/wicket-javazone-07.zip From my point of view the presentation went pretty well, the room was almost packed, if only I had a better spoken english level maybe I would have wake up a few tired attendees in the back :-) Thanks to all of you who helped me prepare the presentation, and special thanks to Eelco and the JavaZone committee to have trust me to replace him for this talk. Xavier -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/ -- -- karthik -- -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: JavaZone presentation follow up
On 9/12/07, Gerolf Seitz [EMAIL PROTECTED] wrote: hi xavier, nice presentation. plz let us know how it went, how many attendees, etc... It went pretty well, people seemed interested, well, at least those who were awake :-) It's difficult to say how many attendees there was, I'd say about 150 or 200, but I'm not very good to evaluate an audience size. The room was almost packed anyway, with even a few people standing up. At the end I had a few people asking questions (5 or 6), including people who told me they were very interested by Wicket and impressed by the ease of use of what they've seen during the talk. The talk was recorded, so hopefully you'll be able to ear my horrible accent in a near future :-) Xavier hf at javazone, gerolf On 9/12/07, Jan Kriesten [EMAIL PROTECTED] wrote: hi xavier, I've just finished my presentation on Wicket at JavaZone! congrats! and thanks for providing the ppt - i'll take it as inspiration for my presentation in october. :-) regards, --- jan. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: JavaZone presentation follow up
On 9/12/07, Eelco Hillenius [EMAIL PROTECTED] wrote: On 9/12/07, Xavier Hanin [EMAIL PROTECTED] wrote: Hi Wicket community, I've just finished my presentation on Wicket at JavaZone! Presentation outline: * What is Wicket * Wicket core concepts * Creating a custom component with Wicket The slides I've used are available here: http://people.apache.org/~xavier/wicket/wicket-javazone-07.ppt The source code (as an eclipse project, with all required libs, no ant nor maven build, sorry) is available here: http://people.apache.org/~xavier/wicket/wicket-javazone-07.zip From my point of view the presentation went pretty well, the room was almost packed, if only I had a better spoken english level maybe I would have wake up a few tired attendees in the back :-) Thanks to all of you who helped me prepare the presentation, and special thanks to Eelco and the JavaZone committee to have trust me to replace him for this talk. Thanks a lot for talking Xavier! I hope you have fun over there :-) Oslo is a very beautilful city and we are lucky enough to have sunny days. And javazone is a very nice conference, somewhat weird by some aspects (I'm not used to see a heavy metal concert for the opening show of a conference :-)). So yes I have fun! Xavier Eelco - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: Google Crawl
For what it's worth I've had some kind of similar needs for an open source app I work on, and solved the problem of tabs without actually removing them, but using bookmarkable links to select the tab. You can check how I did this here: http://xoocode.org/wsvn/xoocode/org.xoocode.xooctory/trunk/xooctory/src/main/java/org/xoocode/xooctory/web/pages/job/JobPage.java?op=filerev=0sc=0 Not the best code I ever wrote, but you might find it helpful. The important part is: *for* (ListIteratorITab iter = tabs.listIterator(); iter.hasNext();) { ITab tab = (ITab) iter.next(); *if* (paramSelected.equals(tab.getTitle().getObject())) { selected = iter.previousIndex(); } } TabbedPanel tabbedPanel = *new* TabbedPanel(*tabs*, tabs) { *protected* WebMarkupContainer newLink(String linkId, *final* *int* index) { PageParameters parameters = *new* PageParameters(); parameters.put(*0*, JobPage.*this*.jobKey); parameters.put(*1*, ((ITab)getTabs().get(index)).getTitle().getObject()); *return* *new* BookmarkablePageLink(linkId, JobPage.*class*, parameters); } }; tabbedPanel.setSelectedTab(selected); HTH, Xavier On 9/9/07, Sam Lewis [EMAIL PROTECTED] wrote: Thanks for your responses. I should of thought about this issue before I developed the site with wicket ;-) i just wanted to try something new. I will investigate the other url schemes but i think everything should be bookmarkable. It should be easy to refactor my tabs into pages and I suppose I can refactor the the PageableListView to a ListView and use a page number parameter like the good old days. On 09/09/07, Eelco Hillenius [EMAIL PROTECTED] wrote: On 9/9/07, Sam Hough [EMAIL PROTECTED] wrote: I doubt Google will like the query string part of that URL. Have you looked at the other URL schemes? I think the answer is that you do need to make your pages bookmarkable so Google has something to put in its index. It may only be seeing the bit before the query string so all your pages look the same to it. Anything that it is possible to map from a normal URL to page state should be bookmarkable so nothing intrinsic to a tabbed panel should stop you. The naming schemes you use for your URLs is worth putting a lot of thought into as once they are in Google it may take a very long time to shift... Never mind users bookmarks. Keep them as elegant and concise as possible so you don't need to change the plan you adopt now. Sam is right. I think this is something we should communicate more loudly maybe. The thing is, most of the people who work on Wicket work on apps where a user logs in and then accesses the rest of the application. Bookmark-ability is only for convenience then. However, if you are designing a public facing site, you should really be aware of bookmarkability, and either shield parts of your site for crawlers or make sure everything is bookmarkable. Unfortunately, this has an effect on your programming model. Like you said, tabbed panel and pageablelist are components that are not bookmarkable by default, so you'd have to code such functionality in alternative ways. You're basically back to a page based approach. Regards, Eelco - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: Wicket libraries
You can use Ivy to resolve wicket dependencies and produce a report, if you have trouble to generate a report with maven ATM. The report details may be slightly different from what you get with m2, since Ivy is not 100% compatible with m2, but it's better than nothing. If you're interested, I can provide the build.xml to generate it (with automatic download of Ivy so that you only need ant 1.6+ on your box to test it). Would you be interested as a workaround until you get maven 2 site generation working? Xavier On 9/5/07, Martijn Dashorst [EMAIL PROTECTED] wrote: Skinning was not a problem, just generating a coherent site with just one command: cd wicket-1.x mvn site:deploy This just doesn't work (tm). Martijn On 9/5/07, Igor Vaynberg [EMAIL PROTECTED] wrote: we dont need links, just a list. and i thought the trouble was related to skinning? if thats still the case can we just put a vanilla maven site on wicket-stuff or somewhere? -igor On 9/5/07, Martijn Dashorst [EMAIL PROTECTED] wrote: Remember the troubles I had with generating the site? Tim was working on it, but it still is a long shot from being workable. And yes, it has a list of dependencies, but I don't think they generate a link to download each and every one of them :| Martijn On 9/5/07, Igor Vaynberg [EMAIL PROTECTED] wrote: why dont we generate the maven stie somewhere? doesnt that have a list of dependencies for each module? -igor On 9/5/07, Martijn Dashorst [EMAIL PROTECTED] wrote: On 9/5/07, Al Maw [EMAIL PROTECTED] wrote: That said, maybe we should provide a separate ZIP with the dependencies. I guess if you're using Ivy or Maven 2, you're not going to be downloading the ZIP at all. There may be licensing issues with this, though. What do people think? Martijn? Including the deps just doesn't increase the size to a double, but a 5 or 6 fold (iirc 65MB). The problem is with transitive deps that are test/compile/provided scope (for instance Spring includes just about the world). The best way currently is to do it as we do now IMO. The current direct deps are license compatible, but I really don't want to check all transitive deps for license compatibility. The current examples is already quite humongous in the dependency department. I have proposed a couple of weeks ago to move examples out of the main distribution, and make it a separate download, and do the same with the quickstart. The benefit would be that the license requirements for the main distribution download becomes smaller, only the stuff we include in the sources ourselves. Both the examples and quickstart would then include all necessary runtime deps for building a wicket application (as described in chapter 3 of wicket in action, and provided with wicket 1.2 until now). This makes them easier to provide a license file for. I just lack the time to make it so. In short: I don't like the idea of adding an all libs project and make it downloadable from Apache. We could make that a wicket stuff project though but the size would resemble downloading a whole maven repository. Martijn -- Buy Wicket in Action: http://manning.com/dashorst Apache Wicket 1.3.0-beta3 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-beta3/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Buy Wicket in Action: http://manning.com/dashorst Apache Wicket 1.3.0-beta3 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-beta3/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Buy Wicket in Action: http://manning.com/dashorst Apache Wicket 1.3.0-beta3 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-beta3/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: Wicket/JSP Hosting
On 9/5/07, Martijn Dashorst [EMAIL PROTECTED] wrote: No experience (yet), but I'm very interested in Amazon's EC2 effort (elastic computing cloud). No experience either but AFAIK Amazon EC2 does not guarantee getting the same IP each time you get a host, so it's a bit difficult to base your hosting *only* on EC2. Having a front end (some kind of load balancer or proxy) in front of your EC2 instance seems to be a requirement. So I think it's a very interesting solution for pretty large scale hosting, but may not fit small hosting requirements. My 2c. Xavier Martijn On 9/5/07, Karl M. Davis [EMAIL PROTECTED] wrote: Hey all, I'm having issues with my current web host's poor customer service (cwihosting.com, if you're curious). In addition, my requirements are going up. Without going the dedicated server route, does anyone know of a web host with good customer support that offers the following: 128MB JVM memory allocation (preferably 256MB or up) 3GB disk space Ability to run Wicket apps mapped to /' Failing that, does anyone know a good company for dedicated servers or colo in the USA? I'd much appreciate any suggestions you guys can offer. Thanks, Karl M. Davis - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Buy Wicket in Action: http://manning.com/dashorst Apache Wicket 1.3.0-beta3 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-beta3/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: How to get path name?
This is not really related to wicket, since your properties file is available in your classpath, you should be able to get it as a resource. Something like: Properties props=new Properties () ; props.load ( getClass().getResourceAsStream(/WEB-INF/conf/database.properties) ) ; If you're in a static method of class initializer, you'll need to refer to the class using MyClass.class before the getResourceAsStream(). Note that you can actually use any Class object, since the path to the resource is absolute (starting with a slash). HTH, Xavier On 9/1/07, Edi [EMAIL PROTECTED] wrote: Hello, I have one sample project named as TMS, In my WEB-INF/conf foler contains database.properties file. It contains e.g hostname = some host name url= some url This project contains only one database.properties file. In java file, I want to get hostname and url from that property file. e.g. Properties props=new Properties () ; props.load ( new FileInputStream ( new File (E:\\Workspace\\TMS\\WebRoot\\WEB-INF\\conf\\database.properties))) ; String host= hostname; String val = props.getProperty (Host Name Is :+ host ) ; Using the above code, I have got both hostname and url. But my problem is, How to get the current project database.properties file path. Because in the above path name is hard coded. So How we get current project database.properties file path? Thanking you. Thank You Edward -- View this message in context: http://www.nabble.com/How-to-get-path-name--tf4363832.html#a12438194 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: How to get path name?
Oops, sorry, WEB-INF is usually not accessible in your application classpath, but through the ServletContext. So you can access it with: ((WebApplication)WebApplication.get()).getServletContext().getResourceAsStream(/WEB-INF/conf/database.properties) Xavier On 9/1/07, Xavier Hanin [EMAIL PROTECTED] wrote: This is not really related to wicket, since your properties file is available in your classpath, you should be able to get it as a resource. Something like: Properties props=new Properties () ; props.load ( getClass().getResourceAsStream(/WEB-INF/conf/database.properties) ) ; If you're in a static method of class initializer, you'll need to refer to the class using MyClass.class before the getResourceAsStream(). Note that you can actually use any Class object, since the path to the resource is absolute (starting with a slash). HTH, Xavier On 9/1/07, Edi [EMAIL PROTECTED] wrote: Hello, I have one sample project named as TMS, In my WEB-INF/conf foler contains database.properties file. It contains e.g hostname = some host name url= some url This project contains only one database.properties file. In java file, I want to get hostname and url from that property file. e.g. Properties props=new Properties () ; props.load ( new FileInputStream ( new File (E:\\Workspace\\TMS\\WebRoot\\WEB-INF\\conf\\database.properties))) ; String host= hostname; String val = props.getProperty (Host Name Is :+ host ) ; Using the above code, I have got both hostname and url. But my problem is, How to get the current project database.propertiesfile path. Because in the above path name is hard coded. So How we get current project database.properties file path? Thanking you. Thank You Edward -- View this message in context: http://www.nabble.com/How-to-get-path-name--tf4363832.html#a12438194 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/ -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: How to get path name?
It depends... if your application is a web application, it can be packaged as a war, or an expanded war, be deployed in a web container, or embed its own web container. That's a lot of different cases, so there is no single answer to your question. The best is to keep things either in your classpath and access them as resources (using Class#getResource(String) or Class#getResourceAsStream(String)) or in your webapp (in WEB-INF for instance) and access them using ServletContext#getResource(String) or ServletContext#getResourceAsStream(String). Then you don't need to actually know where your app is deployed and how. If you are sure your webapp will be deployed expanded, you can still try to figure out your project path out the URL returned by ServletContext#getResource(String). But it will make your webapp very dependent on how it's deployed, which is usually not a very good idea. HTH, Xavier On 9/1/07, Edi [EMAIL PROTECTED] wrote: Thanks for your reply, How to find the base path of the project For e.g my project name is TMS. this projected stored in c:/program files/TMS. How to find the above path using java program. Thanking You. Xavier Hanin wrote: Oops, sorry, WEB-INF is usually not accessible in your application classpath, but through the ServletContext. So you can access it with: ((WebApplication)WebApplication.get()).getServletContext().getResourceAsStream(/WEB-INF/conf/database.properties) Xavier On 9/1/07, Xavier Hanin [EMAIL PROTECTED] wrote: This is not really related to wicket, since your properties file is available in your classpath, you should be able to get it as a resource. Something like: Properties props=new Properties () ; props.load ( getClass().getResourceAsStream(/WEB-INF/conf/database.properties) ) ; If you're in a static method of class initializer, you'll need to refer to the class using MyClass.class before the getResourceAsStream(). Note that you can actually use any Class object, since the path to the resource is absolute (starting with a slash). HTH, Xavier On 9/1/07, Edi [EMAIL PROTECTED] wrote: Hello, I have one sample project named as TMS, In my WEB-INF/conf foler contains database.properties file. It contains e.g hostname = some host name url= some url This project contains only one database.properties file. In java file, I want to get hostname and url from that property file. e.g. Properties props=new Properties () ; props.load ( new FileInputStream ( new File (E:\\Workspace\\TMS\\WebRoot\\WEB-INF\\conf\\database.properties))) ; String host= hostname; String val = props.getProperty (Host Name Is :+ host ) ; Using the above code, I have got both hostname and url. But my problem is, How to get the current project database.propertiesfile path. Because in the above path name is hard coded. So How we get current project database.properties file path? Thanking you. Thank You Edward -- View this message in context: http://www.nabble.com/How-to-get-path-name--tf4363832.html#a12438194 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/ -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/ -- View this message in context: http://www.nabble.com/How-to-get-path-name--tf4363832.html#a12439360 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: Is Wicket a proper framework for a Webshop ?
On 8/29/07, neekibo [EMAIL PROTECTED] wrote: Thanks to all, I will analyse how complex my UI will be and than evaluate if Wicket fits in. Thanks for pointing at Stripes... I always thought: Spring is so cool, everybody says that. So SpringMVC is the way to go, but as mentioned here it is quite low-level. My today's two favourites :=) 1. Wicket - SpringCore - Hibernate 2. Stripes - SpringCore - Hibernate Thanks for pointing at http://databinder.net/site/show/overviewDatabinder . I will discuss with myself if abandon Spring is an option. I guess using Spring only makes sense when you have to code quite a bit of business logic. Note that databinder can be used with Spring too. It's useful for exposing your hibernate beans as wicket models. Xavier Discussion, especially arguments against Wicket, my case in mind, are welcome :=) Paul -- View this message in context: http://www.nabble.com/Is-Wicket-a-proper-framework-for-a-Webshop---tf4341788.html#a12384390 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/
Re: Ajax progressbar
On 8/22/07, Martin Bednář [EMAIL PROTECTED] wrote: Hi, Are there some sample how to implement progressbar that react on state during long runing request ? In xooctory we have implemented a progress bar with an estimated time of achievement and reacting when a job is over using wicket-contrib-push. You can check the code here: http://www.xoocode.org/wsvn/xoocode/org.xoocode.xooctory/trunk/xooctory/src/main/java/org/xoocode/xooctory/web/component/ProgressBar.java?op=filerev=0sc=0 I don't know if this is close to what you want to achieve, but it may be a source of inspiration. The code is Apache licensed, so feel free to pick some parts of it if you want. HTH, Xavier Tnx Bedy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://incubator.apache.org/ivy/ http://www.xoocode.org/