Re: More on wicket url stratergy
No, not true. You /can/ do setResponsePage(new ItemListPage(...)), /and/ make it bookmarkable. The trick is to call setRedirect(true) together with the call to setResponsePage. Furthermore you need to mount ItemListPage in your application#init method (see method Application#mount()). Regards, Erik. David Leangen wrote: On Tue, 2008-07-01 at 02:50 -0700, Mathias P.W Nilsson wrote: In my itemList class I set the response page like this. setResponsePage( new ItemPage( parameters, ItemListPage.this ) ); Now the ItemListPage.this is for back travelling and to get the background from the list class. Is it possible to make the itemPage bookmarkable? Sure, but you can no longer construct the object yourself. You'll need to do this instead: setResponsePage( ItemListPage.class, parameters ); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [PROPOSAL] Use path in URL when target is instance of BookmarkablePageRequestTarget
Indeed. I would very welcome this capability. Regards, Erik. David Leangen wrote: once again, i dont see what this offers over the hybrid strategy. Maybe you can correct me if I'm wrong here... The hybrid stategy is only applied when the target is an IBookmarkablePageRequestTarget. So, for normal bookmarkable pages, there is no problem, like you say. The issue only arises when a page is mounted, but is used in a stateful way (for example it has a form or something). In that case, the target becomes an IListenerInterfaceRequestTarget. When this is the case, the hybrid strategy is not used. This is the case that the patch is intended for. -dml- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: More on wicket url stratergy
Yes, I am pretty sure I did this about a month ago. The funny thing is that we did it this way because this way flash (component error messages) are preserved. We wanted to show a succes message on the page we forwarded to. ... looking up the code now... Yep, correct. Though we did not call setRedirect(true) as the code runs from a Form#onSubmit callback which always redirects anyway. Regards, Erik. Igor Vaynberg wrote: have you tried this eric? setting a page instance does not produce a bookmarkable url, you would have to setresponsepage(itemlistpage.class) -igor On Wed, Jul 2, 2008 at 6:41 AM, Erik van Oosten [EMAIL PROTECTED] wrote: No, not true. You /can/ do setResponsePage(new ItemListPage(...)), /and/ make it bookmarkable. The trick is to call setRedirect(true) together with the call to setResponsePage. Furthermore you need to mount ItemListPage in your application#init method (see method Application#mount()). Regards, Erik. David Leangen wrote: On Tue, 2008-07-01 at 02:50 -0700, Mathias P.W Nilsson wrote: In my itemList class I set the response page like this. setResponsePage( new ItemPage( parameters, ItemListPage.this ) ); Now the ItemListPage.this is for back travelling and to get the background from the list class. Is it possible to make the itemPage bookmarkable? Sure, but you can no longer construct the object yourself. You'll need to do this instead: setResponsePage( ItemListPage.class, parameters ); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Exception for MixedParamUrlCodingStrategy
I've no idea how this could work, or why it doesn't now. Could you not just include different panels on one page, instead of forwarding to different pages? Regards, Erik. Mathias P.W Nilsson schreef: https://localhost/hairless-web/brand/71/ this is the generated URL. The BrandInterceptor send request to ItemList. Maybe this isn't the way to do this? public BrandInterceptor( PageParameters parameters ){ filters = new LinkedListItemFilter(); Long brandId = parameters.getLong( id ); if ( brandId != null ) { Brand brand = getBrandDao().getBrand( brandId ); filters.add( new BrandFilter( brand )); setResponsePage( new ItemListPage( filters ) ); } else{ setResponsePage( new Base() ); } } -- -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Exception for MixedParamUrlCodingStrategy
Hello Mathias, Well, that looks quite alright to me. Could you post the generated URL? Do you have more mounts to the same page class? Regards, Erik. Mathias P.W Nilsson wrote: Hi! I'm using MixedParamUrlCodingStrategy and I must miss something in how this is set up properly I have mounted the page in init in my application class mount(new MixedParamUrlCodingStrategy(brand, BrandInterceptor.class,new String[]{id})); When building up the bookmarkable page link I do this in my Root page Brand brand = (Brand) item.getModelObject(); PageParameters params = new PageParameters(); params.add( id, brand.getId().toString() ); Link brandLink = new BookmarkablePageLink( brandLink ,BrandInterceptor.class, params ); But it always ends with this error. [RequestCycle] Too many path parts, please provide sufficient number of path parameter names java.lang.IllegalArgumentException: Too many path parts, please provide sufficient number of path parameter names at org.apache.wicket.request.target.coding.MixedParamUrlCodingStrategy.decodeParameters(MixedParamUrlCodingStrategy.java:178) Any pointers on how to solve this? -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Home page accepting IndexedParamUrlCodingStrategy
It is not possible. Unfortunately. You can write your own IRequestCycleProcessor. See WebApplication#newRequestCycleProcessor(). Get hints at: http://www.nabble.com/How-to-catch-unknown-(not-mounted)-URLs--td14949092.html#a14956131 Regards, Erik. Tauren Mills wrote: Does anyone have suggestions on how to do this? Or is it just not possible to use IndexedParamUrlCodingStrategy without a mount point (from the root of the site)? Thanks! Tauren On Thu, Jun 26, 2008 at 3:53 PM, Tauren Mills [EMAIL PROTECTED] wrote: Thanks for the suggestion, but I'm unclear on how to mount the home page on /. I guess that is the main problem I'm having. Before adding PageParameters to the page, I used this: mountBookmarkablePage(/home, HomePage.class); With that, going to localhost:8080/ would redirect to localhost:8080/home. Then I changed it to the following: mount(new IndexedParamUrlCodingStrategy(/home, HomePage.class)); //mountBookmarkablePage(/home, HomePage.class); Everything still worked the same (going to site root would redirect to /home), but it would also accept parameters. Functions perfectly, but I need to get rid of the /home mount point. So I tried this: mount(new IndexedParamUrlCodingStrategy(/, HomePage.class)); //mount(new IndexedParamUrlCodingStrategy(/home, HomePage.class)); //mountBookmarkablePage(/home, HomePage.class); Doing so gives a 404 error when I go to the root of the site. So how do I mount the home page on /? I tried both and /. MyWebApplication: public Class? extends WebPage getHomePage() { return HomePage.class; } protected void init() { super.init(); mount(new IndexedParamUrlCodingStrategy(/, HomePage.class)); //mount(new IndexedParamUrlCodingStrategy(/home, HomePage.class)); //mountBookmarkablePage(/home, HomePage.class); } Jetty launcher code (for testing): WebAppContext context = new WebAppContext(); context.setServer(server); context.setContextPath(/); context.setWar(src/webapp); web.xml: servlet servlet-namewicketsite/servlet-name servlet-classorg.apache.wicket.protocol.http.WicketServlet/servlet-class init-param param-nameapplicationFactoryClassName/param-name param-valueorg.apache.wicket.spring.SpringWebApplicationFactory/param-value /init-param load-on-startup1/load-on-startup /servlet servlet-mapping servlet-namewicketsite/servlet-name url-pattern/*/url-pattern /servlet-mapping Thanks for the help! Tauren On Thu, Jun 26, 2008 at 3:38 PM, David Leangen [EMAIL PROTECTED] wrote: IIUC, the home page is automatically mounted on the path where you wicket app is located. So, if you put your wicket on /home, then the home page will be mounted on /home. Guess you'll need to put your home page on / to make this work. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Tauren Mills Sent: 27 June 2008 07:30 To: users@wicket.apache.org Subject: Home page accepting IndexedParamUrlCodingStrategy How do I go about making my HomePage accept index parameters? I want a home page that will accept URLs like: localhost:8080/us/ca/sacramento Instead of having a mount point first, for example /home: localhost:8080/home/us/ca/sacramento I've tried this in my app: getHomePage() { return HomePage.class; } init() { mount(new IndexedParamUrlCodingStrategy(/, HomePage.class)); } This returns in a 404 error for the home page (localhost:8080/). I also tried with instead of / as the mount point, but the same problem. If I use this with the /home mount point, everything works perfectly: mount(new IndexedParamUrlCodingStrategy(/home, HomePage.class)); FYI... I get the PageParameters in HomePage like this (which is working fine); setCountry(pageParams.getString(0,null)); setState(pageParams.getString(1,null)); setCity(pageParams.getString(2,null)); Any suggestions? Thanks, Tauren - 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] - 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]
Re: Home page accepting IndexedParamUrlCodingStrategy
There are 2 problems in this code: 1. mount specifies that the mount point is given without a leading '/' (even though it tolerates it) 2. you can not call mount with , it will throw an exception (and therefore not with / either) Actually, it would be nice if you could do the latter. As long as the target class is the same as the home page class, I should perhaps not be prohibited. I'd say: open a jira issue and attach a patch :) Regards, Erik. Peter Ertl wrote: pseudo code example: mount(/, ... indexed HomePage.class) mount(/foo, FooPage.class) What should happen with this path: url = /foo - call HomePage with indexed parameter 'foo' ? - call page FooPage.class ? not having indexed urls for '/' makes sense for me Am 27.06.2008 um 19:59 schrieb Tauren Mills: Does anyone have suggestions on how to do this? Or is it just not possible to use IndexedParamUrlCodingStrategy without a mount point (from the root of the site)? Thanks! Tauren On Thu, Jun 26, 2008 at 3:53 PM, Tauren Mills [EMAIL PROTECTED] wrote: Thanks for the suggestion, but I'm unclear on how to mount the home page on /. I guess that is the main problem I'm having. Before adding PageParameters to the page, I used this: mountBookmarkablePage(/home, HomePage.class); With that, going to localhost:8080/ would redirect to localhost:8080/home. Then I changed it to the following: mount(new IndexedParamUrlCodingStrategy(/home, HomePage.class)); //mountBookmarkablePage(/home, HomePage.class); Everything still worked the same (going to site root would redirect to /home), but it would also accept parameters. Functions perfectly, but I need to get rid of the /home mount point. So I tried this: mount(new IndexedParamUrlCodingStrategy(/, HomePage.class)); //mount(new IndexedParamUrlCodingStrategy(/home, HomePage.class)); //mountBookmarkablePage(/home, HomePage.class); Doing so gives a 404 error when I go to the root of the site. So how do I mount the home page on /? I tried both and /. MyWebApplication: public Class? extends WebPage getHomePage() { return HomePage.class; } protected void init() { super.init(); mount(new IndexedParamUrlCodingStrategy(/, HomePage.class)); //mount(new IndexedParamUrlCodingStrategy(/home, HomePage.class)); //mountBookmarkablePage(/home, HomePage.class); } Jetty launcher code (for testing): WebAppContext context = new WebAppContext(); context.setServer(server); context.setContextPath(/); context.setWar(src/webapp); web.xml: servlet servlet-namewicketsite/servlet-name servlet-classorg.apache.wicket.protocol.http.WicketServlet/servlet-class init-param param-nameapplicationFactoryClassName/param-name param-valueorg.apache.wicket.spring.SpringWebApplicationFactory/param-value /init-param load-on-startup1/load-on-startup /servlet servlet-mapping servlet-namewicketsite/servlet-name url-pattern/*/url-pattern /servlet-mapping Thanks for the help! Tauren On Thu, Jun 26, 2008 at 3:38 PM, David Leangen [EMAIL PROTECTED] wrote: IIUC, the home page is automatically mounted on the path where you wicket app is located. So, if you put your wicket on /home, then the home page will be mounted on /home. Guess you'll need to put your home page on / to make this work. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: PackagedTextTemplate does not load resource from application resource stream locator? - BUG??
Hi Ritz, You'd better just open a Jira issue if you want a dev to look at this. Regards, Erik. Ritz123 wrote: I did some investigation and seems like there is a bug. PackagedTextTemplate @line:92 is creating a new ResourceStreamLocator() instead of using the one from the application. This is causing resources to be not found if you have custom resource stream loader registered with the application. line 92: private static final IResourceStreamLocator streamLocator = new ResourceStreamLocator(); Can Wicket dev confirm? Ritz123 wrote: Hi, I am trying to use PackagedTextTemplate to load the template, but seems like its not looking for the resource in the application registered resource stream locator. I get resource not found exception. HeaderContributor.forCss and forJavascript has worked fine and has found resource in the folders for application stream location without any issues. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to send response without HTML code
Hi Milan, I think you should throw the exception AbortWithHttpStatusException. If you change your mind and want to set the HTTP status code, but provide content as well, then call something like ((WebResponse)getResponse).getHttpServletResponse().setStatus(HttpServletResponse.SC_...) in the constructor of your page. Regards, Erik. Milan Křápek schreef: Thanks for response but this is not th exact thing I want. I need to know the name of wicket component, where can I get access to request from user and fill the response for him. All I need is some parent class of WebPage. But this object must return just http code without any HTML. (I was not able to send response from WebPage without having any addititonal HTML file ). - 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]
Re: How to access properties files outside of Wicket components?
Look carefully. Your code sample does: Thread.currentThread().getContextClassLoader().getResourceAsStream(MyComponent.properties) Which loads it from the default package. I think you should do: MyComponent.class.getResourceAsStream(MyComponent.properties) Which loads it from the package MyComponent is in. Regards, Erik. Michael Mehrle wrote: That's what I have been doing, mate ;-) I'm looking for a solution that allows me to load the properties file out of the same folder as my class or WEB-INF. Not working right now and I pretty much tried all approaches I could find online. Wicket does not offer a way to access resource bundles outside of Wicket components? Michael -Original Message- From: Erik van Oosten [mailto:[EMAIL PROTECTED] Sent: Sunday, June 01, 2008 10:32 PM To: users@wicket.apache.org Subject: Re: How to access properties files outside of Wicket components? You should the other getResource*() methods, those on Class: http://java.sun.com/javase/6/docs/api/java/lang/Class.html#getResourceAs Stream(java.lang.String) Regards, Erik. Michael Mehrle wrote: Right now I had to resort to the solution below, but I would very much like to know the standard way of doing this, as this required me to place my properties file into the src/main/resources folder: static { try { properties.load(Thread.currentThread().getContextClassLoader().getResour ceAsStream( MyComponent.properties)); } catch (Exception e) { LOG.error(Unable to load file MyComponent.properties' - error: {}, e.getMessage(), e); } } public static String getProperty(String key) { return properties.getProperty(key); } -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [ANNOUNCE] Apache Wicket 1.4 Milestone 2 is released
For those that use SpringBean, starting from m2 you also need the jar wicket-ioc. Regards, Erik. Frank Bille wrote: Help the Apache Wicket team to determine the future of your Wicket based web application development. We have released our second milestone release of our Java 5 based web framework and are anxious to receive feedback on our use of generics. Download Wicket 1.4-m2 now and help us decide whether to tone down, remove or increase the application of Java 5 generics to our API. We have started the discussion on the user mailing list: http://www.nabble.com/users%2C-please-give-us-your-opinion%3A-what-is-your-take-on-generics-with-Wicket-td17589984.html Eager people click here to download the distribution, others can read further: http://www.apache.org/dyn/closer.cgi/wicket/1.4-m2 We thank you for your patience and support. The Wicket Team === Apache Wicket === Apache Wicket is a component oriented Java web application framework. With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML. You can find out more about Apache Wicket on our website: http://wicket.apache.org === This release === The Apache Wicket team is proud to announce the availability of the first milestone release of our first java 1.5 Wicket version: Apache Wicket 1.4-m2. This is the first release with java 1.5 as a minimum. Not everything has been converted to java 1.5 yet but we are getting there. === Migrating from 1.3 === If you are coming from Wicket 1.3, you really want to read our migration guide, found on the wiki: http://cwiki.apache.org/WICKET/migrate-14.html === Downloading the release === You can download the release from the official Apache mirror system, and you can find it through the following link: http://www.apache.org/dyn/closer.cgi/wicket/1.4-m2/ For the Maven and Ivy fans out there: update your pom's to the following, and everything will be downloaded automatically: dependency groupIdorg.apache.wicket/groupId artifactIdwicket/artifactId version1.4-m2/version /dependency Substitute the artifact ID with the projects of your liking to get the other projects. Please note that we don't prescribe a Logging implementation for SLF4J. You need to specify yourself which one you prefer. Read more about SLF4J here: http://slf4j.org === Validating the release === The release has been signed by Frank Bille, your release manager for today. The public key can be found in the KEYS file in the download area. Download the KEYS file only from the Apache website. http://www.apache.org/dist/wicket/1.4-m2/KEYS Instructions on how to validate the release can be found here: http://www.apache.org/dev/release-signing.html#check-integrity === Reporting bugs === In case you do encounter a bug, we would appreciate a report in our JIRA: http://issues.apache.org/jira/browse/WICKET === The distribution === In the distribution you will find a README. The README contains instructions on how to build from source yourself. You also find a CHANEGELOG-1.4 which contains a list of all things that have been fixed, added and/or removed since the first release in the 1.4 branch. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: getString, Label - Warn
Do this instead: BookmarkablePageLink lien_accueil = new BookmarkablePageLink(accueil, HomePage.class); Label labelLinkAccueil = new Label (name,new ResourceModel(LabelLinkAccueil)); Regards, Erik. Fabien D. wrote: Hi everybody, If I use this code : BookmarkablePageLink lien_accueil = new BookmarkablePageLink(accueil, HomePage.class); Label labelLinkAccueil = new Label (name,getString(LabelLinkAccueil)); labelLinkAccueil.setEscapeModelStrings(false); lien_accueil.add(labelLinkAccueil); lien_accueil.setVisible(true); add(lien_accueil); In my log file, I have this warning : (Localizer.java:188) - Tried to retrieve a localized string for a component that has not yet been added to the page. This can sometimes lead to an invalid or no localized resource returned. Make sure you are not calling Component#getString() inside your Component's constructor. Offending component: [MarkupContainer [Component id = panelmenu, page = No Page, path = panelmenu.PanelMenu]] Wicket doesn't like to use the constructor of a label and getString() How cant I resolve this warning and use getString with new Label Thank you in advance -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Changing Link string conditionally?
The idea is to put a span inside the a, and then attach a Label to the span. Is that something you can work with? Regards, Erik. Michael Mehrle wrote: Okay, this seems so easy, but I'm somehow stuck. How do I change the string of a Link based on some condition? Do I simply provide a terminated tag and set the model (i.e. the visible string) in my code? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tabbed pages not panels
Tabbed pages are easy to create yourself (a lot easier then tabbed panels). Just create a list (ol) with elements (li) with in each a link (a). Now attach a Link component to the latter (any link type, but you probably are looking for a BookmarkableLink). Put this all in a Panel you can reuse over different pages. In the constructor you accept an argument that will make the panel add a class attribute (class=selected) to one of the links. Add some css and you're done. Regards, Erik. nazeem wrote: Does wicket have inbuilt support for tabbed pages ? not tabbed panels. Please point me to if available - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Feedback message related problem--info,debug etc take string arguments which is not very flexible
Hi, Atul, That sounds like a reasonable request to me (I am no core member). Its best to open a new issue in Wicket's jira, preferably with a patch attached. Regards, Erik. atul singh wrote: Hi, I see that only error() feedback takes a serializabel message. This allows me to pass any java object as message and implement custom filtering of messages by components. but info,debug etc take a string and so do not help me in that kind of filtering. Actually what we have is a TabbedWizard thing, a hybrid of TabbedPanel and Wizard. We have such a requirement to target feedback messages to very specific feedback components on any of the tabs. This is also not possible by implementing this logic based on the reporting component. I wanted the implementation to be generic , just based on info encapsulated in the message. Can anyone suggest an alternative? Can the info(),debug() etc method signatures be changed to have such flexibility??? Thanks - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Changing Link string conditionally?
Michael Allan wrote: Fearing a span-demic in my code, I came up with this:... There's probably a more elegant way to code it, though. Neh, that is a very common approach ;) Erik. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to access properties files outside of Wicket components?
You should the other getResource*() methods, those on Class: http://java.sun.com/javase/6/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String) Regards, Erik. Michael Mehrle wrote: Right now I had to resort to the solution below, but I would very much like to know the standard way of doing this, as this required me to place my properties file into the src/main/resources folder: static { try { properties.load(Thread.currentThread().getContextClassLoader().getResour ceAsStream( MyComponent.properties)); } catch (Exception e) { LOG.error(Unable to load file MyComponent.properties' - error: {}, e.getMessage(), e); } } public static String getProperty(String key) { return properties.getProperty(key); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: how to do i18n of javascript file with Wicket?
We use approach 1. We do not pull messages from Wicket resources, they are just static in the file. The link to the correct js file is however created by a dynamic component that uses the current Locale. You could go with approach 2, but to me it sounds like a lot of work. Regards, Erik. Quan Zhou wrote: My application's supposed to support both English,Simpilify Chinese,Traditional Chinese,and even Vietnamese. The great I18N feature of Wicket helps me solve many i18n problems. The only remains is how to do i18n of javascript - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Manipulate Component Markup before rendering
Hello Jürgen, You coulld put a span in the markup and add a Label to it. Don't forget to call setRenderBodyOnly(true) on the label. Regards, Erik. Jürgen Lind wrote: Hi, I was wondering if there is some way to rewrite the component markup before it is rendered. My setting is as follows: 1. I have a component markup file like this wicket:panel script type=text/javascript someFunction( runtime parameter ); /script /wicket:panel 2. The matching component overrides onComponentTagBody and onRender protected final void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { checkComponentTag(openTag, textarea); replaceComponentTagBody(markupStream, openTag, getValue()); } protected void onRender(MarkupStream markupStream) { super.onRender(markupStream); super.renderAssociatedMarkup(panel, Some error); } Now, what I would like to do is to change the value for the runtime parameter in the onRender Method and replace it with a value that has been given to the component when the component was constructed. Is there any way to achieve this? Regards, J. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Manipulate Component Markup before rendering
Any component defined within the script area seems to be ignored by wicket Weird. That sounds like a bug to me. Anyway, your solution seems robust enough to me. Regards, Erik. Jürgen Lind wrote: Hi Erik, thank you for the suggestion. I tried that already and it did not work. Any component defined within the script area seems to be ignored by wicket, i.e. when I define the label in the Java code, I get an error message stating that the component was not declared in the markup file... What I am currently using is the following code: protected void onRender(MarkupStream markupStream) { super.onRender(markupStream); final MarkupStream associatedMarkupStream = getAssociatedMarkupStream(true); MarkupElement element = associatedMarkupStream.get(2); getResponse().write(this.replaceParameters(element.toString())); } The problem here is, that I know that the markup element I want is at the second position. However, this is not very robust ;-) Cheers, J. Erik van Oosten wrote: Hello Jürgen, You coulld put a span in the markup and add a Label to it. Don't forget to call setRenderBodyOnly(true) on the label. Regards, Erik. Jürgen Lind wrote: Hi, I was wondering if there is some way to rewrite the component markup before it is rendered. My setting is as follows: 1. I have a component markup file like this wicket:panel script type=text/javascript someFunction( runtime parameter ); /script /wicket:panel 2. The matching component overrides onComponentTagBody and onRender protected final void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { checkComponentTag(openTag, textarea); replaceComponentTagBody(markupStream, openTag, getValue()); } protected void onRender(MarkupStream markupStream) { super.onRender(markupStream); super.renderAssociatedMarkup(panel, Some error); } Now, what I would like to do is to change the value for the runtime parameter in the onRender Method and replace it with a value that has been given to the component when the component was constructed. Is there any way to achieve this? Regards, J. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clone a WebPage
Do you have any overriden isVisible() in which you use the model? Regards, Erik. Mathias P.W Nilsson wrote: You are perfectly right. All my LoadableDetachable models are called again. Problem is that the cart is a Fragment and it does not get called. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Can I HTTP Post from static html page to a Wicket page?
Remove the slashes! Erik. AlexTM wrote: Hi! I've tried this: mount(/allsearch, new QueryStringUrlCodingStrategy(/allsearch, AllSearchPage.class)); -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Directions for Stateless Ajax
Well, under these circumstances: don´t use wicket. Just write your own javascript and use a servlet. Regards, Erik. Alan Romaniusc wrote: Hi, I have been digging in how to make stateless ajax requests in wicket. My application needs an autocomplete textfield that must work all the time, including after session expiration. I found a solution using a timer to ping the server, but this solution was rejected :(. Where/What should I be looking for? Thx - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket i18n options
Yes, it surprised me to. I guess the best way out is to add this to 1.3 as well :) Erik. Eelco Hillenius wrote: Though it surprises me that there would be anything other than generics in 1.4. The deal was very explicitly to only add generics in 1.4, and (other) new features would go to 1.5. Eelco -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket i18n options
Eyal, Uwe, Scott, I won't stop you! Actually, when I was more then half way I realized that the wiki might have been a better place for this. But by then, it was too late to change the language and start over. Regards, Erik. Scott Swank wrote: +1 On Sun, May 25, 2008 at 6:44 AM, Eyal Golan [EMAIL PROTECTED] wrote: Great stuff !! Thanks, Should be put in Wiki. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket i18n options
Eelco Hillenius wrote: Excellent! I didn't even know about that new feature (nested tags nested in wicket:message). Is that really only in 1.4? Eelco Its in the release notes! Actually, in my current project it is the reason for switching to 1.4 But we're having fun with the generics as well :) Regards, Erik. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket and inline JavaScript
I am currently in a project where we do everything with jQuery in the frontend, simulating Wicket's AJAX input and using its AJAX output. However, I would not advice in doing this until you have a strong grasp of Wicket's form and AJAX handling. Having a good jquery programmer helps too. Regards, Erik. On Thu, May 22, 2008 at 3:16 PM, Ned Collyer [EMAIL PROTECTED] wrote: Hi Edvin, I am an advocate of JQuery :). I even won their icon design contest, and I've been using it for years! I think it should be used in all projects that require effects or cool DOM manipulation. I love the unobtrusive way and xhtml strict! That being said, when it comes to wicket AJAX - just use the wicket ajax and be done with it. No point mucking with something thats already excellent. It works and its easy. Why reimplement that bit - and potentially open up bugs that you need to go debug. For effects and DOM manipulation, you can use JQuery by adding header contributors. It is cleaner.. and in many instances easier to debug. It makes development quick and painless. If it wasn't wicket - id suggest using JQuery for ajax. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Need Help
Try to set the compiler version (as described on http://wicket.apache.org/quickstart.html). I am not sure this is your problem. Regards, Erik. Depak Shidu wrote: i try wicket 4.1-m1 maven using mvn archetype:create -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.4-m1 -DgroupId=com.shidu -DartifactId=mywicket from website wicket and have problem. i soon fix pom with 1.3-SNAPSHOT to 1.4-m1 but now compile error [INFO] Compilation failure /home/depak/mywicketsrc/main/java/com/shidu/HomePage.java:[25,8] cannot find symbol symbol : method add(org.apache.wicket.markup.html.basic.Label) i try remove wicket from repository and redo and not work still i run hardy with this maven version Maven version: 2.0.9 Java version: 1.6.0_06 OS name: linux version: 2.6.24-17-generic arch: i386 Family: unix help? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Page pooling (for stateless pages)
Hello, I think it would probably make more sense to cache the /result/ of stateless pages. Regards, Erik. Joel Halbert wrote: Hi, I was wondering whether it was possible to implement pooling of stateless pages? Possibly using a custom PageMap implementation? Although newer JVM's are good at performing GC, pooling is a reasonable additional technique to use for achieving that extra bit of scalability. If anyone has tried to do this, or has any suggestions on the best way forward I'd be really interested to know. Many Thanks, Joel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Zip files containing ready to deploy wicketstuff examples
Hi Blackbird, You can create a quickstart (http://wicket.apache.org/quickstart.html). A quickstart is the absolute minimal Wicket application. You'll need maven 2 installed. Regards, Erik. Blackbird schreef: Hi, are there zip files of each example available at wicketstuff? Some examples have many files, including configuration files (.properties, .xml) It would be helpful to see how all these file should be organized ideally (directory hierarchy). Sorry if I've missed it. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Invoulentary session sharing/leakage in Wicket 1.3.x
Chris, If you read the thread carefuly you can extract a quick fix. You'll need it as the core developers argumented against a quick bugfix release. Just checkout Wicket from SVN and apply the patch (2 lines in the Wicket filter). Its a pain, but if you can not wait... Regards, Erik. Chris Lintz wrote: Guys has this been resolved?? We have been having some customers complain as well (some sending screen shots of others peoples data as proof). Because our users click streams are available publically at their control, we had thought jsessionids occurring in the click stream were being maliciously hijacked. We plugged that hole disallowing any jsessionid to be part of url (via Servlet filter) - yes this of course means JavaScript must be enabled. This involuntary session sharing is still occurring. We are running release 1.3.2. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: FYI: new wicket site
It is a combination of 3 words 'er op uit' and literally means 'going out'. It has a very active connotation. Regards, Erik. Gerolf Seitz wrote: the site looks nice. i especially like the advanced dropdown box. for us non-dutch, does eropuit mean anything in particular? cheers, Gerolf On Wed, May 14, 2008 at 10:36 AM, lars vonk [EMAIL PROTECTED] wrote: Hi all, A new Wicket site is born! It's a Dutch site on which you can search for day trips and such. See: www.eropuit.nl. Thanks to the user- and dev-group for answering any questions we had during the process. Lars - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Quickstart broken for 1.4-m1
Hi, If I do: mvn archetype:create -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.4-m1 -DgroupId=nl.grons -DartifactId=i18ntest as generated by the quickstart page (http://wicket.apache.org/quickstart.html), I get Wicket version 1.3-SNAPSHOT in the pom. Of course that should be 1.4-m1. Should I create a Jira issue? Regards, Erik. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why is it illegal to update hierarchy in onAfterRender?
Hi Johan, AutoAdd can be done in the rendering. They are only there just then. And they will be removed by wicket after rendering. Thanks Johan, those 2 lines explain it for me. Could you add them to the javadoc of MarkupContainer? Regards, Erik. Johan Compagner wrote: Hmm i am affraid the source for more info is the source.. AutoAdd can be done in the rendering. They are only there just then. And they will be removed by wicket after rendering. (at least they should) They are or can be normal components -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Inmethod Grid patch for Wicket 1.4-m1
Hello Matej, all, Ah, that is good to hear. The patch makes grid trunk in sync with wicket-1.4-m1. There might be differences with wicket-1.4 trunk? In any case, we could not build grid trunk with wicket-1.4-m1 when we retrieved it (last Friday). So please Matej, do not apply this patch on your repository :) Regards, Erik. Matej Knopp wrote: Grid trunk is 1.4 of course. But it's kept in sync with 1.4 trunk. Why would Your patch basically reverses that, why would I want to apply it? :) -Matej On Tue, May 13, 2008 at 3:31 PM, Johan Compagner [EMAIL PROTECTED] wrote: i guess Matej wil gladly apply it for you Except that Matej then has to branch... i what does he like that... :) johan On Tue, May 13, 2008 at 11:02 AM, Erik van Oosten [EMAIL PROTECTED] wrote: Hello, Inmethod Grid does not support Wicket 1.4 currently. Apply the attached patch (created by my colleague Job de Noo) to the trunk version to get it running again. Have fun, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why is it illegal to update hierarchy in onAfterRender?
Johan Compagner wrote: What you can use is try to add it as auto add.. So create an auto add component, we will remove those for you I tried to find some more on this topic, but both google as the Wicket wiki are not very informative. In the javadocs I could only find MarkupContainer.html#autoAdd. Unfortunately I am not sure I understand the consequences of what that method describes. Is there a source of more information? Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Commented: (WICKET-1355) Autocomplete window has wrong position in scrolled context
[ https://issues.apache.org/jira/browse/WICKET-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12595347#action_12595347 ] Erik van Oosten commented on WICKET-1355: - Richard, that change was the whole point of the fix. Apparently there is still a problem with the z-index, but reverting this line will not fix the problem of this issue. Autocomplete window has wrong position in scrolled context -- Key: WICKET-1355 URL: https://issues.apache.org/jira/browse/WICKET-1355 Project: Wicket Issue Type: Bug Components: wicket-extensions Affects Versions: 1.3.1 Reporter: Erik van Oosten Assignee: Janne Hietamäki Fix For: 1.3.4 Attachments: wicket-autocomplete.js When the autocompleted field is located in a scrolled div, the drop-down window is positioned too far down. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Re: South African Wicket Users?
Actually, since I changed jobs, Finalist no longer uses Wicket but now JTeam (www.jteam.nl) does :) Regards, Erik. Plenty of such companies around in the Netherlands it seems. Search through the list archives for ideas :-) Topicus, Xebia, Servoy, Hippo, Finalist to name a few. Good knowledge of Dutch is probably required, especially if you want to work outside of 'de randstad'. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Why is it illegal to update hierarchy in onAfterRender?
Hi, When I try to change the component hierarchy in onAfterRender I get an exception with the text can not change hierarchy *during* render phase. Why is this? Isn't the render phase finished in on*After*Render? Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why is it illegal to update hierarchy in onAfterRender?
Hello Johan et all, Ok, I see the problem. But let me then propose a change to the exception text. Something like can not change hierarchy after render phase has started. I'll create a Jira issue if you like. But why? Well, its one of the things I tried in a long list of attempts to do custom Ajax things. More experienced Wicketeers can probably point me in more productive directions. I have this set up where custom javascript uses the result of an Ajax response and places it in a modal window (or on other places in the page). Why? Well, our html/javascript designer refuses to use the wicket ajax libraries but writes everything himself. The only thing he trusts is jquery. So I worked around this by creating my own Ajax behaviors (which is pretty easy as you can easily get the URL that should be called from the client). I reused AjaxRequestTarget to generate the response. Now AjaxRequestTarget wants the component that is rendered to be a part of the current page. I therefore add the panel to be rendered to the page, even if it is not really used like that in the client code (as with the modal window). Therefore, at some moment it needs to be removed again as well. For removal I have 2 cases: -1- the modal window contains a form, the form might be submitted, so the server gets feedback. -2- the modal window only displays some information or the form is not submitted, the server gets no feedback on the close of the modal window For case -2- (in my earlier attempts) I tried to remove the component in onAfterRender. After realizing that this doesn't work, I did it in the onBeforeRender when some flag was set (accepting that it can be stored in the session for some time). But I only just realize that this case could be solved a lot better by using a Page instead of a Panel to deliver the content for the modal window. In case -1- however, I need to update the page that initiated the modal window. As we're not allowed to keep references between pages (because of the disk store's serialization tricks), I add the modal window panel to the page (with the form on it), and remove it again within the ajax-submit of the form. In the same onSubmit I update some components on the page, re-render them (again using AjaxRequestTarget) and pass them back to the client. This works, but when the form is not submitted, the modal window panel is never removed from the page. After a couple of such closes, the response time of the page easily explodes to half a minute. Ideally I would use a Page for the model window's content as well. However, I see no way to get a reference to the page it was opened from. Can anyone shine a little light on this? Is it possible to get that page reference? How does Wicket's modal window do this? Regards, Erik. Johan Compagner wrote: Why do you want to do that? The problem is if you affect the page then the page version is affected. So all what is rendered now isnt really the state wat the page has. Thats why you get that exception when rendering has started. On 5/6/08, Erik van Oosten [EMAIL PROTECTED] wrote: Hi, When I try to change the component hierarchy in onAfterRender I get an exception with the text can not change hierarchy *during* render phase. Why is this? Isn't the render phase finished in on*After*Render? Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Invoulentary session sharing/leakage in Wicket 1.3.x
Isn't this problem serious enough to release 1.3.4? Regards, Erik. Johan Compagner wrote: the only thing we found was the finalize block that could be skipped because of an exception again in that block That is fixed in current 1.3.x branch (and 1.4) -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [ANNOUNCE] Apache Wicket 1.4-M1
Hi, I am correct in the assumption -1- that the goal for 1.4 is to only introduce generics, -2- and to keep the rest of the product stable, -3- and it is therefore safe to use milestone 1 for development, -4- and perhaps even for production usages? Regards, Erik. Frank Bille wrote: The Apache Wicket team is proud to announce the availability of the first milestone release of our first java 1.5 Wicket version: Apache Wicket 1.4-m1. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [slf4j-user] Java 5 version of SLF4J?
Hi Simon, You should never confuse Java byte code with compiled byte code. I understand there are a few superfluous byte codes, but in the end the JVM determines how to compile it to CPU instructions. Unfortunately I am not aware of what the JVM actually does with unused values. Does it do escape analysis already? Regards, Erik. Simon Kitching schreef: Erik van Oosten schrieb: Christopher, As I wrote already on Feb 17: There is another aproach, as taken by http://code.google.com/p/log5j/. It is a wrapper around log4j. I wish they had made it for SLF4J! I am still waiting for someone to this for SLF4J. It should not be hard. I did not yet find the time myself :( Sigh. Broken broken broken. Re the feature for determining which category to create a logger for, see the documentation for Exception.getStackTrace. There is no guarantee that valid info about the callstack is available. So this code will work fine under unit testing, then may start emitting messages to the wrong categories when run in a high-performance environment. That will be fun to debug... Re the printf-style formatting: log.debug(format str, arg0, arg1, arg2); is exactly equivalent to: push format str onto stack tmp = new Object[3]; tmp[0] = arg0; tmp[1] = arg1; tmp[2] = arg2; push tmp onto stack invoke log.debug (and of course garbage-collect the tmp object later..) So in practice, for good performance you need if (log.isDebugEnabled()) around each call anyway. In which case, the printf-style stuff gives no performance benefits at all; if something is going to be logged then the formatting is nowhere near the bottleneck step. The SLF4J fake-varargs approach, where the api allows 0,1 or 2 params is slightly better, as it avoids the new Object[] call. But for best performance, isDebugEnabled should be used anyway. Regards, Simon ___ user mailing list user@slf4j.org http://www.slf4j.org/mailman/listinfo/user -- -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ ___ user mailing list user@slf4j.org http://www.slf4j.org/mailman/listinfo/user
Re: [slf4j-user] Java 5 version of SLF4J?
Christopher, As I wrote already on Feb 17: There is another aproach, as taken by http://code.google.com/p/log5j/. It is a wrapper around log4j. I wish they had made it for SLF4J! I am still waiting for someone to this for SLF4J. It should not be hard. I did not yet find the time myself :( Regards, Erik. [EMAIL PROTECTED] wrote: Ceki, I do understand your reasoning, and thank you for your quick response. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ ___ user mailing list user@slf4j.org http://www.slf4j.org/mailman/listinfo/user
Re: Question about StringResourceLoader
That is easy. Use getLocalizer.getString(key, City.class, new Model(obj)). You can not do this in the constructor of your component though. There are 2 workaround: 1) create a model (for example by subclassing AbstractReadOnlyModel), 2) override the method onBeforeRender in your component. Regards, Erik. Ned Collyer wrote: Was there any thoughts on this guys? Ned Collyer wrote: If I have something like my.example.City.java my.example.City.properties And its a non wicket class, possibly coming from another library managing its own internationalisation. How can I use this in my panels, and have the same override behaviour as with Panels and Pages. I think I would want something like this StringResourceModel(java.lang.String resourceKey, Component component, Object myObj) where it can use the lookup my.example.City.properties and if it cant find anything there, then look in MyPanel.properties etc. From reading the javadoc for StringResourceModels its non obvious if this can be achieved with inbuilt wicket objects. I can use the IStringResourceLoader and write something myself, or... perhaps I'm overlooking something. Can someone shed some light please? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 1.3, resource locator and properties
Scott, I am no core developer, but I think that creating a issue (preferably with a patch) would be the fastest way to success. Regards, Erik. Scott Swank wrote: Bump. Do any devs have an opinion on this? Should I create a jira instead of asking this on the list? Here is a quick summary so that no one needs to read through the thread: 1. The ResourceNameIterator encapsulates the style/variation/localization strategy 2. The ResourceStreamLocator uses it to find html 3. The ComponentStringResourceLocator uses it to find properties 4. The ClassStringResourceLocator delegates to the ComponentStringResourceLocator to find application properties This means that all four of the above must be implemented to use a different strategy. However, if a custom ResourceNameIterator could be registered in IResourceSettings then 2, 3 4 would not have to be touched. Do the devs prefer to keep ResourceNameIterator an internal implementation or expose it on IResourceSettings and simplify the creation of atypical resource location? Thank you, Scott - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Just a small warning: Ext-JS changed license to GPL
Hello, As you may have heard already: Ext-JS, as of yesterday (version 2.1), no longer has the LGPL license, but GPL, making it unusable for commercial products. Just a small warning for those that are using it. Awaiting the first fork, Erik. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: StringResourceModel with unknown array parameters
i ii schreef: should be in core, no? -1, it is much too specific. Regards, Erik. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Swarm/Wasp or wicket-auth-roles or ?
If you checkout the Wicket sources, you'll find a wicket-auth-roles-example project. Regards, Erik. mfs wrote: Also if someone could point to some examples of wicket-auth-roles usage...I could still see many for swarm but have not really for auth-roles..may be I an not looking at the right place..please point - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Swarm/Wasp or wicket-auth-roles or ?
Actually, the examples Scott sent are better I think. Regards, Erik. Erik van Oosten schreef: If you checkout the Wicket sources, you'll find a wicket-auth-roles-example project. mfs wrote: Also if someone could point to some examples of wicket-auth-roles usage - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: wicket-spring dependency in maven repository
Doug Donohoe wrote: I'm using wicket-spring-annot and ran into a small problem with maven dependencies. The wicket-spring-annot project depends on wicket-spring. This has come up a number of times already. Hopefully not as often in the future as it is now also on the wiki :) http://cwiki.apache.org/WICKET/spring.html Regards, Erik. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: LoadableDetachableModel and load() method question
Hi Warren, It should not be called twice. Not within the same request that is. Possible causes: - you have 2 model instances instead of 1 - there is a bug in Wicket If you are sure it the latter, please provide a quickstart and add it to a new Jira issue. Regards, Erik. Warren wrote: I have a page that displays a lot of labels and two text field. It is refreshed thru an AjaxFormSubmitBehavior that just refreshes the same page with a new item using a LoadableDetachableModel. I need to update the item displayed and retrieve a new one. I am doing this within the load method. protected Object load() { // Update last Item // Retrieve next Item } Everything works, but load() gets called twice. I understand why that happens, but I only need it to be called once. I can use a flag to make the body of load run once, but this does not seem very clean and I can see it causing problems. Is there a better way to achieve what I am trying to do? Thanks, Warren Bell - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: client side handling of ajax request session expiration
Hi Ywtsang, Not an answer to your question, but you can also consider using a ajax timer to keep the session alive. For example as outlined in http://chillenious.wordpress.com/2007/06/19/how-to-create-a-text-area-with-a-heart-beat-with-wicket/. Regards, Erik. ywtsang wrote we want to handle session expiration exception triggered by an ajax request since the session is expired, the ajax request can't be forwarded to the corresponding ajax behavior, instead, the server throw session expiration exception (we have configured the handling by getApplicationSettings().setPageExpiredErrorPage) the handling is ok for non-ajax request, but not ajax request we want to handle that using client side javascript how can we achieve that? -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: client side handling of ajax request session expiration
ywtsang wrote: because we discovered that we can't preserve the session if the server is restarted Ah, I understand. Well, you could if you use a servlet container that support this, or if you use Terracotta. Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Commented: (WICKET-1534) Allow multiple URL coding strategies on the same mount path
[ https://issues.apache.org/jira/browse/WICKET-1534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12589834#action_12589834 ] Erik van Oosten commented on WICKET-1534: - After a small investigation I found that a CompoundRequestTargetUrlCodingStrategy is indeed possible. However, it would not really work well unless WebRequestCodingStrategy is changed such that the IRequestTargetUrlCodingStrategy#matches methods are executed outside a synchronized block. In my application I have to access the database in the matches methods. (Although the data is heavily cached, I can not afford to have all requests to stand still while the database is accessed for one page.) I'll try to make new patches, but if someone else is quicker I would welcome that :) Allow multiple URL coding strategies on the same mount path --- Key: WICKET-1534 URL: https://issues.apache.org/jira/browse/WICKET-1534 Project: Wicket Issue Type: New Feature Components: wicket Affects Versions: 1.3.3 Reporter: Erik van Oosten Fix For: 1.4-M1 Attachments: VersatileWebRequestCodingStrategy.java It is currently not possible to mount multiple URL coding strategies on the same mount path. However, in combination with method #matches(String urlPath) this would be quite easy to accomplish in a backward compatible way. Please find attached a class that can be used instead of WebRequestCodingStrategy. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (WICKET-1534) Allow multiple URL coding strategies on the same mount path
[ https://issues.apache.org/jira/browse/WICKET-1534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Erik van Oosten updated WICKET-1534: Attachment: VersatileWebRequestCodingStrategy.java Allow multiple URL coding strategies on the same mount path --- Key: WICKET-1534 URL: https://issues.apache.org/jira/browse/WICKET-1534 Project: Wicket Issue Type: New Feature Components: wicket Affects Versions: 1.3.3 Reporter: Erik van Oosten Fix For: 1.4-M1 Attachments: VersatileWebRequestCodingStrategy.java It is currently not possible to mount multiple URL coding strategies on the same mount path. However, in combination with method #matches(String urlPath) this would be quite easy to accomplish in a backward compatible way. Please find attached a class that can be used instead of WebRequestCodingStrategy. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-1534) Allow multiple URL coding strategies on the same mount path
[ https://issues.apache.org/jira/browse/WICKET-1534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12589048#action_12589048 ] Erik van Oosten commented on WICKET-1534: - Nothing changes there. It is already possible that multiple URL encoders are mounted for the same page type. Allow multiple URL coding strategies on the same mount path --- Key: WICKET-1534 URL: https://issues.apache.org/jira/browse/WICKET-1534 Project: Wicket Issue Type: New Feature Components: wicket Affects Versions: 1.3.3 Reporter: Erik van Oosten Fix For: 1.4-M1 Attachments: VersatileWebRequestCodingStrategy.java It is currently not possible to mount multiple URL coding strategies on the same mount path. However, in combination with method #matches(String urlPath) this would be quite easy to accomplish in a backward compatible way. Please find attached a class that can be used instead of WebRequestCodingStrategy. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-1484) class cast exception (String) in MixedParamUrlCodingStrategy with additional params with patch
[ https://issues.apache.org/jira/browse/WICKET-1484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12589084#action_12589084 ] Erik van Oosten commented on WICKET-1484: - An alternative is to replace the getParameterMap() method in ServletWebRequest like this: public Map getParameterMap() { // Lazy-init parameter map. Only make one copy. It's more efficient, and // we can add stuff to it (which the BookmarkablePage stuff does). if (parameterMap == null) { parameterMap = new HashMap(httpServletRequest.getParameterMap()); // Replace single value parameter arrays with a single string. for (Iterator i = parameterMap.keySet().iterator(); i.hasNext(); ) { Object key = i.next(); Object value = parameterMap.get(key); if ((value instanceof String[]) ((String[]) value).length == 1) { parameterMap.put(key, ((String[]) value)[0]); } } } // return a mutable copy return parameterMap; } class cast exception (String) in MixedParamUrlCodingStrategy with additional params with patch -- Key: WICKET-1484 URL: https://issues.apache.org/jira/browse/WICKET-1484 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 1.3.2 Reporter: Michael Grinner Attachments: 1484_patch.txt MixedParamUrlCodingStrategy has a bug in MixedParamUrlCodingStrategy appendParameters if (!parameterNamesToAdd.isEmpty()) { boolean first = true; final Iterator iterator; if (UnitTestSettings.getSortUrlParameters()) { iterator = new TreeSet(parameterNamesToAdd).iterator(); } else { iterator = parameterNamesToAdd.iterator(); } while (iterator.hasNext()) { url.append(first ? '?' : ''); String parameterName = (String)iterator.next(); @@@ String value = (String)parameters.get(parameterName); url.append(urlEncode(parameterName)).append(=).append(urlEncode(value)); first = false; } } where value should be a String[] not a String. like in AbstractRequestTargetUrlCodingStrategy appendParameters String[] values = (String[])value; for (int i = 0; i values.length; i++) { appendValue(url, entry.getKey().toString(), values[i]); } it works ok after patching MixedParamUrlCodingStrategy to if (!parameterNamesToAdd.isEmpty()) { boolean first = true; final Iterator iterator; if (UnitTestSettings.getSortUrlParameters()) { iterator = new TreeSet(parameterNamesToAdd).iterator(); } else { iterator = parameterNamesToAdd.iterator(); } while (iterator.hasNext()) { url.append(first ? '?' : ''); String parameterName = (String) iterator.next(); Object value = parameters.get(parameterName); if (value != null) { if (value instanceof String[]) { String[] values = (String[]) value; for (String element : values) { url.append(this.urlEncode(parameterName)).append(=).append(this.urlEncode(element)); } } else { url.append(this.urlEncode(parameterName)).append(=).append(this.urlEncode(value.toString())); } } first = false; } } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Re: Localization, Bookmarkable pages, and mounting strategies
Haha, brilliant. Sometimes you forget the simple stuff :) Thanks Sebastiaan, Erik. Sebastiaan van Erk wrote: Shouldn't it work if you just override getLocale() on your admin base page to return your admin locale? Regards, Sebastiaan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Expected mounting options
I wrote a replacement for WebRequestCodingStrategy and attached it to: https://issues.apache.org/jira/browse/WICKET-1534 This coding strategy will first look at the mount path, and then calls matches(String url) on the mounted URL encoders until one returns true. There is a lot that can be done to make it more compatible with e.g. UrlCompressingWebCodingStrategy. Regards, Erik. Erik van Oosten schreef: Hi, To my big surprise the following does not work -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Removing the jsessionid for SEO
Hi Rüdiger, I would be very interested in the code. If you can not find a suitable repository, could you just do something simple like linking to a zip from a blog post? Regards, Erik. Rüdiger Schulz wrote: Hello everybody, I just want to add my 2 cents to this discussion. At IndyPhone we too wanted to get rid of jesessionid-URLs in google's index. Yeah, it would be nice if the google bot would be as clever as the one from yahoo, and just remove them himself. But he doesn't. So I implemented a Servlet-Filter which checks the user agent header for google bot, and skips the url rewriting just for those clients. As this will generate lots of new sessions, the filter invalidates the session right after the request. Also, if a crawler is doing a request containing a jsessionid (which he stored before the filter was implemented), he redirects the crawler to the same URL, just without the jsessionid parameter. That way, the index will be updated for those old URLs. Now we have almost none of those URLs in google's index. If anyone is interested in the code, I'd be willing to publish this. As it is not wicket specific, I could share it with some generic servlet tools OS project - is there something like that on apache or elsewhere? But maybe Google is smarter by now, and it is not required anymore? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat dying with Wicket 1.3.2 (Windows / JDK 1.5.0_10)
Jeremy, A workaround is to make the session timeout way lower and add some keep alive javascript to each page. For example as described by Eelco (http://chillenious.wordpress.com/2007/06/19/how-to-create-a-text-area-with-a-heart-beat-with-wicket/). Regards, Erik. Jeremy Thomerson wrote: Yes - quite large. I'm hoping someone has an idea to overcome this. There were definitely not 4500+ unique users on the site at the time. There were two copies of the same app deployed on that server at the time - one was a staging environment, not being indexed, which is probably where the extra ten wicket sessions came from. Any ideas? Jeremy On 4/9/08, Johan Compagner [EMAIL PROTECTED] wrote: 4585 tomcat sessions? thats quite large if may say that.. and even more 10 wicket sessions that tomcat sessions Do you have multiply apps deployed on that server? if a search engine doesnt send a cookie back then the urls should be encoded with jsessionid and we get the session from that.. johan -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Feature request: using @SpringBean outside Wicket request
Igor Vaynberg wrote: can you not roll your own simple filter? you can pull the webapp from the servletcontext -igor Thanks for the suggestion. It works perfectly. Here is the code for those that are interested. import org.apache.wicket.Application; import org.apache.wicket.protocol.http.WebApplication; import javax.servlet.*; import java.io.IOException; /** * Filter that sets the wicket application, just like [EMAIL PROTECTED] org.apache.wicket.protocol.http.WicketFilter} * would do. * * pThis implementation assumes that it is placed in a filter chain, iafter/i WicketFilter, * for URLs that are not handled by the WicketFilter. * * pThe filter name of the wicket filter is retrieved from the init parameter wicketFilterName. * * @author Erik van Oosten */ public class WicketApplicationFilter implements Filter { private WebApplication webApplication; public void init(FilterConfig filterConfig) throws ServletException { // Get instance of the Wicket application, it is set by the Wicket filter. String contextKey = wicket: + filterConfig.getInitParameter(wicketFilterName); webApplication = (WebApplication) filterConfig.getServletContext().getAttribute(contextKey); if (webApplication == null) { throw new ServletException(Could not find the Wicket application, please make + sure filter WicketApplicationFilter is embedded in Wicket's filter); } } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { try { // Set the webapplication for this thread Application.set(webApplication); chain.doFilter(request, response); } finally { // always unset the application thread local Application.unset(); } } public void destroy() { webApplication = null; } } Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Form submit button localization
Hi Milan, You can use the wicket:message attribute as described on the Wicket wiki (search for xhtml). Regards, Erik. Milan Křápek wrote: Hi, I have just this simply questin. I am trying to localize my web pages to different languages. Because my pages are mainly composed by fomrs and I have not much texts I want to make the localization just by .properties files. All works good until I want to change the text in submit button. Is it possible to change this value with locale information in property file? Or must I follow the other way and duplicate my pages to localized versions? (page_en_US.html, page_de_DE.html etc.) Best regards Milan - 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]
Re: localizer and variables
I thought that something like this would work also: email.subject=Hi {userName}! Here is your confirmation. getLocalizer().getString(email.subject, Login.this, new Model(user)); Regards, Erik. Mathias P.W Nilsson schreef: This is what I got so far new StringResourceModel( email.forgotlogin.body , Login.this, new Model(), new Object[]{ user.getUserName(), user.getPassWord() } ).getString(); must I really do this for every string? -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Invoulentary session sharing/leakage in Wicket 1.3.x
Hi, Is there a jira issue in which the topic is tracked? Regards, Erik. Edvin Syse wrote: (I wrote this email earlier this evening but forgot to send it it seems. Here it is:) When I ran with 1.3.0 I also had 1.3.3 on the classpath. I reverted to 1.3.2 30 minutes ago and still haven't seen the problem. I've been running 1.3.2 up until this evening with no problems reported, so I am now quite certain that the problem is only with 1.3.3. We have monitoring running now, and if the problem arises when the traffic increases tomorrow morning we'll know for sure. I'll report back tomorrow :) -- Edvin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Commented: (WICKET-1329) AutoCompleteTextField's suggestion list *disappeared* when it is used inside a ModalWindow
[ https://issues.apache.org/jira/browse/WICKET-1329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12586447#action_12586447 ] Erik van Oosten commented on WICKET-1329: - When the fix in [WICKET-1355] is applied, the changes for this bug should probably be undone. AutoCompleteTextField's suggestion list *disappeared* when it is used inside a ModalWindow -- Key: WICKET-1329 URL: https://issues.apache.org/jira/browse/WICKET-1329 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 1.3.0-final Reporter: Andy Chu Assignee: Gerolf Seitz Fix For: 1.3.3 When an AutoCompleteTextField is used in panel showed inside a ModalWindow, the dropdown list for suggestions will be disappeared. The reason is that the z-index of a normal ModalWindow is 2 while the z-index of the dropdown list is 1. And there is no way to set this parameter programatically. Therefore, the dropdown list is masked by the ModalWindow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-1355) Autocomplete window has wrong position in scrolled context
[ https://issues.apache.org/jira/browse/WICKET-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12586448#action_12586448 ] Erik van Oosten commented on WICKET-1355: - The changes for bug [WICKET-1329] should probably be undone when the fix attached to this issue is applied. Autocomplete window has wrong position in scrolled context -- Key: WICKET-1355 URL: https://issues.apache.org/jira/browse/WICKET-1355 Project: Wicket Issue Type: Bug Components: wicket-extensions Affects Versions: 1.3.1 Reporter: Erik van Oosten Assignee: Janne Hietamäki Fix For: 1.3.4 Attachments: wicket-autocomplete.js When the autocompleted field is located in a scrolled div, the drop-down window is positioned too far down. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Re: AjaxEditableLabel default type
Regardless of the reason (I don't know it), you can use a model wrapper to circumvent this. Search for ModelWrapper in earlier posts. Regards, Erik. Jan Kriesten wrote: Hi, is there a reason why AEL assumes type String by default and doesn't use the ConverterLocator on the ModelObject to create the label + read/write the Model? String should only be a fallback if no IConverter could be found? Best regards, --- Jan. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Strange behaviour with autocomplete
This may be related to the bug I reported in https://issues.apache.org/jira/browse/WICKET-1355. Maybe the attached fix works for you. Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ David Leangen wrote: Hi, Using the standard wicket autocomplete widget, I just noticed that I am getting some strange behaviour. When I mouseover or scroll the list via the keyboard, the entire screen jumps to the bottom. I never noticed before because there wasn't enough content to cause the page to scroll and therefore for this bug to manifest itself. Has anybody else ever dealt with this problem? Thanks! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Is there an AJAX Panel in Wicket
I think AjaxLazyLoadPanel does the job exactly as you desribe it. Regards, Erik. kumark schreef: I was wondering if there is a AJAXPanel available in wicket. If a page has 10 panels with in it, I want all of them to load in an asynchronous fashion, which ever is available first and so on, Instead of waiting for all the 10 panels to load before the page is displayed? Many Thanks. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: export excel file via an OutputStream
That looks like an excellent API. Would it be very hard to implement this? Personally I am also looking for something like this, but then bookmarkable. I got some suggestions on how to do this with the current APIs, but I did not like them at all. So now I am using a servlet. Regards, Erik. Al Maw wrote: I think he makes a valid point, personally. People do want to do this sort of thing quite frequently. It wouldn't kill us to implement an OutputStreamLink that looked like this: add(new StreamingLink(link) { public String getFileName() { return download.xls; } public String getMimeType() { return application/vnd.excel; // Or whatever it is. } public void writeToOutputStream(OutputStream outputStream) { excelGenerator.writeOutput(outputStream); } }); I don't think the current API here is very pleasant or obvious to use. Regards, Al -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Feature request: using @SpringBean outside Wicket request
Hello, I love @SpringBean so much that I would like to use it outside Wicket requests as well. I am using Restlets and the native Restlet-Spring integration is very cumbersome. Unfortunately the WicketFilter does set the Application thread local variable for non wicket requests. Would it be acceptable to change the filter such that has the option to set the application for each request? If so, I can easily provide a patch. Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Size of TextFilter TextField
In that case I would add a class attribute to the input element in the html markup, and use CSS to style the width. Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ Kai Mütz wrote: Erik van Oosten wrote: That depends on what size Kai meant. If you mean the width in pixels, I agree, that is CSS stuff. I meant the width in pixels. But as TextFilter is a panel within wicket-extensions I can not edit the markup directly. Thus I decided to subclass it and modify the subclassed markup. But using a AttributeModifier is probably the better solution. I will try it. Thanks, Kai - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Shared resources with parameters?
Hi, I am looking for a way to serve many static images. It is important that I do not have to separately register them (as with SharedResources, as I understood) as there about 20.000 to 50.000 of them, and the set changes continuously. The most obvious thing that comes to mind is a static resource that takes parameters that are extracted from the URL (similar to Page). But I could not find such a thing. I am now considering implementing a servlet, but I'd rather stay within the framework. Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Shared resources with parameters?
Hi Lars, They are not that static :) We import and export the images from a database we manage. By 'static' I meant that the images do not change over time, so I want fixed URLs for them. Sorry for the confusion. Regards, Erik. lars vonk wrote: You could put Apache in front and let it serve you static images? Lars On Tue, Mar 25, 2008 at 10:18 AM, Erik van Oosten [EMAIL PROTECTED] wrote: Hi, I am looking for a way to serve many static images. It is important that I do not have to separately register them (as with SharedResources, as I understood) as there about 20.000 to 50.000 of them, and the set changes continuously. The most obvious thing that comes to mind is a static resource that takes parameters that are extracted from the URL (similar to Page). But I could not find such a thing. I am now considering implementing a servlet, but I'd rather stay within the framework. Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - 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]
Re: Localization of DropDownChoice
Hi Greeklinux, Please see my earlier reply on a similar question. http://www.nabble.com/DropDownChoice-getting-value-into-the-model-td15905486.html#a15906830 I am not sure the wiki page is correct. Regards, Erik. greeklinux wrote: Hello, I want to localize a DropDownChoice component. I read the examples http://www.wicket-library.com/wicket-examples/compref/ and http://cwiki.apache.org/WICKET/dropdownchoice-examples.html. The displayed option value is a localized string and the value is a key that will be stored in DB. Now I want to get the value of a selected option and store this in a form CompoundPropertyModel. The Object backing the model will be stored in DB. -code private SelectChoise[] myList = { new SelectChoise(alglg, new ResourceModel(list.alglg)), new SelectChoise(algmd, new ResourceModel(list.algmd)) } DropDownChoice listInput = new DropDownChoice(listInput, formModel, Arrays.asList(myList), new ChoiceRenderer(value, key)); -- But I get a runtime exception. Because the expression key cannot be applied on the class that is backing my formModel. I thought that the key is applied on the List SelectChoise class. Can someone give me a hint? Thanks a lot - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: setEscapeModelStrings to false as default
Create a new component as a subclass of the component in question (Label). In the constructor you call setEscape...(false). From then on, only use the new subclass. But before you do so, read the other responses :) Regards, Erik. Marco Aurélio Silva schreef: Hi all Is there a way to set EscapeModelStrings to false in a global way (to all components)? I'm having problems with this. If the size of a column on database is 20, and the user fill 20 characters on this field and one character is, for example, , wicket will convert it to 'gt;' and when try to save the field will have more than 20 characters. I just don't want to call setEscapeModelStrings(false) for every text field on my application Thank you Marco -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: the wicket markup reference
Do you mean http://cwiki.apache.org/WICKET/wickets-xhtml-tags.html? Regards, Erik. Vitaly Tsaplin schreef: Hi everyone, Is there any wicket markup reference? Is it documented? Vitaly -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Amsterdam Community meeting 2008
I have been keeping an eye on http://cwiki.apache.org/WICKET/wicket-community-meetups-amsterdam.html but it is not up to date. Regards, Erik. Martijn Dashorst wrote: Yes, it is tuesday april 8th. Martijn On 3/18/08, Uwe Schäfer [EMAIL PROTECTED] wrote: hi is there a definite Date for the Meetup in Amsterdam, yet? At least people from abroad might have to plan for it, make/move Dates, book trains etc., so that it would be nice to have a Date people agreed upon soon. cu uwe - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Insert dynamic/external HTML string in a page
You were on the right track, label is the right choice. You need to provide Label a model that retrieves the string from your db. How you write that model is up to you. (I guess you already have this part.) If you do not want the encoding, call setEscapeModelStrings(false) on the label. Regards, Erik. mmocnik wrote: Hi, I'm currently searching for a way to insert an HTML String which I get out of a DB into a Wicket Page. The HTML string is from another application, so I can't change anything in it. My first approach was to use a Label, but as Labels encode HTML entities, this failed... I just can't find any Component, that would fit here. Any sugestions on a component or alternate aproaches? Thanks and regards, Marko -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to pre-select a DropDownChoice
http://cwiki.apache.org/WICKET/dropdownchoice.html Hoover, William wrote: Can you add this to the wiki (http://cwiki.apache.org/WICKET/dropdownchoice-examples.html)? It seems like a commonly asked question :o) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [vote] Release 1.4 with only generics and stop support for 1.3
+1 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to pre-select a DropDownChoice
Funny, I answered the same question to my colleague this morning. Below the code I gave him. What happens is that the model is wrapped in another model. The wrapping model has a defaultModel that is used to return a value when the underlying model returns null. Below the model wrapper you find an example on how to use it. If you find something better, please let us know :) import org.apache.wicket.model.IChainingModel; import org.apache.wicket.model.AbstractWrapModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.IWrapModel; /** * * @author Erik van Oosten */ public class DefaultingModelWrapper implements IWrapModel { private IModel wrappedModel; private IModel defaultModel; public DefaultingModelWrapper(IModel wrappedModel, IModel defaultModel) { this.wrappedModel = wrappedModel; this.defaultModel = defaultModel; } public IModel getWrappedModel() { return wrappedModel; } public Object getObject() { Object value = wrappedModel.getObject(); if (value == null) { value = defaultModel.getObject(); } return value; } public void setObject(Object object) { wrappedModel.setObject(object); } public void detach() { wrappedModel.detach(); defaultModel.detach(); } } public class DefaultingCountryDropDown extends CountryDropDown { public DefaultingCountryDropDown(String id, IModel model) { super(id, new DefaultingModelWrapper(model, new Model(NL))); } public DefaultingCountryDropDown(String id) { super(id, new DefaultingModelWrapper(getModel(), new Model(NL))); } } Regards, Erik. Juan Gabriel Arias wrote: DropDownChoice has a lot of contructors. One of them, DropDownChoice(String id, IModel model, IModel choices, ...) The first model, could be named selectedModel. And represents the selected object, with a wicket model. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ajax form validation... i can't get it work!
Hi Daniel, You should really read http://java.sun.com/j2se/1.5.0/docs/api/java/util/ConcurrentModificationException.html. You'll find that you have some code that iterates over a collection, and within that iteration the collection is modified. Regards, Erik. Daniel Alonso wrote: Sorry to disturb you again, guys, but i'm on a great problem. I have to delivered a prototype of a brand new application at my work, and we try to defense the idea of doing with wicket. The thing is that I must do a validation form like this (exactly, the same). http://wicketstuff.org/wicketdojo13/?wicket:bookmarkablePage=%3Aorg.wicketstuff.dojo.examples.validation.ValidationTestPageDisplayer Example I have been testing this example, but the problem is that there is a bug associated with my environment (wicket 1.3 and wicketDojo) and i can't get this example working, because I get a java.util.ConcurrentModificationException May anybody give a short example of how to do the same, but in another way? I'm in a hurry and it would be very appreciated... Thanks in advance and sorry again. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DropDownChoice getting value into the model
Hi Vitaly, That is correct. For primitive model values you need something like a map. I think the DropDownBox was more designed for complex data where the data to display is embedded in the model value itself. Anyway, how would the addition of an index argument to the display method help? Regards, Erik. Vitaly Tsaplin schreef: Hi everyone, Hi Erik, I am sorry for so late post. But am going to go back to our DropDownChoice discussion. If you suggest me to create a list of integers and use a special renderer implementation to retrieve a displayable value you should take into account that in case if we have a list of indices we can easily look up in an array or a list using an index. But if we have a list of unordered integers for example to do such a lookup we need to create a map and search this map every time we render a single option. That comes from the fact that a relationship between a value and its displayable equivalent is not obvious for a renderer. So I would ask to add an index of an options being rendered to the getDisplayValue method. Vitaly - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How can I update the repeatingview periodically
The problem is in the models of the labels. These are statically assigned once. fix: protected void populateItem(Item item) { item.setModel(new CompoundPropertyModel(item.getModel())); ThreadInfo threadInfo=(ThreadInfo)item.getModelObject(); Label threadIdLabel=new Label(threadIdStr); Label methodNameLabel=new Label(methodName); Label timeStampLabel=new Label(timeStamp); item.add(threadIdLabel); item.add(methodNameLabel); item.add(timeStampLabel); } Regards, Erik. maggie wrote: Hi, all, I develope a repeatingview to show some information like the clock example, updating the clock with AjaxSelfUpdatingTimerBehavior. I want to update these information periodiacally. But it takes no effect. Would anyone give me some hints? ** final RefreshingView view=new RefreshingView(view1){ protected Iterator getItemModels() { ThreadDataProvider provider=new ThreadDataProvider(); return provider.iterator(); } protected void populateItem(Item item) { ThreadInfo threadInfo=(ThreadInfo)item.getModelObject(); Label threadIdLabel=new Label(ThreadId, threadInfo.getThreadIdStr()); Label methodNameLabel=new Label(MethodName, threadInfo.getMethodName()); Label timeStampLabel=new Label(TimeStamp, threadInfo.getTimestamp().toString()); item.add(threadIdLabel); item.add(methodNameLabel); item.add(timeStampLabel); } }; view.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(5))); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Interesting markup question
Hi, I recently tried the following in a panel's markup: div wicket:id=menu/div add(new MenuPanel(menu)); and in MenuPanel.html: wicket:panel class=menuBar ... /wicket:panel Unfortunately the class attribute was not put in the result. It was even silently ignored! WDYT, is this desired behavior? FYI, this is my workaround: wicket:container wicket:id=menu/wicket:container add(new MenuPanel(menu)); and in MenuPanel.html: wicket:panel div class=menuBar ... /div /wicket:panel Regards, Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Interesting markup question
Hi Maurice, Nice, I did not think of the setRenderBody option. Thanks! Erik. -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ Maurice Marrink wrote: The logic thing would be to add the class to the div: div wicket:id=menu class=menuBar/div However i can see your point of adding it to wicket:panel if you want to enforce it on all menu's. Sure would be nice if wicket could automatically transfer anything extra it finds there to the actual element, but then what would be the behavior if setRenderbodyOnly was used, they would effectively bypass your enforced css style. So imo using a div in wicket:panel to do this, optionally in combination with setRenderbodyOnly to get rid of the empty div wicket:id=menu is the best way to go if you want to force this kind of stuff. Maurice - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ajaxified dynamic lists as parts of bigger forms
Hi Wojciech, I am sorry, it appeared I wrote too quickly. This morning I found out that what I wrote mostly does not work. You /can/ call processInput() on any form component (if not all). This will make that particular form component puts its value in the model. But any way, the nested forms seems the way to go. I prefer the refreshing repeater as does not have the tricky model-re-use-problem. Still, ListView works fine if you know how to use it. AjaxSubmitLink is of course fine too. Personally I try to avoid components that completely depend on Javascript. Regards, Erik. Wojciech Biela wrote: Thank you Erik, You should use Buttons instead of links. Button (or AjaxFallbackButton) does submit the form. Why, should I submit using links? we've just done it using a nested form and attaching a AjaxSubmitLink to it. The only thing you need to do is disable validation on the button (call button.setDefaultFormProcessing(false)), otherwise the onSubmit of the button is not called when some field in the form does not validate. You can optionally call form.validate() in the onSubmit of the button so that validation messages do not disappear. Problem is I can't call form.validate() or more importantly form.updateFormComponentModels from the link's onSubmit method because those methods are private. What's the preferred way to retain user input without validating it a doing other form processing magic? OT: personally, in forms I prefer RefreshingView instead of ListView why's that? how does it compare to ListView (with list.setReuseItems(true) and list.removeAll in onSubmit)? I haven't found much on it besides a few sentences in http://cwiki.apache.org/WICKET/tables-and-grids.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ajaxified dynamic lists as parts of bigger forms
Hi Wojciech, You should use Buttons instead of links. Button (or AjaxFallbackButton) does submit the form. The only thing you need to do is disable validation on the button (call button.setDefaultFormProcessing(false)), otherwise the onSubmit of the button is not called when some field in the form does not validate. You can optionally call form.validate() in the onSubmit of the button so that validation messages do not disappear. OT: personally, in forms I prefer RefreshingView instead of ListView. Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ Wojciech Biela wrote: Hello This time my question is not so general. We have a big form, part of this form there is a component which should be a dynamic list of fields like this: |TextField| - remove |TextField| - remove |TextField| - remove |TextField| - add if you click add another row |TextField| - remove should appear at the bottom, it you should click remove then this row should be removed problem we have is that the add and remove link does not send the form, it only sends and ajax request to add an element to the list of components and it operates (target) on a DIV that wraps the whole list, so afterwards it renders the list again loosing values that were already put in what is the preferred method to do such a thing? should the add and remove link be a submit link with defaultFormProcessing set to false? or maybe should we try to save values to model objects onchange in the respective fields themselves isn't there a way to do it in a neat fashion? code responsible for the list component is wrapper = new WebMarkupContainer(attributes-wrapper); listView = new ListView(attributes, attributeValuesList) { public void populateItem(final ListItem listItem) { final AttributeValue attributeValue = (AttributeValue) listItem.getModelObject(); Renderer inputRenderer = attributeValue.getAttribute().getInputRenderer(); Component component = inputRenderer.getComponent(attributeValue); listItem.add(component); AjaxLink addLink = new AddLink(add-link); AjaxLink removeLink = new RemoveLink(remove-link, listItem); if (listItem.getIndex() (listView.getViewSize() - 1)) { addLink.setVisible(false); } else { removeLink.setVisible(false); } listItem.add(addLink); listItem.add(removeLink); } }; wrapper.setOutputMarkupId(true); HTML is div wicket:id=attributes-wrapper class=composit-wrapper div wicket:id=attributes class=composit div wicket:id=attributeAndValue class=composit-item/div div class=composit-links a wicket:id=add-link+ add/a a wicket:id=remove-link- remove/a /div /div /div - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Markup Rendering issues
Hi Jörn, -- Ids This one of the exceptions in just taking existing HTML. Our designers also use jquery and solved the problem by using classes. Something like: class=idCommentForm. For jquery it doesn't matter much, and by including id in the class name the intend is still clear. -- Wicket tags This is all time high FAQ :) Do getMarkupSettings().setStripWicketTags(true) in the init() of your application class. (I still wonder why it is not the default.) -- Url handling There is a lot to say on this topic (and a lot has been said). Its best to search the lists and ask again with more specific questions. Mounting bookmarkable pages could indeed alleviate your problem. Mounting is typically done in the init() method of your application. Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ Jörn Zaefferer wrote: Hi, I've got a few rendering issues with wicket: I'd like to use IDs to select elements via jQuery on the clientside, eg. a form with wicket:id=commentForm should also have id=commentForm. Wicket generates id=commentForm4 or id=commentForm5 - I've got no idea where that number comes from. Specifying an id-attribute doesn't help, it gets overwritten. So far I was unable to select elements via jQuery using the wicket:id attribute, most likely the namespace and colon kills the attribute selector. In other words: How can I instruct Wicket to render and static id-attribute? Another, similar issue: Wicket renders stuff like wicket:child and wicket:panel into the HTML markup. While the browser ignores it, I don't know why Wicket doesn't filter out those instructional markups instead. Is that configurable? All in all, I'd like to use Wicket without making it obvious to someone reading the markup that Wicket is used to generate it. So not tags and attributes with the wicket namespace should appear in the markup - I'm not using Wickets Ajax stuff anyway. For completeness, the action attribute of my form must be modified, too. Currently the contain something like ../?wicket:interface=:1:loginForm::IFormSubmitListener::. How can I replace that, eg. mount a static URL for that form? I guess most of this is easy to resolve and I just don't know enough about Wicket, yet. Pointers or solutions are both highly appreciated. Thanks Jörn Zaefferer - 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]
Re: Markup Rendering issues
Hi Gin, I understand the reasoning. I have just never ever had any use for this debugging feature. Oh, well. It is only one line of code ;) Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ Gin Yeah wrote: -- Wicket tags This is all time high FAQ :) Do getMarkupSettings().setStripWicketTags(true) in the init() of your application class. (I still wonder why it is not the default.) Don't explicitly turn off wicket tag, unless you have real good reason to. This setting is automatically determined by the development/deployment configuration. When run in 'deployment' mode, wicket tags are stripped. In development mode, they are not to help debugging. You control the development/deployment mode in web.xml: init-param param-nameconfiguration/param-name param-valuedevelopment or deployment/param-value init-param - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Updated: (WICKET-1355) Autocomplete window has wrong position in scrolled context
[ https://issues.apache.org/jira/browse/WICKET-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Erik van Oosten updated WICKET-1355: Attachment: (was: wicket-autocomplete.js) Autocomplete window has wrong position in scrolled context -- Key: WICKET-1355 URL: https://issues.apache.org/jira/browse/WICKET-1355 Project: Wicket Issue Type: Bug Components: wicket-extensions Affects Versions: 1.3.1 Reporter: Erik van Oosten Fix For: 1.3.2 When the autocompleted field is located in a scrolled div, the drop-down window is positioned too far down. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (WICKET-1355) Autocomplete window has wrong position in scrolled context
[ https://issues.apache.org/jira/browse/WICKET-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Erik van Oosten updated WICKET-1355: Attachment: wicket-autocomplete.js Removed the non-working attachment. The currently attached version works on all regular browsers. Note: we had to move the drop-down div to another location to prevent it from staying on the same location on the screen while the content is scrolled. It is now the sibling of the input element. This may cause problems in css. Autocomplete window has wrong position in scrolled context -- Key: WICKET-1355 URL: https://issues.apache.org/jira/browse/WICKET-1355 Project: Wicket Issue Type: Bug Components: wicket-extensions Affects Versions: 1.3.1 Reporter: Erik van Oosten Fix For: 1.3.2 Attachments: wicket-autocomplete.js When the autocompleted field is located in a scrolled div, the drop-down window is positioned too far down. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
gmap vs gmap2?
Hello, What are the differences between the wicket-stuff projects gmap and gmap2? Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: gmap vs gmap2?
Thanks Martin, Ryan, I tried to run the examples of gmap2 today (no time for the code yet). Just as an experiment I compiled gmap2 against the wicket 1.3.1 release instead of the documented Wicket trunk. The examples work, so I guess it is possible to change the dependency. I am also searching for a google-map component that allows you to select an area (a rectangle) on a map. Are there existing components that do this? Regards, Erik. Ryan Gravener wrote: I would recommend gmap2 as well. On Sat, Feb 23, 2008 at 12:38 PM, Martin Funk [EMAIL PROTECTED] wrote: gmap was there first and gmap2 was inspired by it and both try to deliver the same service. I personally think that gmap2 has the more efficient approach. But as I'm quite involved in developing it, this opinion of mine might not be objective. If you are looking for objectivity you might have to look into the code or wait for other opinions. mf ps.: gmap2 has the nicer powerpoint slides :-) http://www.slideshare.net/mfunk/wicket-contrib-gmap2/ 2008/2/23, Erik van Oosten [EMAIL PROTECTED]: Hello, What are the differences between the wicket-stuff projects gmap and gmap2? Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - 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]
Re: (Server-independent) Comet support in Wicket?
Jörn Zaefferer wrote: On Feb 20, 2008 3:50 AM, Erik van Oosten [EMAIL PROTECTED] wrote: Jörn Zaefferer wrote: ... The architecture must support several both dependent and independent components on a single page which get updated based on server-events, be it on schedules or events triggered by other users. Wicket currently support updates through timers on the client side. Can you point me at a resource that provides some details on that? http://people.apache.org/~tobrien/wicket/apidocs/org/apache/wicket/ajax/AjaxSelfUpdatingTimerBehavior.html I've never used it. But I guess you'll just do something like: Component p = new MyPanel(mypanelid); add(p); p.setOutputMarkupId(true); p.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(2)); The component will now re-render itself every 2 seconds. While the exact number of simultaneous users isn't clear yet, up to 10k must be possible with the appropriate hardware. That is quite huge, for any framework. Because of the way Wicket uses the HTTP session, you are probably best of with a Terracotta cluster. To that regard: Is there a document that describes Wicket architecture? It looks like I need a good understand of the session usage when dealing larger number of users. Yes, that would be essential (as with any framework). Important reads: http://people.apache.org/~tobrien/wicket/apidocs/org/apache/wicket/protocol/http/pagestore/DiskPageStore.html http://www.nabble.com/DiskPageStore-improvements-for-1.3.1-p14711582.html http://cwiki.apache.org/WICKET/wicket-inside.html I did not yet find a link that explains what Wicket puts in the session. But basically (in Wicket 1.3) it is the entire component tree instance of the last page that was rendered to the user (including all model instances, but excluding data in detachable models). Nothing else goes to the session. The page does not go the session when it includes bookmarkable links only (which is very rare). Another use case that is supported is login forms. (For both: look up stateless pages). Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Good news on Wicket in Action
http://martijndashorst.com/blog/2008/02/20/wicket-in-action-fit-for-production/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: (Server-independent) Comet support in Wicket?
Jörn Zaefferer wrote: ... The architecture must support several both dependent and independent components on a single page which get updated based on server-events, be it on schedules or events triggered by other users. Wicket currently support updates through timers on the client side. While the exact number of simultaneous users isn't clear yet, up to 10k must be possible with the appropriate hardware. That is quite huge, for any framework. Because of the way Wicket uses the HTTP session, you are probably best of with a Terracotta cluster. Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]