Re: memcached session store
Hi, sounds interesting. What would you say are the advantages of terracotta over memcached? I'd say in terms of scalability terracotty has the same disadvantages like local (in-jvm) caches - replication has to be done to all other nodes. Thanx for your thoughts, cheers, Martin On Sun, 2009-03-08 at 23:25 +0100, Martijn Dashorst wrote: You can check the TIM integration work from the Terracotta guys. That should make things easier, and you could even try it out, perhaps saving a memcached implementation completely :) Martijn On Sun, Mar 8, 2009 at 11:01 PM, Martin Grotzke martin.grot...@javakaffee.de wrote: Hi, we're just thinking about a session store using memcached. I just want to ask if somebody already implemented this (and wants to share) before we implement this. Btw, is there some documentation about ISessionStore semantics, in addition to javadocs? I would be interested in the order in which the different methods would be invoked. Thanx cheers, Martin signature.asc Description: This is a digitally signed message part
Re: How to configure development mode so can see changes on-the-fly without restart
Hello, I am also using IDEA 8.1 but instead of the jetty:run I start the wicket app with the Start [1] class that is part of the quickstart archetype. Not sure it's necessary but in my Application class, I added these lines for automatic picking up changes to the html: getResourceSettings().setResourcePollFrequency(Duration.milliseconds(500)); getResourceSettings().addResourceFolder(src/main/java); And for automatically picking up compiled classes, I am using JavaRebel, haven't tried their latest version though. [1] http://svn.apache.org/repos/asf/wicket/trunk/wicket-quickstart/src/main/java/org/apache/wicket/quickstart/Start.java [2] http://www.zeroturnaround.com/javarebel/ Maarten On Mon, Mar 9, 2009 at 6:45 AM, Jason Rosenberg jbrosenb...@gmail.comwrote: Hello, I'm new to Wicket (using 1.4-rc2, using IDEA IntelliJ 8.1 and maven2 with jetty:run plugin) In development mode, I expected to be able to edit html pages in the IDE, and see changes reflected immediately in the browser upon browser refresh, without having to restart wicket. Also, not sure if it should be possible to recompile java classes and see the changes from those reflected as well, on the fly Anyway, so far I've been unable to get things working that way (I have to stop wicket and restart it, after updating) I generated my project initially using the quickstart maven archetype Essentially, I'm wanting to replicate the JSP model where you edit jsp files and then the server recompiles changes and presents them without a restart... Thanks for any advice... Jason -- View this message in context: http://www.nabble.com/How-to-configure-development-mode-so-can-see-changes-on-the-fly-without-restart-tp22407484p22407484.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Security in a Spring Wicket layered application
Hi, Great answer! :-) I'll try to do that today. Best regards, Kent On Sun, Mar 8, 2009 at 8:38 PM, Erik van Oosten e.vanoos...@grons.nl wrote: Hi Kent, Go with something that enables authorization in the service layer (e.g. Spring Security, jSecurity, ...). Next base your custom wicket authorization on the authentication store of the chosen base technology. Spring Security uses a thread local as authentication store and has a servlet filter to copy the authenticated user to/from the session so that the authenticated user is handily available during a request and properly stored afterwards. Authentication itself can be implemented from Wicket in a custom way (e.g. a username/password form). On success you just store the authenticated user in the authentication store. Regards, Erik. Kent Larsson wrote: Hi, I know there has been some discussion on this. But I've had a hard time deciding how this project should use security anyway. The application in question is layered into three layers for presentation, services and persistence using Wicket, Spring and Hibernate. What we need: - Authentication - Authorization on pages, components - Authorization before being able to run methods in the service layer - Authorization for viewing/editing some domain objects using Access Control List's (ACL's) I have read Wicket in Action and it's custom security solution has some pros: - It's quite easy to understand - We have a lot of freedom in how to do authentication and authorization And some cons: - I don't know how to authorize calls of specific methods, and thus - All security will be in the presentation layer - It won't be usable if we want security on web services later (which we do not need now, so maybe this can be disregarded) It would be nice if we could have a common solution to our security needs that integrates well with Wicket and Spring. I know that the Auth Roles project is out there as well as Swarm. But I don't know which will meet our needs and which will most likely be an option to us when we later move to Wicket 1.4 or a higher version. Best regards, Kent -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: memcached session store
On Sun, 2009-03-08 at 16:56 -0700, Victor Igumnov wrote: I wrote a memcached session manager store for jetty, that our wicket app utilizes. Works well, except I can't open source it, since it was created on the company's dime ;-( Well, most interesting things are not so simple to realize that one can do it in its spare time. But the good point is that we can do such interesting things in our job :) Here is my opinion on memcached as a session store. Memcached will not work well as a wicket session store, due to 1mb size limits. Good to know, I wasn't aware of this restriction (I still need to read more about this for details). So one is forced to handle resources eating much memory (e.g. fileupload) not via session, which is the case even without this 1 mb size limit :) Do you have a case where this limit is important especially for wicket? You honestly don't want to serialize anything past 100kb in size due to performance reasons. Right. That said, It works best if you use memcached as a container httpsessionstore with the wicket secondlevelcache diskpagestore. The only thing you need to serialize is the last pagemap which should only be 50kb in size max. You still get fail over since the last page map is distributed. And I have to read about page maps (I'm really new to wicket as you see :)). AFAIK page maps store a configurable numer of versioned pages for back-button support and versioned pages. One thing you need to be careful with is not referencing anything that got stored on disk from your active pagemap, it will spiral into a stack overflow. https://issues.apache.org/jira/browse/WICKET-2138 Thanx! We would need to setup tests to be sure that this won't happen. Thanx for your input, cheers, Martin -Victor On Mar 8, 2009, at 3:25 PM, Martijn Dashorst wrote: You can check the TIM integration work from the Terracotta guys. That should make things easier, and you could even try it out, perhaps saving a memcached implementation completely :) Martijn On Sun, Mar 8, 2009 at 11:01 PM, Martin Grotzke martin.grot...@javakaffee.de wrote: Hi, we're just thinking about a session store using memcached. I just want to ask if somebody already implemented this (and wants to share) before we implement this. Btw, is there some documentation about ISessionStore semantics, in addition to javadocs? I would be interested in the order in which the different methods would be invoked. Thanx cheers, Martin -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.3.5 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org signature.asc Description: This is a digitally signed message part
Re: How to configure development mode so can see changes on-the-fly without restart
You can read up here http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin on scanIntervalSeconds and reload=automatic. It works for me, but I usually get an exception after 30 or so reloads. But I figure it's better than nothing :) /Stefan Jason Rosenberg wrote: Hello, I'm new to Wicket (using 1.4-rc2, using IDEA IntelliJ 8.1 and maven2 with jetty:run plugin) In development mode, I expected to be able to edit html pages in the IDE, and see changes reflected immediately in the browser upon browser refresh, without having to restart wicket. Also, not sure if it should be possible to recompile java classes and see the changes from those reflected as well, on the fly Anyway, so far I've been unable to get things working that way (I have to stop wicket and restart it, after updating) I generated my project initially using the quickstart maven archetype Essentially, I'm wanting to replicate the JSP model where you edit jsp files and then the server recompiles changes and presents them without a restart... Thanks for any advice... Jason -- Stefan Malmesjö | Applications Developer Phone +46 (0)8-410 064 49 -- Curalia AB | www.curalia.se Hudiksvallsgatan 4, 113 30 Stockholm, Sweden -- - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: How to configure development mode so can see changes on-the-fly without restart
for class reloading you can either use wicket with seam (of course activate debug/development mode in both seam and wicket) or javarebel (which now has a wicket plugin). as we migrated from seam with jsf to seam with wicket we are very happy to have this instant change feature for free. cheers, uwe. On Mon, Mar 9, 2009 at 10:26 AM, Stefan Malmesjö stefan.malme...@curalia.se wrote: You can read up here http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin on scanIntervalSeconds and reload=automatic. It works for me, but I usually get an exception after 30 or so reloads. But I figure it's better than nothing :) /Stefan Jason Rosenberg wrote: Hello, I'm new to Wicket (using 1.4-rc2, using IDEA IntelliJ 8.1 and maven2 with jetty:run plugin) In development mode, I expected to be able to edit html pages in the IDE, and see changes reflected immediately in the browser upon browser refresh, without having to restart wicket. Also, not sure if it should be possible to recompile java classes and see the changes from those reflected as well, on the fly Anyway, so far I've been unable to get things working that way (I have to stop wicket and restart it, after updating) I generated my project initially using the quickstart maven archetype Essentially, I'm wanting to replicate the JSP model where you edit jsp files and then the server recompiles changes and presents them without a restart... Thanks for any advice... Jason -- Stefan Malmesjö | Applications Developer Phone +46 (0)8-410 064 49 -- Curalia AB | www.curalia.se Hudiksvallsgatan 4, 113 30 Stockholm, Sweden -- - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Custom wicket:tags?
Hi, is it possible to develop our own custom wicket tag(s)? Anyone done this, or have any pointers? thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Custom wicket:tags?
Hi Wayne, is it possible to develop our own custom wicket tag(s)? Anyone done this, or have any pointers? yep, possible. I did sortof in the Dynamo example (http://www.footprint.de/fcc/2008/11/some-wicket-scala/) Regards, --- Jan. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Creating a brandable or white label type of application
Hi Igor, Is there another CMS (other than brix) that works well with wicket? Igor Vaynberg wrote: if you are just starting to think about building this you might want to consider using brix, or another cms that works well with wicket. in case of brix: each client would get their own jcr workspaces that you can fill in with a template. they are then free to edit their own workspace creating pages, uploading images, etc. it is trivial in brix to map domains to workspaces functionality for your application is then provided using brix tiles which users are free to move around their html, a tile is basically just a [brix:tile tile:id=foo][/brix:tile] anywhere inside the markup. if this sounds too out there you can still use normal wicket code and allow your customers to edit the markup. you can store the markup itself in the database, so all things like styles and variations still work even though markup is not in the war. see IMarkupStreamProvider and IMarkupCacheKeyProvider - these allow you to override where markup comes from per page or per hierarchy of pages. there are more general things like IResourceStreamProvider that will allow you to override where resources are loaded from on a global scale. -igor On Fri, Mar 6, 2009 at 7:30 PM, Tauren Mills tau...@groovee.com wrote: I'm looking for thoughts on ways to create a site that can be branded by a customer. It should do the following: * run in a single webapp deployed in a WAR file * multiple host names resolve to this same web app domain1.com - myapp.com domain2.com -- myapp.com * based on the host name, the app selects a skin (color scheme, images, maybe even layout changes) * users need to be able to alter colors, images, and layout in real time, so updating the WAR with new skins isn't possible * need to pull alternate CSS content and perhaps HTML markup from a database and images from a location outside of the WAR. This needs to be kind of like blogger.com, where a user can change images and colors, and the application displays their blog that way. But in my case, the content on the page primarily remains the same, just the way it is presented changes. So I'm looking at the localization and style features thinking they might help. But they rely on alternate versions of files to be in the WAR. http://cwiki.apache.org/WICKET/localization-and-skinning-of-applications.html What methods would you recommend to get the current hostname from the request? Whould this be best done in the RequestCycle, the Session, or? What techniques would be useful for using external CSS, images, and HTML? Will getStyle/setStyle even help since the content is external of the WAR? I realize that I shouldn't allow users to modify HTML markup that contains wicket tags. That could break things very quickly. I'm just starting to think about how to do this, so I'm looking for any suggestions to direct me to the right tools for the job. Thanks, Tauren - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: memcached session store
Starts to sound like a form of premature optimization. If you are new to Wicket, why do you want to implement a memcached session store? What is the usecase? Martijn On Mon, Mar 9, 2009 at 9:56 AM, Martin Grotzke martin.grot...@javakaffee.de wrote: On Sun, 2009-03-08 at 16:56 -0700, Victor Igumnov wrote: I wrote a memcached session manager store for jetty, that our wicket app utilizes. Works well, except I can't open source it, since it was created on the company's dime ;-( Well, most interesting things are not so simple to realize that one can do it in its spare time. But the good point is that we can do such interesting things in our job :) Here is my opinion on memcached as a session store. Memcached will not work well as a wicket session store, due to 1mb size limits. Good to know, I wasn't aware of this restriction (I still need to read more about this for details). So one is forced to handle resources eating much memory (e.g. fileupload) not via session, which is the case even without this 1 mb size limit :) Do you have a case where this limit is important especially for wicket? You honestly don't want to serialize anything past 100kb in size due to performance reasons. Right. That said, It works best if you use memcached as a container httpsessionstore with the wicket secondlevelcache diskpagestore. The only thing you need to serialize is the last pagemap which should only be 50kb in size max. You still get fail over since the last page map is distributed. And I have to read about page maps (I'm really new to wicket as you see :)). AFAIK page maps store a configurable numer of versioned pages for back-button support and versioned pages. One thing you need to be careful with is not referencing anything that got stored on disk from your active pagemap, it will spiral into a stack overflow. https://issues.apache.org/jira/browse/WICKET-2138 Thanx! We would need to setup tests to be sure that this won't happen. Thanx for your input, cheers, Martin -Victor On Mar 8, 2009, at 3:25 PM, Martijn Dashorst wrote: You can check the TIM integration work from the Terracotta guys. That should make things easier, and you could even try it out, perhaps saving a memcached implementation completely :) Martijn On Sun, Mar 8, 2009 at 11:01 PM, Martin Grotzke martin.grot...@javakaffee.de wrote: Hi, we're just thinking about a session store using memcached. I just want to ask if somebody already implemented this (and wants to share) before we implement this. Btw, is there some documentation about ISessionStore semantics, in addition to javadocs? I would be interested in the order in which the different methods would be invoked. Thanx cheers, Martin -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.3.5 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.3.5 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Ajaxifying FormComponentPanel
When I debug the app, I can see that getObject() is being called for subgenrefield, only selectedGenre == null. I also put a breakpoint in convertInput() inside the GenreFieldSwithPanel, but it doesn't pass it. Shouldn't it use that to determine what the new value of the model will be? Linda Linda van der Pal wrote: That is in fact the type of behavior I am using. Here's a bit of the code: // The subgenre-field IModelListSubgenre subgenreModel = new AbstractReadOnlyModelListSubgenre() { @Override public ListSubgenre getObject() { ListSubgenre subgenres = new ArrayListSubgenre(); if (selectedGenre != null){ // Fetch the subgenres based on selectedGenre subgenres = ... } return subgenres; } }; final FieldSwitchPanel subgenrefield = new SubgenreFieldSwitchPanel(subgenre, subgenreModel); subgenrefield.setOutputMarkupId(true); subgenrefield.setOutputMarkupPlaceholderTag(true); form.add(subgenrefield); // The genre-field // fetch the genres ListDomainObject genres = ... final FieldSwitchPanel genrefield = new GenreFieldSwitchPanel(genre, genres, new PropertyModelDomainObject(this, selectedGenre)); genrefield.add(new AjaxFormComponentUpdatingBehavior(onchange) { @Override protected void onUpdate(AjaxRequestTarget target) { target.addComponent(subgenrefield); } }); genrefield.setOutputMarkupPlaceholderTag(true); form.add(genrefield); The problem is that selectedGenre stays null. So I'm looking for the cause of that. My guess is that it is because the model isn't updated. (I did implement convertInput() in GenreFieldSwitchPanel, which extends FormComponentPanel.) Linda jWeekend wrote: Linda, Take a look at AjaxFormComponentUpdatingBehavior. Regards - Cemal http://jWeekend.com jWeekend Linda van der Pal wrote: I have a FormComponentPanel that contains a TextField and a DropDownChoice. Of those two only one is visible at any moment. (The TextField is there for when the DropDownChoice doesn't offer the wanted result.) On the panel that contains the FormComponentPanel, I want another element to respond to any change in the FormComponentPanel (most importantly if the user selects something from the DropDownChoice). I have added ajax behavior to the component, but the model isn't updated, so when I debug the onChange method of the behavior, I find that the object in the model is null. How do I get it to update properly? Regards, Linda van der Pal - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: memcached session store
On Mon, 2009-03-09 at 13:07 +0100, Martijn Dashorst wrote: Starts to sound like a form of premature optimization. If you are new to Wicket, why do you want to implement a memcached session store? What is the usecase? We're starting a new project (the relaunch of a big ecommerce system) and want to be able to scale out (just throw in new hardware when traffic grows). Additionally we have the requirement of session failover, both in standard operations and for deployments. We're discussing non-sticky vs. sticky sessions here and for non-sticky sessions memcached (as caching layer in addition to sessions stored in a database) is a good candidate, as you don't replicate the changed session to all other nodes, but only to the primary node for this session id. This is an important aspect for beeing able to scale out. Concerning non-sticky/sticky/memcached/whatever we're not decided yet, still running in evaluation mode :) Cheers, Martin Martijn On Mon, Mar 9, 2009 at 9:56 AM, Martin Grotzke martin.grot...@javakaffee.de wrote: On Sun, 2009-03-08 at 16:56 -0700, Victor Igumnov wrote: I wrote a memcached session manager store for jetty, that our wicket app utilizes. Works well, except I can't open source it, since it was created on the company's dime ;-( Well, most interesting things are not so simple to realize that one can do it in its spare time. But the good point is that we can do such interesting things in our job :) Here is my opinion on memcached as a session store. Memcached will not work well as a wicket session store, due to 1mb size limits. Good to know, I wasn't aware of this restriction (I still need to read more about this for details). So one is forced to handle resources eating much memory (e.g. fileupload) not via session, which is the case even without this 1 mb size limit :) Do you have a case where this limit is important especially for wicket? You honestly don't want to serialize anything past 100kb in size due to performance reasons. Right. That said, It works best if you use memcached as a container httpsessionstore with the wicket secondlevelcache diskpagestore. The only thing you need to serialize is the last pagemap which should only be 50kb in size max. You still get fail over since the last page map is distributed. And I have to read about page maps (I'm really new to wicket as you see :)). AFAIK page maps store a configurable numer of versioned pages for back-button support and versioned pages. One thing you need to be careful with is not referencing anything that got stored on disk from your active pagemap, it will spiral into a stack overflow. https://issues.apache.org/jira/browse/WICKET-2138 Thanx! We would need to setup tests to be sure that this won't happen. Thanx for your input, cheers, Martin -Victor On Mar 8, 2009, at 3:25 PM, Martijn Dashorst wrote: You can check the TIM integration work from the Terracotta guys. That should make things easier, and you could even try it out, perhaps saving a memcached implementation completely :) Martijn On Sun, Mar 8, 2009 at 11:01 PM, Martin Grotzke martin.grot...@javakaffee.de wrote: Hi, we're just thinking about a session store using memcached. I just want to ask if somebody already implemented this (and wants to share) before we implement this. Btw, is there some documentation about ISessionStore semantics, in addition to javadocs? I would be interested in the order in which the different methods would be invoked. Thanx cheers, Martin -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.3.5 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org signature.asc Description: This is a digitally signed message part
PageExpiredException
I get a PageExpiredException periodically and I'm having trouble isolating the cause. I thought that it had something to do with server restarts but I'm not sure about that now. Stack: org.apache.wicket.protocol.http.PageExpiredException: Cannot find the rendered page in session [pagemap=null,componentPath=5:leftList:tableList:contactList:2:nameCell:namePanelLink,versionNumber=0] at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:190) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1233) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) 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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619)
Re: Custom wicket:tags?
Look at AutoLinkResolver and see how to build one - you can basically auto-magically handle any kind of tag any way you want to. -- Jeremy Thomerson http://www.wickettraining.com On Mon, Mar 9, 2009 at 4:58 AM, Wayne Pope waynemailingli...@googlemail.com wrote: Hi, is it possible to develop our own custom wicket tag(s)? Anyone done this, or have any pointers? thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Custom wicket:tags?
thanks guys On Mon, Mar 9, 2009 at 3:52 PM, Jeremy Thomerson jer...@wickettraining.com wrote: Look at AutoLinkResolver and see how to build one - you can basically auto-magically handle any kind of tag any way you want to. -- Jeremy Thomerson http://www.wickettraining.com On Mon, Mar 9, 2009 at 4:58 AM, Wayne Pope waynemailingli...@googlemail.com wrote: Hi, is it possible to develop our own custom wicket tag(s)? Anyone done this, or have any pointers? thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: PageExpiredException
I would double check that all your classes implement Serializable. Ryan Gravener http://ryangravener.com/flex | http://twitter.com/ryangravener On Mon, Mar 9, 2009 at 10:39 AM, Douglas Ferguson doug...@douglasferguson.us wrote: I get a PageExpiredException periodically and I'm having trouble isolating the cause. I thought that it had something to do with server restarts but I'm not sure about that now. Stack: org.apache.wicket.protocol.http.PageExpiredException: Cannot find the rendered page in session [pagemap=null,componentPath=5:leftList:tableList:contactList:2:nameCell:namePanelLink,versionNumber=0] at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:190) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1233) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) 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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619)
RE: PageExpiredException
I know that this error comes up when there is a serialization issue, but I don't think that is my problem. I'm fairly certain that the session is expiring and wicket is dumping the pageMap and therefore the AjaxCall bombs. Douglas -Original Message- From: snoop...@gmail.com [mailto:snoop...@gmail.com] On Behalf Of Ryan Gravener Sent: Monday, March 09, 2009 10:40 AM To: users@wicket.apache.org Subject: Re: PageExpiredException I would double check that all your classes implement Serializable. Ryan Gravener http://ryangravener.com/flex | http://twitter.com/ryangravener On Mon, Mar 9, 2009 at 10:39 AM, Douglas Ferguson doug...@douglasferguson.us wrote: I get a PageExpiredException periodically and I'm having trouble isolating the cause. I thought that it had something to do with server restarts but I'm not sure about that now. Stack: org.apache.wicket.protocol.http.PageExpiredException: Cannot find the rendered page in session [pagemap=null,componentPath=5:leftList:tableList:contactList:2:nameCell:namePanelLink,versionNumber=0] at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:190) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1233) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) 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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619)
Re: Wicket Web Desktop
you should always start with how things are configured out of the box as we take care to select good defaults. when you have a problem you should start customizing. -igor On Mon, Mar 9, 2009 at 12:47 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Hi! How should I configure Wicket to be most suitable for writing Web Desktop -like applications? Do I need to tune the pagemap or should it work out-of-the-box? Here is an example of what I mean: http://qwikioffice.com/desktop-demo/login.html ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Creating a brandable or white label type of application
no first hand experience, but this one should be: http://www.hippocms.org/ -igor On Mon, Mar 9, 2009 at 4:36 AM, Serkan Camurcuoglu serkan.camurcuo...@telenity.com wrote: Hi Igor, Is there another CMS (other than brix) that works well with wicket? Igor Vaynberg wrote: if you are just starting to think about building this you might want to consider using brix, or another cms that works well with wicket. in case of brix: each client would get their own jcr workspaces that you can fill in with a template. they are then free to edit their own workspace creating pages, uploading images, etc. it is trivial in brix to map domains to workspaces functionality for your application is then provided using brix tiles which users are free to move around their html, a tile is basically just a [brix:tile tile:id=foo][/brix:tile] anywhere inside the markup. if this sounds too out there you can still use normal wicket code and allow your customers to edit the markup. you can store the markup itself in the database, so all things like styles and variations still work even though markup is not in the war. see IMarkupStreamProvider and IMarkupCacheKeyProvider - these allow you to override where markup comes from per page or per hierarchy of pages. there are more general things like IResourceStreamProvider that will allow you to override where resources are loaded from on a global scale. -igor On Fri, Mar 6, 2009 at 7:30 PM, Tauren Mills tau...@groovee.com wrote: I'm looking for thoughts on ways to create a site that can be branded by a customer. It should do the following: * run in a single webapp deployed in a WAR file * multiple host names resolve to this same web app domain1.com - myapp.com domain2.com -- myapp.com * based on the host name, the app selects a skin (color scheme, images, maybe even layout changes) * users need to be able to alter colors, images, and layout in real time, so updating the WAR with new skins isn't possible * need to pull alternate CSS content and perhaps HTML markup from a database and images from a location outside of the WAR. This needs to be kind of like blogger.com, where a user can change images and colors, and the application displays their blog that way. But in my case, the content on the page primarily remains the same, just the way it is presented changes. So I'm looking at the localization and style features thinking they might help. But they rely on alternate versions of files to be in the WAR. http://cwiki.apache.org/WICKET/localization-and-skinning-of-applications.html What methods would you recommend to get the current hostname from the request? Whould this be best done in the RequestCycle, the Session, or? What techniques would be useful for using external CSS, images, and HTML? Will getStyle/setStyle even help since the content is external of the WAR? I realize that I shouldn't allow users to modify HTML markup that contains wicket tags. That could break things very quickly. I'm just starting to think about how to do this, so I'm looking for any suggestions to direct me to the right tools for the job. Thanks, Tauren - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: memcached session store
Non-sticky would be rather bad for Wicket performance/programming model. The default of wicket is to redirect after an event to a get request which renders a buffered response. The buffered response is only available on the jvm that handled the original request. If the buffered response is not available, it would require rendering all content again, requiring fetching all entities, etc. from the database. Martijn On Mon, Mar 9, 2009 at 3:03 PM, Martin Grotzke martin.grot...@javakaffee.de wrote: On Mon, 2009-03-09 at 13:07 +0100, Martijn Dashorst wrote: Starts to sound like a form of premature optimization. If you are new to Wicket, why do you want to implement a memcached session store? What is the usecase? We're starting a new project (the relaunch of a big ecommerce system) and want to be able to scale out (just throw in new hardware when traffic grows). Additionally we have the requirement of session failover, both in standard operations and for deployments. We're discussing non-sticky vs. sticky sessions here and for non-sticky sessions memcached (as caching layer in addition to sessions stored in a database) is a good candidate, as you don't replicate the changed session to all other nodes, but only to the primary node for this session id. This is an important aspect for beeing able to scale out. Concerning non-sticky/sticky/memcached/whatever we're not decided yet, still running in evaluation mode :) Cheers, Martin Martijn On Mon, Mar 9, 2009 at 9:56 AM, Martin Grotzke martin.grot...@javakaffee.de wrote: On Sun, 2009-03-08 at 16:56 -0700, Victor Igumnov wrote: I wrote a memcached session manager store for jetty, that our wicket app utilizes. Works well, except I can't open source it, since it was created on the company's dime ;-( Well, most interesting things are not so simple to realize that one can do it in its spare time. But the good point is that we can do such interesting things in our job :) Here is my opinion on memcached as a session store. Memcached will not work well as a wicket session store, due to 1mb size limits. Good to know, I wasn't aware of this restriction (I still need to read more about this for details). So one is forced to handle resources eating much memory (e.g. fileupload) not via session, which is the case even without this 1 mb size limit :) Do you have a case where this limit is important especially for wicket? You honestly don't want to serialize anything past 100kb in size due to performance reasons. Right. That said, It works best if you use memcached as a container httpsessionstore with the wicket secondlevelcache diskpagestore. The only thing you need to serialize is the last pagemap which should only be 50kb in size max. You still get fail over since the last page map is distributed. And I have to read about page maps (I'm really new to wicket as you see :)). AFAIK page maps store a configurable numer of versioned pages for back-button support and versioned pages. One thing you need to be careful with is not referencing anything that got stored on disk from your active pagemap, it will spiral into a stack overflow. https://issues.apache.org/jira/browse/WICKET-2138 Thanx! We would need to setup tests to be sure that this won't happen. Thanx for your input, cheers, Martin -Victor On Mar 8, 2009, at 3:25 PM, Martijn Dashorst wrote: You can check the TIM integration work from the Terracotta guys. That should make things easier, and you could even try it out, perhaps saving a memcached implementation completely :) Martijn On Sun, Mar 8, 2009 at 11:01 PM, Martin Grotzke martin.grot...@javakaffee.de wrote: Hi, we're just thinking about a session store using memcached. I just want to ask if somebody already implemented this (and wants to share) before we implement this. Btw, is there some documentation about ISessionStore semantics, in addition to javadocs? I would be interested in the order in which the different methods would be invoked. Thanx cheers, Martin -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.3.5 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.3.5 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.
Re: Wicket Web Desktop
I was just wondering whether to embark or not. I take your comment as go ahead, it should work out-of-the-box :) If there were too many foreseen pitfalls, I would have more urgent things to embark on. ** Martin 2009/3/9 Igor Vaynberg igor.vaynb...@gmail.com: you should always start with how things are configured out of the box as we take care to select good defaults. when you have a problem you should start customizing. -igor On Mon, Mar 9, 2009 at 12:47 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Hi! How should I configure Wicket to be most suitable for writing Web Desktop -like applications? Do I need to tune the pagemap or should it work out-of-the-box? Here is an example of what I mean: http://qwikioffice.com/desktop-demo/login.html ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: How to configure development mode so can see changes on-the-fly without restart
Thanks Maarten, This worked for me (and I'm still using jetty:run) I'll look into JavaRebel for the class reloading bit Jason Maarten Bosteels wrote: Hello, I am also using IDEA 8.1 but instead of the jetty:run I start the wicket app with the Start [1] class that is part of the quickstart archetype. Not sure it's necessary but in my Application class, I added these lines for automatic picking up changes to the html: getResourceSettings().setResourcePollFrequency(Duration.milliseconds(500)); getResourceSettings().addResourceFolder(src/main/java); And for automatically picking up compiled classes, I am using JavaRebel, haven't tried their latest version though. [1] http://svn.apache.org/repos/asf/wicket/trunk/wicket-quickstart/src/main/java/org/apache/wicket/quickstart/Start.java [2] http://www.zeroturnaround.com/javarebel/ Maarten On Mon, Mar 9, 2009 at 6:45 AM, Jason Rosenberg jbrosenb...@gmail.comwrote: Hello, I'm new to Wicket (using 1.4-rc2, using IDEA IntelliJ 8.1 and maven2 with jetty:run plugin) In development mode, I expected to be able to edit html pages in the IDE, and see changes reflected immediately in the browser upon browser refresh, without having to restart wicket. Also, not sure if it should be possible to recompile java classes and see the changes from those reflected as well, on the fly Anyway, so far I've been unable to get things working that way (I have to stop wicket and restart it, after updating) I generated my project initially using the quickstart maven archetype Essentially, I'm wanting to replicate the JSP model where you edit jsp files and then the server recompiles changes and presents them without a restart... Thanks for any advice... Jason -- View this message in context: http://www.nabble.com/How-to-configure-development-mode-so-can-see-changes-on-the-fly-without-restart-tp22407484p22407484.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/How-to-configure-development-mode-so-can-see-changes-on-the-fly-without-restart-tp22407484p22413711.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: How to configure development mode so can see changes on-the-fly without restart
Yeah, Unfortunately, I tried using the jetty scanInterval setting, but this caused Jetty to reload the wicket app, and since I'm using Guice to inject configuration params, it doesn't like to re-inject params multiple times Jason Stefan Malmesjö wrote: You can read up here http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin on scanIntervalSeconds and reload=automatic. It works for me, but I usually get an exception after 30 or so reloads. But I figure it's better than nothing :) /Stefan Jason Rosenberg wrote: Hello, I'm new to Wicket (using 1.4-rc2, using IDEA IntelliJ 8.1 and maven2 with jetty:run plugin) In development mode, I expected to be able to edit html pages in the IDE, and see changes reflected immediately in the browser upon browser refresh, without having to restart wicket. Also, not sure if it should be possible to recompile java classes and see the changes from those reflected as well, on the fly Anyway, so far I've been unable to get things working that way (I have to stop wicket and restart it, after updating) I generated my project initially using the quickstart maven archetype Essentially, I'm wanting to replicate the JSP model where you edit jsp files and then the server recompiles changes and presents them without a restart... Thanks for any advice... Jason -- Stefan Malmesjö | Applications Developer Phone +46 (0)8-410 064 49 -- Curalia AB | www.curalia.se Hudiksvallsgatan 4, 113 30 Stockholm, Sweden -- - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/How-to-configure-development-mode-so-can-see-changes-on-the-fly-without-restart-tp22407484p22413712.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Tabbed Panel with bookmarkable links
Hello, I've written a component which provides bookmarkable links for a tabbed panel. The link to the currend tab is disabled and the url to the default tab contains no tab information to keep URLs short. It works so far, but since this is my first wicket component I'd like to know your suggestions to improve the code. A possible improvement could be to replace the tab number by its name. So they would look like http://some.url/app/PageX?tab=edit instead of http://some.url/app/PageX?tab=1. But to do this, it would be necessary to generate a map containing the tab names as keys and their indexes as values. This would be done on every request, because the tabbed panel is regenerated on every request. Is there a way to avoid the regeneration of the map? Maybe tab names in URLs are not really important, but I think a user would prefer a self-explanatory words in URLs. I tried to use getPage().getPageParameters() in the constructor, but getPage() didn't work there. It works in the newLink(...) method. Why does it not work in the constructor? Another question is: Is it a good idea to use this function within a component? If it is not a good idea, I have to add a page argument to the constructor instead of using getPage() in the newLink(...) method. May this component be incompatible with other strategies than MixedParamUrlCodingStrategy? If this component is universal I'd like to contribute it to the wicket extensions sub project. package com.helmbold.wicket.components; import java.util.List; import org.apache.wicket.PageParameters; import org.apache.wicket.extensions.markup.html.tabs.ITab; import org.apache.wicket.extensions.markup.html.tabs.TabbedPanel; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.link.BookmarkablePageLink; public class BookmarkableTabbedPanel extends TabbedPanel { private PageParameters pageParameters; private String tabParameterName = tab; private int defaultTabIndex = 0; /** * Using this constructor the following defaults take effect: * ul *litabParameterName = tab/li *lidefaultTabIndex = 0/li * /ul * @param id component id * @param tabs list of ITab objects used to represent tabs * @param pageParameters Container for parameters to a requested page. A * parameter for the selected tab will be inserted. */ public BookmarkableTabbedPanel( String id, ListITab tabs, PageParameters pageParameters) { super(id, tabs); this.pageParameters = pageParameters; if (pageParameters.containsKey(tabParameterName)) { String tab = pageParameters.getString(tabParameterName); setSelectedTab(Integer.parseInt(tab)); } else setSelectedTab(defaultTabIndex); } /** * @param id component id * @param tabs list of ITab objects used to represent tabs * @param defaultTabIndex Set the tab to by displayed by default. The url * for this tab will not contain any tab specific information. If you want to * display the first tab by default, you can use the constructor without this * parameter. * @param pageParameters Container for parameters to a requested page. A * parameter for the selected tab will be inserted. */ public BookmarkableTabbedPanel( String id, ListITab tabs, int defaultTabIndex, String tabParameterName, PageParameters pageParameters) { this(id, tabs, pageParameters); this.defaultTabIndex = defaultTabIndex; setSelectedTab(defaultTabIndex); this.tabParameterName = tabParameterName; } @Override protected WebMarkupContainer newLink(String linkId, int index) { if (index == defaultTabIndex) pageParameters.remove(tabParameterName); else pageParameters.put(tabParameterName, + index); WebMarkupContainer link = new BookmarkablePageLink( linkId, getPage().getClass(), pageParameters); if (index == getSelectedTab()) link.setEnabled(false); return link; } } Regards, Christian -- http://www.groovy-forum.de - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Security in a Spring Wicket layered application
Hm, I had some problems. Are there any examples out there for this? On Mon, Mar 9, 2009 at 9:43 AM, Kent Larsson kent.lars...@gmail.com wrote: Hi, Great answer! :-) I'll try to do that today. Best regards, Kent On Sun, Mar 8, 2009 at 8:38 PM, Erik van Oosten e.vanoos...@grons.nl wrote: Hi Kent, Go with something that enables authorization in the service layer (e.g. Spring Security, jSecurity, ...). Next base your custom wicket authorization on the authentication store of the chosen base technology. Spring Security uses a thread local as authentication store and has a servlet filter to copy the authenticated user to/from the session so that the authenticated user is handily available during a request and properly stored afterwards. Authentication itself can be implemented from Wicket in a custom way (e.g. a username/password form). On success you just store the authenticated user in the authentication store. Regards, Erik. Kent Larsson wrote: Hi, I know there has been some discussion on this. But I've had a hard time deciding how this project should use security anyway. The application in question is layered into three layers for presentation, services and persistence using Wicket, Spring and Hibernate. What we need: - Authentication - Authorization on pages, components - Authorization before being able to run methods in the service layer - Authorization for viewing/editing some domain objects using Access Control List's (ACL's) I have read Wicket in Action and it's custom security solution has some pros: - It's quite easy to understand - We have a lot of freedom in how to do authentication and authorization And some cons: - I don't know how to authorize calls of specific methods, and thus - All security will be in the presentation layer - It won't be usable if we want security on web services later (which we do not need now, so maybe this can be disregarded) It would be nice if we could have a common solution to our security needs that integrates well with Wicket and Spring. I know that the Auth Roles project is out there as well as Swarm. But I don't know which will meet our needs and which will most likely be an option to us when we later move to Wicket 1.4 or a higher version. Best regards, Kent -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Security in a Spring Wicket layered application
I have not used it (yet), but check: http://code.google.com/p/wicket-jsecurity/ On Mar 9, 2009, at 1:46 PM, Kent Larsson wrote: Hm, I had some problems. Are there any examples out there for this? On Mon, Mar 9, 2009 at 9:43 AM, Kent Larsson kent.lars...@gmail.com wrote: Hi, Great answer! :-) I'll try to do that today. Best regards, Kent On Sun, Mar 8, 2009 at 8:38 PM, Erik van Oosten e.vanoos...@grons.nl wrote: Hi Kent, Go with something that enables authorization in the service layer (e.g. Spring Security, jSecurity, ...). Next base your custom wicket authorization on the authentication store of the chosen base technology. Spring Security uses a thread local as authentication store and has a servlet filter to copy the authenticated user to/from the session so that the authenticated user is handily available during a request and properly stored afterwards. Authentication itself can be implemented from Wicket in a custom way (e.g. a username/password form). On success you just store the authenticated user in the authentication store. Regards, Erik. Kent Larsson wrote: Hi, I know there has been some discussion on this. But I've had a hard time deciding how this project should use security anyway. The application in question is layered into three layers for presentation, services and persistence using Wicket, Spring and Hibernate. What we need: - Authentication - Authorization on pages, components - Authorization before being able to run methods in the service layer - Authorization for viewing/editing some domain objects using Access Control List's (ACL's) I have read Wicket in Action and it's custom security solution has some pros: - It's quite easy to understand - We have a lot of freedom in how to do authentication and authorization And some cons: - I don't know how to authorize calls of specific methods, and thus - All security will be in the presentation layer - It won't be usable if we want security on web services later (which we do not need now, so maybe this can be disregarded) It would be nice if we could have a common solution to our security needs that integrates well with Wicket and Spring. I know that the Auth Roles project is out there as well as Swarm. But I don't know which will meet our needs and which will most likely be an option to us when we later move to Wicket 1.4 or a higher version. Best regards, Kent -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Cookie retrieval issue.
Hi All I am experiencing a similar problem, as this jira issue: https://issues.apache.org/jira/browse/WICKET-2011 I am trying to make auto login work. When you login and check the remember box then a cookie is persisted. Whenever i logout the cookie is removed by calling the clear method on the request. The problem is that the cookie is not cleared on logout when having a context path. I am still seing the cookie value but that should have been cleared. Similar the cookie should not die when the cookie die, but somehow the cookie age is set to max age -1 when i open a new session. Hopefully someone can help me. /Murat
Re: PageExpiredException
Can you be certain that the jsessionid is actually present in the request (via cookie or url)? I've seen the session dropped by some mobile browsers in some instances. You can add to your apache logs config to print it out, and then add some debug in your pageexpired page to help reference it back to the access log... On Mon, Mar 9, 2009 at 11:45 AM, Douglas Ferguson doug...@douglasferguson.us wrote: I know that this error comes up when there is a serialization issue, but I don't think that is my problem. I'm fairly certain that the session is expiring and wicket is dumping the pageMap and therefore the AjaxCall bombs. Douglas -Original Message- From: snoop...@gmail.com [mailto:snoop...@gmail.com] On Behalf Of Ryan Gravener Sent: Monday, March 09, 2009 10:40 AM To: users@wicket.apache.org Subject: Re: PageExpiredException I would double check that all your classes implement Serializable. Ryan Gravener http://ryangravener.com/flex | http://twitter.com/ryangravener On Mon, Mar 9, 2009 at 10:39 AM, Douglas Ferguson doug...@douglasferguson.us wrote: I get a PageExpiredException periodically and I'm having trouble isolating the cause. I thought that it had something to do with server restarts but I'm not sure about that now. Stack: org.apache.wicket.protocol.http.PageExpiredException: Cannot find the rendered page in session [pagemap=null,componentPath=5:leftList:tableList:contactList:2:nameCell:namePanelLink,versionNumber=0] at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:190) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1233) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) 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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619) -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
RE: PageExpiredException
I got to the bottom of this. Another developer on the project had added a RequestCycleProcessor And so my code wasn't executing. So now I can detected the PageExpiredException and deal with it gracefully. But I'm back to my original issue, which is that if the session is expired, then the page is trashed and all Ajax calls don't work anymore. Which normally isn't an issue, except this application has a persistent login where users are suppose to stay logged in. I added a timer to keep the session alive, but if the machine is put to sleep then the javascript will stop executing and then the session will die. Then if they click on a link it fails. Douglas -Original Message- From: Jeremy Levy [mailto:jel...@gmail.com] Sent: Monday, March 09, 2009 3:53 PM To: users@wicket.apache.org Subject: Re: PageExpiredException Can you be certain that the jsessionid is actually present in the request (via cookie or url)? I've seen the session dropped by some mobile browsers in some instances. You can add to your apache logs config to print it out, and then add some debug in your pageexpired page to help reference it back to the access log... On Mon, Mar 9, 2009 at 11:45 AM, Douglas Ferguson doug...@douglasferguson.us wrote: I know that this error comes up when there is a serialization issue, but I don't think that is my problem. I'm fairly certain that the session is expiring and wicket is dumping the pageMap and therefore the AjaxCall bombs. Douglas -Original Message- From: snoop...@gmail.com [mailto:snoop...@gmail.com] On Behalf Of Ryan Gravener Sent: Monday, March 09, 2009 10:40 AM To: users@wicket.apache.org Subject: Re: PageExpiredException I would double check that all your classes implement Serializable. Ryan Gravener http://ryangravener.com/flex | http://twitter.com/ryangravener On Mon, Mar 9, 2009 at 10:39 AM, Douglas Ferguson doug...@douglasferguson.us wrote: I get a PageExpiredException periodically and I'm having trouble isolating the cause. I thought that it had something to do with server restarts but I'm not sure about that now. Stack: org.apache.wicket.protocol.http.PageExpiredException: Cannot find the rendered page in session [pagemap=null,componentPath=5:leftList:tableList:contactList:2:nameCell:namePanelLink,versionNumber=0] at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:190) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1233) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) 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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619) -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
5 Days of Wicket
Hey guys, Just wanted to let you guys know, that here at Mystic we're doing a series of blog posts about Wicket, the basics on setting everything up, tests, backend, components, etc. If you're interested, would definitely love your comments (on the blog and mailing list of course). We're definitely in love with how Wicket performs for us in our development and strive to use it in our projects when it makes sense. I'll also be giving a talk about Wicket at TSSJS/LV in a week (gah!), so stop by and say hello: http://javasymposium.techtarget.com/html/frameworks.html#ALombardiWicket Here's the intro article, showing what each day will cover: http://www.mysticcoders.com/blog/2009/03/09/5-days-of-wicket/ and here's day 1 of 5 (duh!): http://www.mysticcoders.com/blog/2009/03/09/5-days-of-wicket-day-1/ and if you have digg / reddit, and wouldn't mind upvoting it: reddit info: http://bit.ly/3DS2F http://bit.ly/CFzVI digg info: http://bit.ly/PpLD http://bit.ly/HM0kl Cheers! To our success! Mystic Coders, LLC | Code Magic | www.mysticcoders.com ANDREW LOMBARDI | and...@mysticcoders.com 2321 E 4th St. Ste C-128, Santa Ana CA 92705 ofc: 949-528-6480 fax: 714-782-6024 cell: 714-697-8046 linked-in: http://www.linkedin.com/in/andrewlombardi Eco-Tip: Printing e-mails is usually a waste. This message is for the named person's use only. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient.
Re: Getting an error when trying to install via Maven
My problem was that I used the wrong version of wicket-spring annot: 1.2.rc instead of 1.3.5, for the wicket-1.4-rc1 HHB wrote: Hey, I created a Wicket skeleton project via Maven. When trying to install the project, I got this error: java.lang.ClassCastException: wicket.Initializer cannot be cast to org.apache.wicket.IInitializer at org.apache.wicket.Application.addInitializer(Application.java:755) at org.apache.wicket.Application.load(Application.java:829) at org.apache.wicket.Application.initializeComponents(Application.java:608) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:575) at org.apache.wicket.protocol.http.MockWebApplication.init(MockWebApplication.java:157) at org.apache.wicket.util.tester.BaseWicketTester.init(BaseWicketTester.java:204) at org.apache.wicket.util.tester.WicketTester.init(WicketTester.java:308) at org.apache.wicket.util.tester.WicketTester.init(WicketTester.java:291) at com.eldorado.TestHomePage.setUp(TestHomePage.java:15) at junit.framework.TestCase.runBare(TestCase.java:125) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:62) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:155) at org.apache.maven.surefire.Surefire.run(Surefire.java:177) at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) ... Removed 18 stack frames Please note, that I didn't code anything at all, I just tried to test the basic skeleton. Is this error intentional or something is going wrong? Thanks. -- View this message in context: http://www.nabble.com/Getting-an-error-when-trying-to-install-via-Maven-tp21651202p22424928.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Modal window not appearing in IE
first sorry for my poor english. it is really strange problem. same modelwindow'panel used in two place, one works well for IE, but another can not properly show modelwindow. after compare each other, i found that only html template file is diffirent. here is two html file, the one can not works: wicket:extend div style=color: #AA; wicket:id=wmcUserAddress 您现在可以标注或更改标注 您当前所在的地标 。地标标注后,每次访问时地图可快速定位到最后标注的地标位置。 div style=display: none; wicket:id=mwEditUserAddress/div /div ... /wicket:extend another can works well. wicket:panel table tbodytr td style=vertical-align: top; width: 25%; table class=lists tbody ... tr td class=label*地址:/td td div wicket:id=wmcGroupAddress nbsp; # 编辑地址 div style=font-size: 90%; color: rgb(136, 136, 136); (纬度:29.885 经度:121.541) /div div style=display: none; wicket:id=mwEditGroupAddress /div /div /td /tr /wicket:panle i do not know how to resolve the problem, Could someone give me some suggestion about the problem. NHSoft.YHW wrote: We had a similar problem about modelWindow, Firefox/Opera/Google browser all worked fine, but IE did not show modelwindow. by wicket debug, I found that the server side has send ajax modelwindow CDATA data, but IE do not show anything, the detail debug information is in attachment. http://www.nabble.com/file/p22388985/wicket-debug-message-in-ie.txt wicket-debug-message-in-ie.txt i have try to wicket-1.3.x-20090303 night build, ModelWindow also did not show in IE. my site url : http://www.517wm.com/app/share when click link( 您当前所在的地标), the modalwindow did not show but firefox/Google Chrome works well. can somebody help me? ecornett wrote: Has anyone else had trouble with modal windows appearing in Firefox but not IE and if so, what is a good solution? I can go into more details if necessary. -- View this message in context: http://www.nabble.com/Modal-window-not-appearing-in-IE-tp21018938p22426116.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Tabbed Panel with bookmarkable links
Cool... I just did exactly the same thing! Since others seem to need it, this might be worth refining over on wicket-stuff. I did my version slightly different in that I used the existing one as a basis and created a PageTabbedPanel IPageTab and AbstractPageTab. The main difference is in the newTabContainer() method (and of course the support in the IPageTab interface). I actually have two levels of tabs however in this current app and I have not satisfactorily resolved the second layer of tabs (obviously if I use the same thing on the second level, the tabs for the first are going to vanish). I was thinking that for multi layer page based tabs you could nest them. Anyway, let me know if your interested, or if any other Wicket guru's are interested... - Brill On 9-Mar-09, at 1:32 PM, Christian Helmbold wrote: Hello, I've written a component which provides bookmarkable links for a tabbed panel. The link to the currend tab is disabled and the url to the default tab contains no tab information to keep URLs short. It works so far, but since this is my first wicket component I'd like to know your suggestions to improve the code. A possible improvement could be to replace the tab number by its name. So they would look like http://some.url/app/PageX?tab=edit instead of http://some.url/app/PageX?tab=1. But to do this, it would be necessary to generate a map containing the tab names as keys and their indexes as values. This would be done on every request, because the tabbed panel is regenerated on every request. Is there a way to avoid the regeneration of the map? Maybe tab names in URLs are not really important, but I think a user would prefer a self-explanatory words in URLs. I tried to use getPage().getPageParameters() in the constructor, but getPage() didn't work there. It works in the newLink(...) method. Why does it not work in the constructor? Another question is: Is it a good idea to use this function within a component? If it is not a good idea, I have to add a page argument to the constructor instead of using getPage() in the newLink(...) method. May this component be incompatible with other strategies than MixedParamUrlCodingStrategy? If this component is universal I'd like to contribute it to the wicket extensions sub project. package com.helmbold.wicket.components; import java.util.List; import org.apache.wicket.PageParameters; import org.apache.wicket.extensions.markup.html.tabs.ITab; import org.apache.wicket.extensions.markup.html.tabs.TabbedPanel; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.link.BookmarkablePageLink; public class BookmarkableTabbedPanel extends TabbedPanel { private PageParameters pageParameters; private String tabParameterName = tab; private int defaultTabIndex = 0; /** * Using this constructor the following defaults take effect: * ul *litabParameterName = tab/li *lidefaultTabIndex = 0/li * /ul * @param id component id * @param tabs list of ITab objects used to represent tabs * @param pageParameters Container for parameters to a requested page. A * parameter for the selected tab will be inserted. */ public BookmarkableTabbedPanel( String id, ListITab tabs, PageParameters pageParameters) { super(id, tabs); this.pageParameters = pageParameters; if (pageParameters.containsKey(tabParameterName)) { String tab = pageParameters.getString(tabParameterName); setSelectedTab(Integer.parseInt(tab)); } else setSelectedTab(defaultTabIndex); } /** * @param id component id * @param tabs list of ITab objects used to represent tabs * @param defaultTabIndex Set the tab to by displayed by default. The url * for this tab will not contain any tab specific information. If you want to * display the first tab by default, you can use the constructor without this * parameter. * @param pageParameters Container for parameters to a requested page. A * parameter for the selected tab will be inserted. */ public BookmarkableTabbedPanel( String id, ListITab tabs, int defaultTabIndex, String tabParameterName, PageParameters pageParameters) { this(id, tabs, pageParameters); this.defaultTabIndex = defaultTabIndex; setSelectedTab(defaultTabIndex); this.tabParameterName = tabParameterName; } @Override protected WebMarkupContainer newLink(String linkId, int index) { if (index == defaultTabIndex) pageParameters.remove(tabParameterName); else pageParameters.put(tabParameterName, + index); WebMarkupContainer link = new BookmarkablePageLink( linkId, getPage().getClass(), pageParameters); if (index == getSelectedTab()) link.setEnabled(false);
Future of WicketObjectStreamFactory
Hi, Just wondering about WicketObjectStreamFactory. For a reason that I have not yet been able to determine, I am having deserialization problems when using the default serialization. However, if I set this: setObjectStreamFactory(new WicketObjectStreamFactory()); then my problems go away. I have seen on the list that people have the opposite problem, so I'm a bit baffled... Anyway, is it safe to continue using WicketOSF? (Currently using Wicket 1.3.4) Thanks! =dml - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
log4j
Hi, How to integrate log4j with wicket. Regards, Srinivasa Raju CH. Get your world in your inbox! Mail, widgets, documents, spreadsheets, organizer and much more with your Sifymail WIYI id! Log on to http://www.sify.com ** DISCLAIMER ** Information contained and transmitted by this E-MAIL is proprietary to Sify Limited and is intended for use only by the individual or entity to which it is addressed, and may contain information that is privileged, confidential or exempt from disclosure under applicable law. If this is a forwarded message, the content of this E-MAIL may not have been sent with the authority of the Company. If you are not the intended recipient, an agent of the intended recipient or a person responsible for delivering the information to the named recipient, you are notified that any use, distribution, transmission, printing, copying or dissemination of this information in any way or in any manner is strictly prohibited. If you have received this communication in error, please delete this mail notify us immediately at ad...@sifycorp.com
Re: log4j
slf4j is used as a layer and log4j by default is contained in pom.xml if you use Wicket quickstart. You can add it manualy: dependency groupIdorg.slf4j/groupId artifactIdslf4j-log4j12/artifactId version1.4.2/version /dependency dependency groupIdlog4j/groupId artifactIdlog4j/artifactId version1.2.14/version /dependency slf4j usage: import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class SomeClass { private static final Logger logger = LoggerFactory.getLogger(SomeClass.class); ... logger.debug(One value: {}, var0); logger.debug(Two values: {}, {}, var0, var1); logger.debug(Three values: {}, {}, {}, new Object[] {var0, var1, var2}); } On Tue, Mar 10, 2009 at 12:25 PM, srinivas.r...@sifycorp.com wrote: Hi, How to integrate log4j with wicket. Regards, Srinivasa Raju CH. Get your world in your inbox! Mail, widgets, documents, spreadsheets, organizer and much more with your Sifymail WIYI id! Log on to http://www.sify.com ** DISCLAIMER ** Information contained and transmitted by this E-MAIL is proprietary to Sify Limited and is intended for use only by the individual or entity to which it is addressed, and may contain information that is privileged, confidential or exempt from disclosure under applicable law. If this is a forwarded message, the content of this E-MAIL may not have been sent with the authority of the Company. If you are not the intended recipient, an agent of the intended recipient or a person responsible for delivering the information to the named recipient, you are notified that any use, distribution, transmission, printing, copying or dissemination of this information in any way or in any manner is strictly prohibited. If you have received this communication in error, please delete this mail notify us immediately at ad...@sifycorp.com
Re: memcached session store
Even if you have the memcached store in place, wicket still requires session affinity. Wicket buffers redirect responses locally so the client needs to go to the same server twice or the client will receive an expired session. Wicket is a stateful framework, session affinity is a must. On Mar 9, 2009, at 7:03 AM, Martin Grotzke wrote: On Mon, 2009-03-09 at 13:07 +0100, Martijn Dashorst wrote: Starts to sound like a form of premature optimization. If you are new to Wicket, why do you want to implement a memcached session store? What is the usecase? We're starting a new project (the relaunch of a big ecommerce system) and want to be able to scale out (just throw in new hardware when traffic grows). Additionally we have the requirement of session failover, both in standard operations and for deployments. We're discussing non-sticky vs. sticky sessions here and for non- sticky sessions memcached (as caching layer in addition to sessions stored in a database) is a good candidate, as you don't replicate the changed session to all other nodes, but only to the primary node for this session id. This is an important aspect for beeing able to scale out. Concerning non-sticky/sticky/memcached/whatever we're not decided yet, still running in evaluation mode :) Cheers, Martin Martijn On Mon, Mar 9, 2009 at 9:56 AM, Martin Grotzke martin.grot...@javakaffee.de wrote: On Sun, 2009-03-08 at 16:56 -0700, Victor Igumnov wrote: I wrote a memcached session manager store for jetty, that our wicket app utilizes. Works well, except I can't open source it, since it was created on the company's dime ;-( Well, most interesting things are not so simple to realize that one can do it in its spare time. But the good point is that we can do such interesting things in our job :) Here is my opinion on memcached as a session store. Memcached will not work well as a wicket session store, due to 1mb size limits. Good to know, I wasn't aware of this restriction (I still need to read more about this for details). So one is forced to handle resources eating much memory (e.g. fileupload) not via session, which is the case even without this 1 mb size limit :) Do you have a case where this limit is important especially for wicket? You honestly don't want to serialize anything past 100kb in size due to performance reasons. Right. That said, It works best if you use memcached as a container httpsessionstore with the wicket secondlevelcache diskpagestore. The only thing you need to serialize is the last pagemap which should only be 50kb in size max. You still get fail over since the last page map is distributed. And I have to read about page maps (I'm really new to wicket as you see :)). AFAIK page maps store a configurable numer of versioned pages for back-button support and versioned pages. One thing you need to be careful with is not referencing anything that got stored on disk from your active pagemap, it will spiral into a stack overflow. https://issues.apache.org/jira/browse/WICKET-2138 Thanx! We would need to setup tests to be sure that this won't happen. Thanx for your input, cheers, Martin -Victor On Mar 8, 2009, at 3:25 PM, Martijn Dashorst wrote: You can check the TIM integration work from the Terracotta guys. That should make things easier, and you could even try it out, perhaps saving a memcached implementation completely :) Martijn On Sun, Mar 8, 2009 at 11:01 PM, Martin Grotzke martin.grot...@javakaffee.de wrote: Hi, we're just thinking about a session store using memcached. I just want to ask if somebody already implemented this (and wants to share) before we implement this. Btw, is there some documentation about ISessionStore semantics, in addition to javadocs? I would be interested in the order in which the different methods would be invoked. Thanx cheers, Martin -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.3.5 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org