Getting position of elements in a ListView
Hi all, I use a ListView holding Components to implement a dynamic form, i.e., where the user can add and remove DropDownChoices herself. (See http://cwiki.apache.org/WICKET/forms-with-dynamic-elements.html.) Now, a problem is the removal of elements when the user clicks the remove link next to a DDC. My original code looks like that: ListView menuList = new ListView(MENU_LIST_ID, dropdownMenus) { public void populateItem(final ListItem item) { final DropDownChoice choice = (DropDownChoice)item.getModelObject(); item.add(choice); AjaxFallbackLink removeMenuLink = new AjaxFallbackLink(REMOVE_MENU_LINK_ID) { public void onClick(final AjaxRequestTarget target) { // Parent is the ListView, its model object is the list of menus. ListPositionAwareDropDownChoice choices = (ListPositionAwareDropDownChoice) item.getParent().getModelObject(); choices.remove(choice); target.addComponent(enclosingContainer); } }; removeMenuLink.add(new Label(REMOVE_MENU_LINK_TEXT_ID, removeMenuLinkText)); item.add(removeMenuLink); } However, choices.remove(choice) doesn't always work because the list doesn't seem to contain the DDC choice, i.e., equals() is not true. So I thought of removing the DDC by their position in the list, but that means I have to store it myself. Currently, I extended DDC, adding getPos() and setPos(). The line where the removal happens now looks like that: choices.remove( ((PositionAwareDropDownChoice)choice).getPos() ); It seems a bit clunky and verbose to me. Does anyone know of a better way? Cheers, Thomas - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to secure passwords?
John Krasnay wrote: I see from your later posts that your requirements are not that strict, but if anyone else on the list needs to do password hashing, here's one of the best articles I've seen on it: http://www.matasano.com/log/958/enough-with-the-rainbow-tables-what-you-need-to-know-about-secure-password-schemes/ jk This article is a total rant with lots of stupid inaccurate information. For example: 1. take a “dictionary” —- say, of all combinations of alphanumerics less than 15 characters 2. hash all of them 3. burn the results onto a DVD. The keyspace is size is 62^15-1 = 76890970494878552634367. That means if you can save a hash in 1 byte you still need about 143220593211942663 DVD's. Next he goes on to state: Speed is exactly what you don’t want in a password hash function. You don’t care if password tests take twice as long, or even ten times as long, because password hashes aren’t in the 80/20 hot spot. Now the attacker. This is easy. The attacker cares a lot if password tests take twice as long. If one password test takes twice as long, the total password cracking time takes twice as long. But if you add 2 characters to your salt you increase your search space by a factor 3844. And that's just 2 characters; this technique is scalable. Add 10 characters to your salt and you increase the time it takes to crack (brute force) by a factor of 839299365868340224. Obviously you can't make a hash function 839299365868340224 times slower because it won't be able to check your password when you log in. Finally he goes on to assume stupid stuff like this: So when you inevitably lose your SQL password table, you haven’t exposed all the passwords; just the crappy ones. Again you've got more to worry about when you lose your SQL database. It's all about risk management. You can change your password hashing from salt + MD5 to a high grade industrial strength solution. But it's wasted effort: because MD5 + a long salt is not even close to the weakest link in your system, and your total security is only as good as your weakest link. And with passwords, the weakest link is always the user; you'll have 1/2 of your password database cracked anyway by a simple dictionary attack if you lose the database. And the users will blame YOU for losing it, so don't. Regards, Sebastiaan smime.p7s Description: S/MIME Cryptographic Signature
Important concept in wicket? Please advise
Hi to all, I want to display one label when I click one button. I have wrote the code. but i am not able to display that message. my code is looking like file name : FilterPanel.java public final class ReportForm extends Form { public ReportForm(String s, final Reports model) { super(s); setOutputMarkupId(true); PropertyModel filterPanelMsgModel = new PropertyModel(this, validationMessage); final Label filterPanelMsgLabel = new Label(validationMsgLabel, filterPanelMsgModel); filterPanelMsgLabel.setEscapeModelStrings(false); filterPanelMsgLabel.setOutputMarkupId(true); add(filterPanelMsgLabel); //in submit button, AjaxSubmitLink saveButton = new AjaxSubmitLink(saveButton, this) { protected void onSubmit(AjaxRequestTarget target, Form form) { // To display the string in html page. setValidationMessage(Please enter valid date); } } //getter and setter methods private String validationMessage =; public String getValidationMessage() { return validationMessage; } public void setValidationMessage(String validationMessage) { this.validationMessage = validationMessage; } in FilterPanel.html span wicket:id=validationMsgLabel[Message goes here]/span in the above code, i did not get any error in console. And I am not able to view the message. Why? Please advise. Thanking You. Regards, Edi -- View this message in context: http://www.nabble.com/Important-concept-in-wicket--Please-advise-tf4942095.html#a14147573 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to secure passwords?
Sebastiaan van Erk wrote: Next he goes on to state: Speed is exactly what you don’t want in a password hash function. You don’t care if password tests take twice as long, or even ten times as long, because password hashes aren’t in the 80/20 hot spot. Now the attacker. This is easy. The attacker cares a lot if password tests take twice as long. If one password test takes twice as long, the total password cracking time takes twice as long. But if you add 2 characters to your salt you increase your search space by a factor 3844. And that's just 2 characters; this technique is scalable. Add 10 characters to your salt and you increase the time it takes to crack (brute force) by a factor of 839299365868340224. Obviously you can't make a hash function 839299365868340224 times slower because it won't be able to check your password when you log in. Oops, bit trigger happy on that one. ;-) Of course slowing down your hash function DOES help against dictionary attacks and brute force on the password itself (instead of on the hash). However, even if you slow it down to 1 second per hash a cracker will easily be able to do dictionary attacks with his botnet, so it does not adequately protect weak passwords anyway. And 1 second per hash is quite expensive for a high volume site. So I still think you're better of make sure you don't lose your password database instead of making the login slow. Regards, Sebastiaan smime.p7s Description: S/MIME Cryptographic Signature
wicket cluster on tomcat 6
Lo, I have been trying to make Tomcat cluster with Wicket, but every time when there is some operation which use session bound information (backpage object, models...etc.) PageExpired error occures. It seems rather like problem in cluster configuration not in wicket, but maybe somebody here has some experience with this. Note that everything is ok when one of two cluster node (one of server) is turn off. (all requests are managed by only one server) or when requests are made on stateless pages. Apache HTTP (as loadbalancer) httpd.conf JkMount /wicketapp/* router worker.properties worker.list=router # Set properties for worker1 (ajp12) worker.worker1.type=ajp13 worker.worker1.host=server1 worker.worker1.port=8009 worker.worker1.lbfactor=1 worker.worker1.redirect=worker2 # Set properties for worker2 (ajp13) worker.worker2.type=ajp13 worker.worker2.host=server2 worker.worker2.port=8009 worker.worker2.lbfactor=1 worker.worker2.connection_pool_timeout=600 worker.worker2.socket_keepalive=1 worker.worker2.socket_timeout=60 # Define the LB worker worker.router.type=lb worker.router.balance_workers=worker1,worker2 Tomcat 6 server.xml Cluster className=org.apache.catalina.ha.tcp.SimpleTcpCluster name=wicketapp managerClassName=org.apache.catalina.ha.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true Channel className=org.apache.catalina.tribes.group.GroupChannel Membership className=org.apache.catalina.tribes.membership.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.tribes.transport.nio.NioReceiver tcpListenAddress=auto tcpListenPort=11901 tcpSelectorTimeout=100 tcpThreadCount=2/ Sender className=org.apache.catalina.tribes.transport.ReplicationTransmitter replicationMode=synchronous Transport className=org.apache.catalina.tribes.transport.nio.PooledParallelSender/ /Sender /Channel Valve className=org.apache.catalina.ha.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;.*\.css/ Deployer className=org.apache.catalina.ha.deploy.FarmWarDeployer tempDir=clusterzone/war-temp/ deployDir=clusterzone/war-deploy/ watchDir=clusterzone/war-listen/ watchEnabled=true/ /Cluster -- View this message in context: http://www.nabble.com/wicket-cluster-on-tomcat-6-tf4942245.html#a14147973 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket Modal Window
I had similar problem. I changed Button to AjaxButton and override onError() and everything was alright. Note that you must call setOutputMarkupId(true) on components which use in another ajax-enabled component (like AjaxButton is..). In case below I must call feedback.setOutputMarkupId(true) where feedback = new Feedback(feedback's wicket id). like this: Button btnOk = new AjaxButton(btnOk, form) { @Override protected void onSubmit(AjaxRequestTarget target, Form form) { // something to do, when everything is ok and valid... } @Override protected void onError(AjaxRequestTarget target, Form form) { target.addComponent(feedback); // show feedback message in feedback component } }; This works ok. Edi wrote: I have displayed a Wicket modal window(pop-up). it contains one text box with button. I have done date validation, if i give wrong date in text box, I have set the message in label. But label have not displayed. Please explain... -- View this message in context: http://www.nabble.com/Wicket-Modal-Window-tf4937030.html#a14147964 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket Modal Window
I am using AjaxSubmitLink saveButton = new AjaxSubmitLink(saveButton, this) { and I have set setOutputMarkupId(true); and setEscapeModelStrings(false); But I am not able to display the message. Could you tell me the reasons for not displaying the message in script? michalb_cz wrote: I had similar problem. I changed Button to AjaxButton and override onError() and everything was alright. Note that you must call setOutputMarkupId(true) on components which use in another ajax-enabled component (like AjaxButton is..). In case below I must call feedback.setOutputMarkupId(true) where feedback = new Feedback(feedback's wicket id). like this: Button btnOk = new AjaxButton(btnOk, form) { @Override protected void onSubmit(AjaxRequestTarget target, Form form) { // something to do, when everything is ok and valid... } @Override protected void onError(AjaxRequestTarget target, Form form) { target.addComponent(feedback); // show feedback message in feedback component } }; This works ok. Edi wrote: I have displayed a Wicket modal window(pop-up). it contains one text box with button. I have done date validation, if i give wrong date in text box, I have set the message in label. But label have not displayed. Please explain... -- View this message in context: http://www.nabble.com/Wicket-Modal-Window-tf4937030.html#a14148748 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Thx everybody that attended the user group meeting in The Netherlands
darn, slideshare can't convert my presentation I'll try something else real soon, too busy now :( regards, Wouter -- Wouter Huijnink Func. Internet Integration W http://www.func.nl T +31 20 423 F +31 20 4223500 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Important concept in wicket? Please advise
make filterPanelMsgLabel a member attribute add e.g. final Label l = new Label(validationMsgLabel, newtexthere); l.setOutPutMarkupId(true); filterPanelMsgLabel.replaceWith(l); target.addComponent(l); filterPanelMsgLabel = l; in the onclick method ... or am I missing the point? Michael Hi to all, I want to display one label when I click one button. I have wrote the code. but i am not able to display that message. my code is looking like file name : FilterPanel.java public final class ReportForm extends Form { public ReportForm(String s, final Reports model) { super(s); setOutputMarkupId(true); PropertyModel filterPanelMsgModel = new PropertyModel(this, validationMessage); final Label filterPanelMsgLabel = new Label(validationMsgLabel, filterPanelMsgModel); filterPanelMsgLabel.setEscapeModelStrings(false); filterPanelMsgLabel.setOutputMarkupId(true); add(filterPanelMsgLabel); //in submit button, AjaxSubmitLink saveButton = new AjaxSubmitLink(saveButton, this) { protected void onSubmit(AjaxRequestTarget target, Form form) { // To display the string in html page. setValidationMessage(Please enter valid date); } } //getter and setter methods private String validationMessage =; public String getValidationMessage() { return validationMessage; } public void setValidationMessage(String validationMessage) { this.validationMessage = validationMessage; } in FilterPanel.html span wicket:id=validationMsgLabel[Message goes here] - Michael Sparer http://talk-on-tech.blogspot.com -- View this message in context: http://www.nabble.com/Important-concept-in-wicket--Please-advise-tf4942095.html#a14150001 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Important concept in wicket? Please advise
you must add the component you want to update to the target in onSubmit method, like this: target.addComponent(filterPanelMsgLabel); The code, tells to wicket which component to update on ajax request. Alex. Hi to all, I want to display one label when I click one button. I have wrote the code. but i am not able to display that message. my code is looking like file name : FilterPanel.java public final class ReportForm extends Form { public ReportForm(String s, final Reports model) { super(s); setOutputMarkupId(true); PropertyModel filterPanelMsgModel = new PropertyModel(this, validationMessage); final Label filterPanelMsgLabel = new Label(validationMsgLabel, filterPanelMsgModel); filterPanelMsgLabel.setEscapeModelStrings(false); filterPanelMsgLabel.setOutputMarkupId(true); add(filterPanelMsgLabel); //in submit button, AjaxSubmitLink saveButton = new AjaxSubmitLink(saveButton, this) { protected void onSubmit(AjaxRequestTarget target, Form form) { // To display the string in html page. setValidationMessage(Please enter valid date); } } //getter and setter methods private String validationMessage =; public String getValidationMessage() { return validationMessage; } public void setValidationMessage(String validationMessage) { this.validationMessage = validationMessage; } in FilterPanel.html span wicket:id=validationMsgLabel[Message goes here] -- View this message in context: http://www.nabble.com/Important-concept-in-wicket--Please-advise-tf4942095.html#a14150303 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: annoying alert message while closing modal window with wizard
You need to use ajax button to properly close the window. Alternatively, you can put this script to your page (only for 1.3): script type=text/javascript Wicket.Window.unloadConfirmation = false; /script -Matej On Dec 3, 2007 7:48 PM, narup [EMAIL PROTECTED] wrote: Hello All, I am using a custom wizard in a modal window, so i have my own custom button bar such as next, previous, finish and cancel. so when i click cancel or finish. i get this alert message. http://www.nabble.com/file/p14136120/alert.jpeg if i append the javascript like this target.appendJavascript(window.onbeforeunload=null); it cause the modal window to close but it does not do the save operation that i want to when i click finish button at the end. I tried to use the new wicket 1.3 wizard but got the same problem if anyone has any idea please let me know. Thanks -- View this message in context: http://www.nabble.com/annoying-alert-message-while-closing-modal-window-with-wizard-tf4938532.html#a14136120 Sent from the Wicket - User mailing list archive at Nabble.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: Wicket 1.3 rc1 Relative URLs not working properly
Hi, I encountered this problem a week ago, too, and digged a little into code and forum. Here's my summary: the problem seems to be the /* filter mapping. If you specify a /app/* filter mapping, relative URLs work just fine. In my base-page-class (all my pages are derived from it through Wicket's great markup inheritance) my stylesheet is referenced in the head-section by a relative reference like link rel=stylesheet type=text/css href=style/myapp.css / Checking the generated HTML in the browser (when using /* filter mapping) shows that this reference is modified by Wicket, so that it now reads link rel=stylesheet type=text/css href=../style/myapp.css / This is an invalid path and addresses a wrong location. I digged into the code and found that relative stylesheet and image references where automatically prepended by ../ by ServletWebRequest.getRelativePathPrefixToContextRoot(). This seems to work well for the /app/* filter mapping, but fails for /* (since theres no parent-directory in between to skip) I currently decided to use the /app/* filter mapping. Following workarounds came into my mind: 1. use of absolute references like /myapp/style/myapp.css. pro: works, Wicket doesn't modify the absolute paths cons: must code the context-path into all style and image references, which is a NO GO 2. use of /app/* filter mapping pro : works cons: after having seen the much nicer /* mapping I want to use it :-)) 3. in HTML it is possible to add a base href=http://localhost:8080/myapp// line into the head section, which is used to resolve all relative references pro : would be great, since it allows the use of relative URLs, and it must be configured in just one place (the base-page's head section) would also be great to use when using a front end server (Apache), since references would be resolved to root context cons: since Wicket isn't aware of the base tag, relative references are still modified and prepended by ../, so no stylesheets/images were found 4. fix it :-)) Related threads and infos: - is it a bug - use of /* filter mapping - http://www.nabble.com/is-it-a-bug--%28using-beta-4%29-tf4649929.html#a13284326 - Wicket behind a frontend proxy - http://www.nabble.com/Wicket-behind-a-front-end-proxy-t4776982.html - http://cwiki.apache.org/WICKET/best-practices-and-gotchas.html#BestPracticesandGotchas-WicketServletMapping Jeremy Levy-3 wrote: WICKET-1205 On Dec 3, 2007 5:16 PM, Jeremy Levy [EMAIL PROTECTED] wrote: Sorry for now explaining this properly. My application is deployed within a context of /1. The Wicket filter is mapped to /* of the app context. The first page of the site has url of http://www.somehost.com/1/welcomewhere welcome is mounted as a bookmarkable page. There is a link from the welcome page to a page that isn't bookmarked. The relative path of the CSS is incorrect on the page that isn't mounted as a bookmarkable page. If I make it bookmarkable the path to the CSS its correct. I'm going to create a quickstart project to demonstrate it and log a bug. J On Dec 3, 2007 4:40 PM, Johan Compagner [EMAIL PROTECTED] wrote: huh? i must be missing something here. you say to the first that it works and to the second that it doesn't if /1 is the context then would say the first is broken and the second should work. because the first the url is this: localhost/css/style.css but thats outside of the context. the second it seems to be localhost/1/css/xxx and that seems ok then But it is still strange that those 2 pages give different urls because both should be css/ as far as i see because they are on both on the same level. Please make a jira issue for this johan On Dec 3, 2007 4:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote: The /1 is the web app context. Change it to ../ breaks it on the pages that were working before. One thing I noticed is that if I deploy this to a server which has mod_proxy set up to hide the /1 it seems to work fine. j On Dec 3, 2007 4:10 AM, Johan Compagner [EMAIL PROTECTED] wrote: and /1/ is your servlyet path? what happens if you put ../css/style.css in your markup? Because from the normal page that is the css you want i guess? johan On Dec 2, 2007 11:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I just upgraded to Wicket 1.3, it was remarkably smooth. It took about 6 hours overall. Every single thing was explained very well in the migration guide and the things i was looking forward to in 1.3 are working perfectly. The only issue I am having is if I have a page this is not mounted as a bookmarkable page the relative paths for my stylesheet and other resources are written out incorrect. Below are examples for the same page
Re: How to secure passwords?
On Tue, Dec 04, 2007 at 09:36:21AM +0100, Sebastiaan van Erk wrote: John Krasnay wrote: I see from your later posts that your requirements are not that strict, but if anyone else on the list needs to do password hashing, here's one of the best articles I've seen on it: http://www.matasano.com/log/958/enough-with-the-rainbow-tables-what-you-need-to-know-about-secure-password-schemes/ jk This article is a total rant with lots of stupid inaccurate information. I disagree. The author's tone is a little condescending, but IMHO his advice is bang on. For example: 1. take a “dictionary” —- say, of all combinations of alphanumerics less than 15 characters 2. hash all of them 3. burn the results onto a DVD. The keyspace is size is 62^15-1 = 76890970494878552634367. That means if you can save a hash in 1 byte you still need about 143220593211942663 DVD's. Yeah, but that really doesn't really take away from his argument. Again you've got more to worry about when you lose your SQL database. It's all about risk management. You can change your password hashing from salt + MD5 to a high grade industrial strength solution. But it's wasted effort: because MD5 + a long salt is not even close to the weakest link in your system, and your total security is only as good as your weakest link. First, no one in this thread has even mentioned salts, yet a password hashing scheme without them would be completely inadequate. Further, the author correctly points out that a randomly-generated salt, stored with the password hash, is far more secure than a secret constant salt. Second, the high grade industrial strength solution the author suggests is salt+BCrypt instead of salt+MD5. Sure, it's a little more effort to download jBCrypt (http://www.mindrot.org/projects/jBCrypt/) than to use MD5, but not that much. And with passwords, the weakest link is always the user; you'll have 1/2 of your password database cracked anyway by a simple dictionary attack if you lose the database. The whole point of using random salts + slow hashing is to make even simple passwords hard to crack when your DB is stolen. And the users will blame YOU for losing it, so don't. Hey, there's some good security advice. Don't worry about your password hashing scheme, just don't let anyone steal your database. Ask the guys at Reddit how that worked out (http://blog.moertel.com/articles/2006/12/15/never-store-passwords-in-a-database). jk - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket Modal Window
could you attach your code? -- View this message in context: http://www.nabble.com/Wicket-Modal-Window-tf4937030.html#a14151291 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: annoying alert message while closing modal window with wizard
I tried the javascript and never got it to suppress the pop up, did it work for you? On 04/12/2007, Matej Knopp [EMAIL PROTECTED] wrote: You need to use ajax button to properly close the window. Alternatively, you can put this script to your page (only for 1.3): script type=text/javascript Wicket.Window.unloadConfirmation = false; /script -Matej On Dec 3, 2007 7:48 PM, narup [EMAIL PROTECTED] wrote: Hello All, I am using a custom wizard in a modal window, so i have my own custom button bar such as next, previous, finish and cancel. so when i click cancel or finish. i get this alert message. http://www.nabble.com/file/p14136120/alert.jpeg if i append the javascript like this target.appendJavascript(window.onbeforeunload=null); it cause the modal window to close but it does not do the save operation that i want to when i click finish button at the end. I tried to use the new wicket 1.3 wizard but got the same problem if anyone has any idea please let me know. Thanks -- View this message in context: http://www.nabble.com/annoying-alert-message-while-closing-modal-window-with-wizard-tf4938532.html#a14136120 Sent from the Wicket - User mailing list archive at Nabble.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]
two dropdownchoice inputs combined as a fragment/panel/component ??
Hi all, I'm now on the second phase of the project I'm working on and starting to find cases where I'm repeating code which means one thing : refactor. As an example I've got two dropdowns that select make and model with a bit of ajax to populate the second dropdown, these are always going to be together so it makes sense to permanently couple them and be done with it. What is the best way to prevent duplication in a case such as this while still keeping the ability to validate etc? Many thanks Simon
Re: How to secure passwords?
John Krasnay wrote: For example: 1. take a “dictionary” —- say, of all combinations of alphanumerics less than 15 characters 2. hash all of them 3. burn the results onto a DVD. The keyspace is size is 62^15-1 = 76890970494878552634367. That means if you can save a hash in 1 byte you still need about 143220593211942663 DVD's. Yeah, but that really doesn't really take away from his argument. I think it does. Makes me wonder if he knows what he's talking about for one. He suggests you do something which is impossible, and with a condescending tone at that. First, no one in this thread has even mentioned salts, yet a password hashing scheme without them would be completely inadequate. Further, the author correctly points out that a randomly-generated salt, stored with the password hash, is far more secure than a secret constant salt. I certainly mentioned salts. :-) And a secret salt is not a salt, a salt by definition has to be random. Second, the high grade industrial strength solution the author suggests is salt+BCrypt instead of salt+MD5. Sure, it's a little more effort to download jBCrypt (http://www.mindrot.org/projects/jBCrypt/) than to use MD5, but not that much. The whole point of using random salts + slow hashing is to make even simple passwords hard to crack when your DB is stolen. I certainly don't disagree with you (or the author) that using BCrypt is better that MD5. But it won't protect your weak passwords. Sure, it'll take a little more effort; but the protection will not be enough. I've seen dictionary attacks on actual password databases with a relatively small dictionary succeed on 50% of the passwords. With botnets or other distribution methods, testing an entire dictionary (plus simple variations) will always be feasible. And the users will blame YOU for losing it, so don't. Hey, there's some good security advice. Don't worry about your password hashing scheme, just don't let anyone steal your database. Ask the guys at Reddit how that worked out (http://blog.moertel.com/articles/2006/12/15/never-store-passwords-in-a-database). I'm not saying NOT to use a password hashing scheme. But I think in the reddit case blaming it on the absence of password hashing is just finding a scapegoat; they had some MUCH MORE SERIOUS security failures when they let their database get stolen. Security failures you are NOT going to fix by introducing password hashing. For example, some elementary questions: 1) what was their security policy that allowed somebody who is unauthorized to access the backup database? 2) if the backup contained confidential information, why was it not encrypted? My original point was that MD5 hash plus salt is adequate in most use cases; and I still stand by that. If you're developing a high profile site, then I STRONGLY suggest you hire a security expert to audit your entire site: security policy, operating procedures, and systems. Regards, Sebastiaan smime.p7s Description: S/MIME Cryptographic Signature
Re: wicket cluster on tomcat 6
And the reason? Why back button won't work on cluster? Matej Knopp-2 wrote: Hi, at this point back button will not work across cluster (it's planned though). However, the failover for last accessed page should work anyway. If it doesn't, you have probably problem in your configuration. -Matej -- View this message in context: http://www.nabble.com/wicket-cluster-on-tomcat-6-tf4942245.html#a14151756 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: wicket cluster on tomcat 6
It has to do with the page store. Note that the back button will work, but clicking on links on the page after you use the back button will cause page expired. See: http://www.slideshare.net/jcompagner/session-stores-page-maps-and-pages/ if you want the nitty gritty details. But I still think you should first verify that this is actually what is happening. Regards, Sebastiaan michalb_cz wrote: And the reason? Why back button won't work on cluster? Matej Knopp-2 wrote: Hi, at this point back button will not work across cluster (it's planned though). However, the failover for last accessed page should work anyway. If it doesn't, you have probably problem in your configuration. -Matej smime.p7s Description: S/MIME Cryptographic Signature
Re: Ajax Memory Leak in IE
Matej, could the below exception also be caused by regression? This is the stack trace: 03ms server time taken for request app/?wicket:interface=:0:body:panel:leftToSellTab:panel:inventoryButtons:mainForm::IFormSubmitListener:: response size: 155862 [16:34:31.408] ERROR [http-8080-Processor6] RequestCycle - component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] org.apache.wicket.WicketRuntimeException: component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:411) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:456) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:343) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:193) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Thank you! Regards, Alex. Matej Knopp-2 wrote: Hi, sorry, it was a regression. Should be fixed in current trunk. -Matej -- View this message in context: http://www.nabble.com/Ajax-Memory-Leak-in-IE-tf4874611.html#a14151752 Sent from the
Re: Ajax Memory Leak in IE
Matej, could the below exception also be caused by regression? This is the stack trace: 03ms server time taken for request app/?wicket:interface=:0:body:panel:leftToSellTab:panel:inventoryButtons:mainForm::IFormSubmitListener:: response size: 155862 [16:34:31.408] ERROR [http-8080-Processor6] RequestCycle - component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] org.apache.wicket.WicketRuntimeException: component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:411) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:456) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:343) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:193) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Thank you! Regards, Alex. Matej Knopp-2 wrote: Hi, sorry, it was a regression. Should be fixed in current trunk. -Matej -- View this message in context: http://www.nabble.com/Ajax-Memory-Leak-in-IE-tf4874611.html#a14151753 Sent from the
component not coupled error
Hi , the liste i encounter an error WicketMessage: This component is not (yet) coupled to a page. It has to be able to find the page it is supposed to operate in before you can call this method (Component#getMarkupId) i suppose this error is a classic for a newbie , i'd like on an ajax click to open a modaldialog who belong to an other panel in the page is there a way to do this ? regards marc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Wrapping up the Amsterdam Wicket Meetup
Hi all, Thanks for all your kind words. I did have an excellent time last friday, and I'm very happy to hear everyone else did too. There were just a couple of things that didn't really work out - like the hackaton for example. Maybe it's because it was the first time, maybe it was because we were running an afternoon/evening show instead of the whole day. I'd like to do that differently next time. Also, I think the programme was quite pressing, given that it was at the end of the week *and* at the end of the day. Next time, I'd like to have some more kick ass demoing on stage just to keep up the vibe. I was exhausted afterwards :) But it was incredible to have so many people show up and stick around until 11 PM. At the peak, I counted 74 people in the room and given the fact that we had 92 people signed up, I think that was much more than we could've ever wished for. It says something about the community and the project when sending out 2 emails (one to the user list, one to the NLJUG list) is enough to bring together such a crowd. It also says something about the type of event - low barrier, easy access, and free. Community driven. It makes an excellent addition to the much broader targeted ApacheCon conferences [1], attracting new people to the Apache communities. I'm looking forward to the next edition :) What if we just block the same room again around the ApacheCon Europe in April? Not to be an alternative to ApacheCon - rather as an addition. This will give people even more reason to attend the ApacheCon. Let me know. Thanks everyone! -- Arjé Cahn, Hippo [1] http://www.eu.apachecon.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ajax Memory Leak in IE
Doesn't seem so. Is it reproducable? How does it happen? -Matej On Dec 4, 2007 3:43 PM, Alex Objelean [EMAIL PROTECTED] wrote: Matej, could the below exception also be caused by regression? This is the stack trace: 03ms server time taken for request app/?wicket:interface=:0:body:panel:leftToSellTab:panel:inventoryButtons:mainForm::IFormSubmitListener:: response size: 155862 [16:34:31.408] ERROR [http-8080-Processor6] RequestCycle - component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] org.apache.wicket.WicketRuntimeException: component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:411) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:456) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:343) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:193) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Thank you! Regards, Alex.
RE: Wrapping up the Amsterdam Wicket Meetup
Hi all, Just to warn you all - I've taken the liberty of making some reservations around the ApacheCon :) There's two possible locations: the building we were in, or another one which is quite NEXT to the ApacheCon venue (Pakhuis de Zwijger [1]). I've booked for the Friday before the ApacheCon (April 4), monday 7 and tuesday 8 of april. But I really need to discuss this with the ApacheCon Planners, as I don't want to mess with their training schedules on monday and tuesday (which are very important for ApacheCon revenues). So maybe the friday before is the best date after all. Anyway, the rooms are booked, start thinking about the content ;) -- Arjé [1] http://www.dezwijger.nl/index.php?nid=184 -Original Message- From: Arje Cahn [mailto:[EMAIL PROTECTED] Sent: dinsdag 4 december 2007 16:30 To: users@wicket.apache.org Subject: Wrapping up the Amsterdam Wicket Meetup Hi all, Thanks for all your kind words. I did have an excellent time last friday, and I'm very happy to hear everyone else did too. There were just a couple of things that didn't really work out - like the hackaton for example. Maybe it's because it was the first time, maybe it was because we were running an afternoon/evening show instead of the whole day. I'd like to do that differently next time. Also, I think the programme was quite pressing, given that it was at the end of the week *and* at the end of the day. Next time, I'd like to have some more kick ass demoing on stage just to keep up the vibe. I was exhausted afterwards :) But it was incredible to have so many people show up and stick around until 11 PM. At the peak, I counted 74 people in the room and given the fact that we had 92 people signed up, I think that was much more than we could've ever wished for. It says something about the community and the project when sending out 2 emails (one to the user list, one to the NLJUG list) is enough to bring together such a crowd. It also says something about the type of event - low barrier, easy access, and free. Community driven. It makes an excellent addition to the much broader targeted ApacheCon conferences [1], attracting new people to the Apache communities. I'm looking forward to the next edition :) What if we just block the same room again around the ApacheCon Europe in April? Not to be an alternative to ApacheCon - rather as an addition. This will give people even more reason to attend the ApacheCon. Let me know. Thanks everyone! -- Arjé Cahn, Hippo [1] http://www.eu.apachecon.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: San Francisco meetup
Al, If we have the meeting this Thursday, would you be able to do a presentation? Cheers, --Orion Al Maw wrote: I'm in California for three weeks starting next week, would be happy to come and do a presentation if you guys want one. Regards, Al - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/San-Francisco-meetup-tf4851591.html#a14154471 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wrapping up the Amsterdam Wicket Meetup
Congratulations, it sounds like you all had an experience to remember in Amsterdam. I've had a quick look at some of the slides (and photos); these seem to back up my hunch! It's already been around 6 months we since we started-up the http://jweekend.co.uk/dev/LWUGReg/ monthly London events ( http://jWeekend.co.uk jWeekend with http://herebebeasties.com Al Maw ). We have had varying attendances to date and our guests have told us how much they have enjoyed the events and presentations (although most of our lot seem to be too shy to post about it ;-). Maybe looking ahead, we can also organise an annual event where we try to get together our London Wicket Users Group event with yours and those of anyone else in the region who can make the trip to wherever we decide to run such an event; a European Wicket event peut-etre? jWeekend would be happy to contribute to the funding and organisation of this event too. If we give people plenty of notice and have a nice set of presentations lined-up, I imagine we'd have quite an event on our hands! Regards - Cemal http://jWeekend.co.uk http://jWeekend.co.uk Arje Cahn wrote: Hi all, Thanks for all your kind words. I did have an excellent time last friday, and I'm very happy to hear everyone else did too. There were just a couple of things that didn't really work out - like the hackaton for example. Maybe it's because it was the first time, maybe it was because we were running an afternoon/evening show instead of the whole day. I'd like to do that differently next time. Also, I think the programme was quite pressing, given that it was at the end of the week *and* at the end of the day. Next time, I'd like to have some more kick ass demoing on stage just to keep up the vibe. I was exhausted afterwards :) But it was incredible to have so many people show up and stick around until 11 PM. At the peak, I counted 74 people in the room and given the fact that we had 92 people signed up, I think that was much more than we could've ever wished for. It says something about the community and the project when sending out 2 emails (one to the user list, one to the NLJUG list) is enough to bring together such a crowd. It also says something about the type of event - low barrier, easy access, and free. Community driven. It makes an excellent addition to the much broader targeted ApacheCon conferences [1], attracting new people to the Apache communities. I'm looking forward to the next edition :) What if we just block the same room again around the ApacheCon Europe in April? Not to be an alternative to ApacheCon - rather as an addition. This will give people even more reason to attend the ApacheCon. Let me know. Thanks everyone! -- Arjé Cahn, Hippo [1] http://www.eu.apachecon.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Wrapping-up-the-Amsterdam-Wicket-Meetup-tf4943779.html#a14154539 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ajax Memory Leak in IE
I can reproduce it only randomly and it seems that this happens in IE only. I am using wicket-1.3.0-rc1. Regards, Alex Matej Knopp-2 wrote: Doesn't seem so. Is it reproducable? How does it happen? -Matej On Dec 4, 2007 3:43 PM, Alex Objelean [EMAIL PROTECTED] wrote: Matej, could the below exception also be caused by regression? This is the stack trace: 03ms server time taken for request app/?wicket:interface=:0:body:panel:leftToSellTab:panel:inventoryButtons:mainForm::IFormSubmitListener:: response size: 155862 [16:34:31.408] ERROR [http-8080-Processor6] RequestCycle - component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] org.apache.wicket.WicketRuntimeException: component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:411) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:456) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:343) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:193) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at
Change: Tree has all nodes collapsed by default
Hi, before today the default behavior for wicket Trees was that all nodes were expanded by default. This caused problems with lazily initialized modes (e.g. file system model or JSR model) where wicket attempted to load the entire data during tree render. So I changed the default behavior to have all nodes collapsed. If you want to have all nodes expanded, just call tree.getTreeState.expandAll() on your tree. -Matej - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: two dropdownchoice inputs combined as a fragment/panel/component ??
put them in a formcomponentpanel -igor On Dec 4, 2007 6:14 AM, wicket user [EMAIL PROTECTED] wrote: Hi all, I'm now on the second phase of the project I'm working on and starting to find cases where I'm repeating code which means one thing : refactor. As an example I've got two dropdowns that select make and model with a bit of ajax to populate the second dropdown, these are always going to be together so it makes sense to permanently couple them and be done with it. What is the best way to prevent duplication in a case such as this while still keeping the ability to validate etc? Many thanks Simon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to dynamically generate HTML page?
thanks igor.. igor.vaynberg wrote: see how wicketstuff-crud does it in wicket-stuff svn -igor On Dec 3, 2007 6:30 PM, Pen [EMAIL PROTECTED] wrote: I am a new wicker user. We need to construct/generate a HTML page dynamically at runtime from the HTML elements like image and text. This page only exists in memory(session/cache) and there is no physical file. so how to generate such page and corresponding java class. How this can be done for static elements like image and text versus dynamically for form submit. Also how to navigate to this newly generated html page. ~Praveen -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14143413 Sent from the Wicket - User mailing list archive at Nabble.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] -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14155610 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ajax Memory Leak in IE
I'll give it a try. Thank you very much! Alex. Matej Knopp-2 wrote: This really shouldn't happen. Could you please try adding no-store Cache-Control header? e.g. override protected void setHeaders(WebResponse response) { response.setHeader(Pragma, no-cache); response.setHeader(Cache-Control, no-cache, no-store, max-age=0, must-revalidate); } like this on your page class. Maybe IE is caching wrong DOM tree. -Matej On Dec 4, 2007 6:28 PM, Alex Objelean [EMAIL PROTECTED] wrote: I can reproduce it only randomly and it seems that this happens in IE only. I am using wicket-1.3.0-rc1. Regards, Alex Matej Knopp-2 wrote: Doesn't seem so. Is it reproducable? How does it happen? -Matej On Dec 4, 2007 3:43 PM, Alex Objelean [EMAIL PROTECTED] wrote: Matej, could the below exception also be caused by regression? This is the stack trace: 03ms server time taken for request app/?wicket:interface=:0:body:panel:leftToSellTab:panel:inventoryButtons:mainForm::IFormSubmitListener:: response size: 155862 [16:34:31.408] ERROR [http-8080-Processor6] RequestCycle - component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] org.apache.wicket.WicketRuntimeException: component body:panel:leftToSellTab:panel:inventoryList:inventoryLinesDynamic:38:villaTypes:2 not found on page ro.isdc.centerparcs.dpa.ui.page.DPADashboardPage[id = 0], listener interface = [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:411) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:456) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:343) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:193) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at
replace textfield with dropdowncomponent - which html tag to use?
hello, is there any html tag which could I use as html part for DropDownComponent and TextField simultaneously? Basic idea is, that type of the component is resolved in runtime, eg. depending of some another attribute I want to display text field for free user input or select element with list of values... marek - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: replace textfield with dropdowncomponent - which html tag to use?
create two fragments/fragments and add one or the other -igor On Dec 4, 2007 9:12 AM, Marek Přibyl [EMAIL PROTECTED] wrote: hello, is there any html tag which could I use as html part for DropDownComponent and TextField simultaneously? Basic idea is, that type of the component is resolved in runtime, eg. depending of some another attribute I want to display text field for free user input or select element with list of values... marek - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
302 vs. 301 Redirect
When you setRedirect(true), wicket does a 302, temporary, redirect. The basic rule of thumb in SEO is if you want to pass all authority to a different page use 301 (permanent). http://www.seotoday.com/browse.php/category/articles/id/477/index.php Thoughts on adding something to Wicket to support this functionality? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to dynamically generate HTML page?
I looked into the example wicketstuff-crud, this is basically in memory database with basic CRUD operation. this is not what exactly I am looking. Let me restate the question. We have application where in user can create a webpages using web designer by drag-n-drop where is html elements like text, image, selection box, combo box and save it in DB. It will be Json format parse it to POJO and store in DB. for example Image object looks like this which has got position, style, etc . [{position:({left:60, top:40}), size:({width:100,height:80}), positionTop:40,positionLeft:60,sizeWidth:100,sizeHeight:80, cssClass:, style:left:60px;top:40px;width:100px;height:80px;, ]}}]}) Now we need to read from the DB and reconstruct the same Image object has a html page. We can construct the above object with HTML tags. But the question is how to display this html pages, since it exists only in memory and also how to navigate to this newly created page. ~Praveen igor.vaynberg wrote: see how wicketstuff-crud does it in wicket-stuff svn -igor On Dec 3, 2007 6:30 PM, Pen [EMAIL PROTECTED] wrote: I am a new wicker user. We need to construct/generate a HTML page dynamically at runtime from the HTML elements like image and text. This page only exists in memory(session/cache) and there is no physical file. so how to generate such page and corresponding java class. How this can be done for static elements like image and text versus dynamically for form submit. Also how to navigate to this newly generated html page. ~Praveen -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14143413 Sent from the Wicket - User mailing list archive at Nabble.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] -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14156946 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 302 vs. 301 Redirect
Long long time ago we had discussions about this, i think also related to what google expects. I guess what we now have is a result of that. But i cant remember what the pros and cons are 2007/12/4, Joe Toth [EMAIL PROTECTED]: When you setRedirect(true), wicket does a 302, temporary, redirect. The basic rule of thumb in SEO is if you want to pass all authority to a different page use 301 (permanent). http://www.seotoday.com/browse.php/category/articles/id/477/index.php Thoughts on adding something to Wicket to support this functionality? - 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 dynamically generate HTML page?
Generate on one side the html by a servlet or special template generator, that reads in your db data and generate the component structure on the other side. Look at he slides i put on of the presentation that i did for the wicket user group in the netherlands 2007/12/4, Pen [EMAIL PROTECTED]: I looked into the example wicketstuff-crud, this is basically in memory database with basic CRUD operation. this is not what exactly I am looking. Let me restate the question. We have application where in user can create a webpages using web designer by drag-n-drop where is html elements like text, image, selection box, combo box and save it in DB. It will be Json format parse it to POJO and store in DB. for example Image object looks like this which has got position, style, etc . [{position:({left:60, top:40}), size:({width:100,height:80}), positionTop:40,positionLeft:60,sizeWidth:100,sizeHeight:80, cssClass:, style:left:60px;top:40px;width:100px;height:80px;, ]}}]}) Now we need to read from the DB and reconstruct the same Image object has a html page. We can construct the above object with HTML tags. But the question is how to display this html pages, since it exists only in memory and also how to navigate to this newly created page. ~Praveen igor.vaynberg wrote: see how wicketstuff-crud does it in wicket-stuff svn -igor On Dec 3, 2007 6:30 PM, Pen [EMAIL PROTECTED] wrote: I am a new wicker user. We need to construct/generate a HTML page dynamically at runtime from the HTML elements like image and text. This page only exists in memory(session/cache) and there is no physical file. so how to generate such page and corresponding java class. How this can be done for static elements like image and text versus dynamically for form submit. Also how to navigate to this newly generated html page. ~Praveen -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14143413 Sent from the Wicket - User mailing list archive at Nabble.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] -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14156946 Sent from the Wicket - User mailing list archive at Nabble.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: Wrapping up the Amsterdam Wicket Meetup
I already replied on wiki on eelco's popup about the meeting around apache con eu. My idea was also tue (on the training day) or fri (after conf) but fri is a bit to late, last sessions start at 15:00 and every body would be a bit worn down i guess. So maybe the friday before it does make sense except for the people that will not follow the trainings anyway... 2007/12/4, Arje Cahn [EMAIL PROTECTED]: Hi all, Just to warn you all - I've taken the liberty of making some reservations around the ApacheCon :) There's two possible locations: the building we were in, or another one which is quite NEXT to the ApacheCon venue (Pakhuis de Zwijger [1]). I've booked for the Friday before the ApacheCon (April 4), monday 7 and tuesday 8 of april. But I really need to discuss this with the ApacheCon Planners, as I don't want to mess with their training schedules on monday and tuesday (which are very important for ApacheCon revenues). So maybe the friday before is the best date after all. Anyway, the rooms are booked, start thinking about the content ;) -- Arjé [1] http://www.dezwijger.nl/index.php?nid=184 -Original Message- From: Arje Cahn [mailto:[EMAIL PROTECTED] Sent: dinsdag 4 december 2007 16:30 To: users@wicket.apache.org Subject: Wrapping up the Amsterdam Wicket Meetup Hi all, Thanks for all your kind words. I did have an excellent time last friday, and I'm very happy to hear everyone else did too. There were just a couple of things that didn't really work out - like the hackaton for example. Maybe it's because it was the first time, maybe it was because we were running an afternoon/evening show instead of the whole day. I'd like to do that differently next time. Also, I think the programme was quite pressing, given that it was at the end of the week *and* at the end of the day. Next time, I'd like to have some more kick ass demoing on stage just to keep up the vibe. I was exhausted afterwards :) But it was incredible to have so many people show up and stick around until 11 PM. At the peak, I counted 74 people in the room and given the fact that we had 92 people signed up, I think that was much more than we could've ever wished for. It says something about the community and the project when sending out 2 emails (one to the user list, one to the NLJUG list) is enough to bring together such a crowd. It also says something about the type of event - low barrier, easy access, and free. Community driven. It makes an excellent addition to the much broader targeted ApacheCon conferences [1], attracting new people to the Apache communities. I'm looking forward to the next edition :) What if we just block the same room again around the ApacheCon Europe in April? Not to be an alternative to ApacheCon - rather as an addition. This will give people even more reason to attend the ApacheCon. Let me know. Thanks everyone! -- Arjé Cahn, Hippo [1] http://www.eu.apachecon.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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
wicket + spring
I have been looking on the internet for a clear example of how wicket works with spring and still not clear. The closest thing I came across was this example: http://www.jroller.com/JonathanLocke/date/20060203 could someone please shed some light on this topic.. thanks -- View this message in context: http://www.nabble.com/wicket-%2B-spring-tf4945198.html#a14157782 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: wicket + spring
sure, we have a wiki page [0] about it. hth, Gerolf [0] http://cwiki.apache.org/WICKET/spring.html On Dec 4, 2007 8:38 PM, zandile [EMAIL PROTECTED] wrote: I have been looking on the internet for a clear example of how wicket works with spring and still not clear. The closest thing I came across was this example: http://www.jroller.com/JonathanLocke/date/20060203 could someone please shed some light on this topic.. thanks -- View this message in context: http://www.nabble.com/wicket-%2B-spring-tf4945198.html#a14157782 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: wicket + swing
Have a look at http://cwiki.apache.org/WICKET/spring.html this for starters. Regards - Cemal http://jWeekend.co.uk http://jWeekend.co.uk zandile wrote: I have been looking on the internet for a clear example of how wicket works with spring and still not clear. The closest thing I came across was this example: http://www.jroller.com/JonathanLocke/date/20060203 could someone please shed some light on this topic.. thanks -- View this message in context: http://www.nabble.com/wicket-%2B-swing-tf4945198.html#a14157785 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Component toString() implementation and java.lang.StackOverflowError
This sounds famliar. I think we already fixed something like this but dont know if it is done in the 1.2.x stream Send in a patch if you like and attach it to a jira issue 2007/12/4, Seldon, Richard [EMAIL PROTECTED]: Working with Wicket 1.2.6. Having trouble with the implementation of Component toString() - it has been implemented by wicket framework to use an overloaded 'detailed' version that contains the following: .append((isRenderAllowed() isVisible()) The repercussions of this is that where component.toString() is called from within an overridden instance of component isVisible() method we get ourselves into a recursive loop. Eventually, this leads to a java.lang.StackOverflowError with varying results depending on app server. In IBM Websphere version 6.0.2.2 it actually crashes the server altogether. Unfortunately, the wicket framework itself unwittingly corroborates in this situation arising. A contrived example code and scenario where this can occur is in wicket.model.AbstractDetachableModel :- public final Object getObject(final Component component) { attach(); try { return onGetObject(component); } catch (RuntimeException e) { throw new WicketRuntimeException(unable to get object, model: + this + , called with component + component, e); } } Above the WicketRuntimeException message string calls the component.toString() method. Below is an overridden isVisible() implementation (from within MyPage component) where a PropertyModel fails to find the appropriate getXXX for the expression XXX leading to a WicketRuntimeException in wicket.util.lang.PropertyResolver. For instance:- final PropertyModel model = new PropertyModel(this, incorrectNameOfListGetMethod); Panel myPanel = new MyPanel(myPanel) { public boolean isVisible() { return ((List)model.getObject(this)).size() 0; } }; Stacktrace of error:- at wicket.util.lang.PropertyResolver.findGetter(PropertyResolver.java:374) at wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java: 233) at wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver .java:200) at wicket.util.lang.PropertyResolver.getValue(PropertyResolver.java:88) at wicket.model.AbstractPropertyModel.onGetObject(AbstractPropertyModel.jav a:132) at wicket.model.AbstractDetachableModel.getObject(AbstractDetachableModel.j ava:104) at com.arcs.spike.page.MyPage$1.isVisible(MyPage.java:29) Is there some way we can work easily around this sort of issue? Eg. A hook in the framework etc to create our own versions of components (with overridden implementaiton of toString() via a factory? Would rather avoid patching the wicket jar if possible. Thanks in advance for any help. apologies if footer of email is verbose - company policy restricts us to include this and have no other email account available ** This email (and any attachments) may contain privileged and/or confidential information. If you are not the intended recipient please do not disclose, copy, distribute, disseminate or take any action in reliance on it. If you have received this message in error please reply and tell us and then delete it. Should you wish to communicate with us by email we cannot guarantee the security of any data outside our own computer systems. For the protection of Legal General's systems and staff, incoming emails will be automatically scanned. Any information contained in this message may be subject to applicable terms and conditions and must not be construed as giving investment advice within or outside the United Kingdom. Legal General Group plc is registered in England under company number 1417162 and is a holding company. The registered office for all companies in the Legal General group is One Coleman Street London EC2R 5AA. The following subsidiary companies of Legal General Group Plc are authorised and regulated by the Financial Services Authority: Legal General Partnership Services Limited, Legal General Insurance Limited, Legal General Assurance Society Limited, Legal General (Unit Trust Managers) Limited and Legal General (Portfolio Management Services) Limited. Legal General International (Ireland) is incorporated in Ireland under company number 440141 with its registered office at Alexandra House, The Sweepstakes, Ballsbridge, Dublin 4 and is authorised by the Financial Regulator in Ireland and by the Financial Services Authority for the conduct of insurance business in the UK. Full details can be found at
Re: Wicket 1.3 rc1 Relative URLs not working properly
But a mapping shouldnt matter to much. With the filter there should be no need for a filter mapping like a servlet. Johan 2007/12/4, Oliver Lieven [EMAIL PROTECTED]: Hi, I encountered this problem a week ago, too, and digged a little into code and forum. Here's my summary: the problem seems to be the /* filter mapping. If you specify a /app/* filter mapping, relative URLs work just fine. In my base-page-class (all my pages are derived from it through Wicket's great markup inheritance) my stylesheet is referenced in the head-section by a relative reference like link rel=stylesheet type=text/css href=style/myapp.css / Checking the generated HTML in the browser (when using /* filter mapping) shows that this reference is modified by Wicket, so that it now reads link rel=stylesheet type=text/css href=../style/myapp.css / This is an invalid path and addresses a wrong location. I digged into the code and found that relative stylesheet and image references where automatically prepended by ../ by ServletWebRequest.getRelativePathPrefixToContextRoot(). This seems to work well for the /app/* filter mapping, but fails for /* (since theres no parent-directory in between to skip) I currently decided to use the /app/* filter mapping. Following workarounds came into my mind: 1. use of absolute references like /myapp/style/myapp.css. pro: works, Wicket doesn't modify the absolute paths cons: must code the context-path into all style and image references, which is a NO GO 2. use of /app/* filter mapping pro : works cons: after having seen the much nicer /* mapping I want to use it :-)) 3. in HTML it is possible to add a base href=http://localhost:8080/myapp// line into the head section, which is used to resolve all relative references pro : would be great, since it allows the use of relative URLs, and it must be configured in just one place (the base-page's head section) would also be great to use when using a front end server (Apache), since references would be resolved to root context cons: since Wicket isn't aware of the base tag, relative references are still modified and prepended by ../, so no stylesheets/images were found 4. fix it :-)) Related threads and infos: - is it a bug - use of /* filter mapping - http://www.nabble.com/is-it-a-bug--%28using-beta-4%29-tf4649929.html#a13284326 - Wicket behind a frontend proxy - http://www.nabble.com/Wicket-behind-a-front-end-proxy-t4776982.html - http://cwiki.apache.org/WICKET/best-practices-and-gotchas.html#BestPracticesandGotchas-WicketServletMapping Jeremy Levy-3 wrote: WICKET-1205 On Dec 3, 2007 5:16 PM, Jeremy Levy [EMAIL PROTECTED] wrote: Sorry for now explaining this properly. My application is deployed within a context of /1. The Wicket filter is mapped to /* of the app context. The first page of the site has url of http://www.somehost.com/1/welcomewhere welcome is mounted as a bookmarkable page. There is a link from the welcome page to a page that isn't bookmarked. The relative path of the CSS is incorrect on the page that isn't mounted as a bookmarkable page. If I make it bookmarkable the path to the CSS its correct. I'm going to create a quickstart project to demonstrate it and log a bug. J On Dec 3, 2007 4:40 PM, Johan Compagner [EMAIL PROTECTED] wrote: huh? i must be missing something here. you say to the first that it works and to the second that it doesn't if /1 is the context then would say the first is broken and the second should work. because the first the url is this: localhost/css/style.css but thats outside of the context. the second it seems to be localhost/1/css/xxx and that seems ok then But it is still strange that those 2 pages give different urls because both should be css/ as far as i see because they are on both on the same level. Please make a jira issue for this johan On Dec 3, 2007 4:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote: The /1 is the web app context. Change it to ../ breaks it on the pages that were working before. One thing I noticed is that if I deploy this to a server which has mod_proxy set up to hide the /1 it seems to work fine. j On Dec 3, 2007 4:10 AM, Johan Compagner [EMAIL PROTECTED] wrote: and /1/ is your servlyet path? what happens if you put ../css/style.css in your markup? Because from the normal page that is the css you want i guess? johan On Dec 2, 2007 11:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I just upgraded to Wicket 1.3, it was remarkably smooth. It took about 6 hours overall. Every single thing was explained very well in the migration guide and the things i was looking forward to in 1.3
Swing with Wicket -(sprockets according to Jonathan Locke)
I needed some clarification as to how to create swing gui objects in wicket .. here is an example I came across that I was not clear how things worked: http://www.jroller.com/JonathanLocke/date/20060203 thanks for assistance .. -- View this message in context: http://www.nabble.com/Swing-with-Wicket--%28sprockets-according-to-Jonathan-Locke%29-tf4945293.html#a14158138 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to dynamically generate HTML page?
thanks Johan for your reply. I did take look into your slides. We can generate HTML pages, we have no issue with it. But how to display this newly created HTML pages which only exists in memory, there is no physical file. And also to navigate to this new HTML page. For example If I create a simple HTML page at runtime like below test.html. How to display it and navigate to it. As it also requires corresponding test.java. This is simple one. But what if we have wicket:Ids we need construct the Java files with all the action listener also. test.html html body h1Hello world! /h1 /body html ~Praveen Johan Compagner wrote: Generate on one side the html by a servlet or special template generator, that reads in your db data and generate the component structure on the other side. Look at he slides i put on of the presentation that i did for the wicket user group in the netherlands 2007/12/4, Pen [EMAIL PROTECTED]: I looked into the example wicketstuff-crud, this is basically in memory database with basic CRUD operation. this is not what exactly I am looking. Let me restate the question. We have application where in user can create a webpages using web designer by drag-n-drop where is html elements like text, image, selection box, combo box and save it in DB. It will be Json format parse it to POJO and store in DB. for example Image object looks like this which has got position, style, etc . [{position:({left:60, top:40}), size:({width:100,height:80}), positionTop:40,positionLeft:60,sizeWidth:100,sizeHeight:80, cssClass:, style:left:60px;top:40px;width:100px;height:80px;, ]}}]}) Now we need to read from the DB and reconstruct the same Image object has a html page. We can construct the above object with HTML tags. But the question is how to display this html pages, since it exists only in memory and also how to navigate to this newly created page. ~Praveen igor.vaynberg wrote: see how wicketstuff-crud does it in wicket-stuff svn -igor On Dec 3, 2007 6:30 PM, Pen [EMAIL PROTECTED] wrote: I am a new wicker user. We need to construct/generate a HTML page dynamically at runtime from the HTML elements like image and text. This page only exists in memory(session/cache) and there is no physical file. so how to generate such page and corresponding java class. How this can be done for static elements like image and text versus dynamically for form submit. Also how to navigate to this newly generated html page. ~Praveen -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14143413 Sent from the Wicket - User mailing list archive at Nabble.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] -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14156946 Sent from the Wicket - User mailing list archive at Nabble.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] -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14158861 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: annoying alert message while closing modal window with wizard
Oh i take back my words :( the window gets closed but due to some AJAX error, so clicking finish button doesn't do the business operation , that it should do. It just closes the modal window with wizard. narup wrote: yes it worked for me.. thanks Matej. wicket user wrote: I tried the javascript and never got it to suppress the pop up, did it work for you? On 04/12/2007, Matej Knopp [EMAIL PROTECTED] wrote: You need to use ajax button to properly close the window. Alternatively, you can put this script to your page (only for 1.3): script type=text/javascript Wicket.Window.unloadConfirmation = false; /script -Matej On Dec 3, 2007 7:48 PM, narup [EMAIL PROTECTED] wrote: Hello All, I am using a custom wizard in a modal window, so i have my own custom button bar such as next, previous, finish and cancel. so when i click cancel or finish. i get this alert message. http://www.nabble.com/file/p14136120/alert.jpeg if i append the javascript like this target.appendJavascript(window.onbeforeunload=null); it cause the modal window to close but it does not do the save operation that i want to when i click finish button at the end. I tried to use the new wicket 1.3 wizard but got the same problem if anyone has any idea please let me know. Thanks -- View this message in context: http://www.nabble.com/annoying-alert-message-while-closing-modal-window-with-wizard-tf4938532.html#a14136120 Sent from the Wicket - User mailing list archive at Nabble.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] -- View this message in context: http://www.nabble.com/annoying-alert-message-while-closing-modal-window-with-wizard-tf4938532.html#a14160472 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: replace textfield with dropdowncomponent - which html tag to use?
works great, thanks Igor Vaynberg napsal(a): create two fragments/fragments and add one or the other -igor On Dec 4, 2007 9:12 AM, Marek Přibyl [EMAIL PROTECTED] wrote: hello, is there any html tag which could I use as html part for DropDownComponent and TextField simultaneously? Basic idea is, that type of the component is resolved in runtime, eg. depending of some another attribute I want to display text field for free user input or select element with list of values... marek - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How to create the webpage(html) on the fly
Hi, I am new to wicket. I am working on a small scenario, where in I am trying to change the contents of an html page and navigating to that page while the application is running. The code is as follows . My first page is Demo.html, in which I am adding a simple link element. html body div Message goes here /div Just testbr Test page /body /html In Demo.java, inside the onclick() event of the 'link' I am trying to add content to a html file called ShowEnty.html with a component and initializing the corresponding ShowEnty.java. public class Demo extends WebPage { File outputFile = new File(C:\\web\\pages\\ShowEntry.html); public Demo() { IModel messageModel = new Model(Hello World!); final String compName = msgInputForm; Link link = new Link(link) { public void onClick() { ShowEntry showEntry = new ShowEntry(compName); try{ FileWriter out = new FileWriter(outputFile); out.append(htmlform wicket:id=+compName+input type=\text\ wicket:id=\messageInput\/input type=\submit\ value=\update\//form/html); out.close(); }catch(IOException iox){iox.printStackTrace();} setResponsePage(showEntry); } }; add(link); Label message = new Label(message, messageModel); link.add(message); } Now the ShowEntry.html looks like the following code with a form, having a input text field and a submit button (as the contents I was adding from the onclick() method in the above Demo.java)... html form wicket:id=msgInputForm input type=text wicket:id=messageInput/ input type=submit value=update/ /form /html Similarly the ShowEntry.java is as follows public class ShowEntry extends WebPage{ public ShowEntry(String component) { IModel messageModel = new Model(Hello World!); add(new MessageForm(component, messageModel)); } private final class MessageForm extends Form { public MessageForm(String id, IModel model) { super(id); add(new TextField(messageInput, model)); } protected void onSubmit() { System.out.println(inside submit); } } } My problem now is, as I was writing the html text into the file, I need to wait to see the contents or probably restart my tomacat. Is there any way that we can write this html content to the in-memory file to have the immediate effect instead of writing it to a file on the disk. -- View this message in context: http://www.nabble.com/How-to-create-the-webpage%28html%29-on-the-fly-tf4946724.html#a14162959 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How to create the webpage(html) on the fly
Hi, I am new to wicket. I am working on a small scenario, where in I am trying to change the contents of an html page and navigating to that page while the application is running. The code is as follows . My first page is Demo.html, in which I am adding a simple link element. html body div Message goes here /div Just testbr Test page /body /html In Demo.java, inside the onclick() event of the 'link' I am trying to add content to a html file called ShowEnty.html with a component and initializing the corresponding ShowEnty.java. public class Demo extends WebPage { File outputFile = new File(C:\\web\\pages\\ShowEntry.html); public Demo() { IModel messageModel = new Model(Hello World!); final String compName = msgInputForm; Link link = new Link(link) { public void onClick() { ShowEntry showEntry = new ShowEntry(compName); try{ FileWriter out = new FileWriter(outputFile); out.append(htmlform wicket:id=+compName+input type=\text\ wicket:id=\messageInput\/input type=\submit\ value=\update\//form/html); out.close(); }catch(IOException iox){iox.printStackTrace();} setResponsePage(showEntry); } }; add(link); Label message = new Label(message, messageModel); link.add(message); } Now the ShowEntry.html looks like the following code with a form, having a input text field and a submit button (as the contents I was adding from the onclick() method in the above Demo.java)... html form wicket:id=msgInputForm input type=text wicket:id=messageInput/ input type=submit value=update/ /form /html Similarly the ShowEntry.java is as follows public class ShowEntry extends WebPage{ public ShowEntry(String component) { IModel messageModel = new Model(Hello World!); add(new MessageForm(component, messageModel)); } private final class MessageForm extends Form { public MessageForm(String id, IModel model) { super(id); add(new TextField(messageInput, model)); } protected void onSubmit() { System.out.println(inside submit); } } } My problem now is, as I was writing the html text into the file, I need to wait to see the contents or probably restart my tomacat. Is there any way that we can write this html content to the in-memory file to have the immediate effect instead of writing it to a file on the disk. -- View this message in context: http://www.nabble.com/How-to-create-the-webpage%28html%29-on-the-fly-tf4946734.html#a14163003 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Template Page and the URLs
Hey I managed to answer my own question. Sweet. If you change the Change Ad link component to an AjaxLink and then implement this onClick instead you don't end up with a non-bookmarkable url where once you had one. public void onClick(AjaxRequestTarget target) { if (currentBanner.getClass() == Banner1.class) { currentBanner = new Banner2(ad); currentBanner.setOutputMarkupId(true); TemplatePage.this.replace(currentBanner); } else { currentBanner = new Banner1(ad); currentBanner.setOutputMarkupId(true); TemplatePage.this.replace(currentBanner); } target.addComponent (currentBanner); } However is the non-Ajax link behaviour expected upon a Panel change within the page? Since the page was obtained via a bookmarkable link do I HAVE to use an AjaxLink if I want it to remain with a bookmarkable URL? Cheers Nick -- View this message in context: http://www.nabble.com/Template-Page-and-the-URLs-tf4946247.html#a14163023 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Swing with Wicket -(sprockets according to Jonathan Locke)
On Dec 4, 2007 12:04 PM, zandile [EMAIL PROTECTED] wrote: I needed some clarification as to how to create swing gui objects in wicket .. here is an example I came across that I was not clear how things worked: http://www.jroller.com/JonathanLocke/date/20060203 thanks for assistance .. That was an experimental project of a long time ago. It never went beyond that for a variety of reasons. Basically, you wouldn't use Wicket to code Swing. Just use Swing, or a framework like WingS. Eelco - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Problem with 1.3 Validation and Conversion order
We are migrating our app from 1.2.6 to 1.3-rc1 and we have certain form fields that have both a converter and a validator attached to them. In 1.2.6, the validator was called first, as it should be; in 1.3 it's the other way around and it's therefore broken. The only changes we've made are as per the migration guide. Is this a bug or is there something else we need to change? Thanks, Julian -- View this message in context: http://www.nabble.com/Problem-with-1.3-Validation-and-Conversion-order-tf4947088.html#a14164082 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with 1.3 Validation and Conversion order
yes. that is why our validation is more then just validators validate() { validateRequired(); convertInput(); validateValidators(); } this also has the advantage that type conversion is only performed once -igor On Dec 4, 2007 7:46 PM, rkanadam [EMAIL PROTECTED] wrote: Igor Vaynberg wrote: why do you think the validator should be called first? if you attach a Number.maximum(5) validator to a textfield do you think the validator should work on input string(5) or should string(5) firsrt be converted to int(5) and validator should work with that? imho it was pretty wrong in 1.2 and we have fixed it in 1.3 -igor On Dec 4, 2007 6:32 PM, JulianS [EMAIL PROTECTED] wrote: We are migrating our app from 1.2.6 to 1.3-rc1 and we have certain form fields that have both a converter and a validator attached to them. In 1.2.6, the validator was called first, as it should be; in 1.3 it's the other way around and it's therefore broken. The only changes we've made are as per the migration guide. Is this a bug or is there something else we need to change? Thanks, Julian -- View this message in context: http://www.nabble.com/Problem-with-1.3-Validation-and-Conversion-order-tf4947088.html#a14164082 Sent from the Wicket - User mailing list archive at Nabble.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] Isn't that a tricky reply, successful conversion is a form of validation, what if the conversion fails ... ? - 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]
IComponentResolver question. Was: How to dynamically generate HTML page?
I was looking at the code of AutoComponentPanel and found similarities between this and IComponentResolver. AutoComponentPanel has an overridable getMarkupComponent(ComponentTag, MarkupStream) where IComponentResolver has resolve(MarkupContainer, MarkupStream, ComponentTag). Can someone explain this class and its uses to me? Is it something that I should want to use for AutoComponentPanel? We user AutoComponentPanel as a base class for some other panels that provide dynamic markup. Would it be better (aka the wicket-way (tm)) when AutoComponentPanel is re-written as an IComponentResolver that can be used by the currently subclassing panels. They would then need to implement IComponentResolver too but can call my rewritten AutoComponentPanelAsResolverSomething in their implementing methods. Would this be a better way to go? How should this work when I add my resolver with Application.getPageSettings().addComponentResolver(resolver)? Thanks, Matthijs Wensveen Matthijs Wensveen wrote: Hello Praveen, Wouter Huijnink presented something similar to what you need at the wicket meetup in Amsterdam. We generate html dynamically from xml, using xslt. A component called AutoComponentPanel parses the html and adds components to the hierarchy accordingly. This is actually a two-step process. The first step is telling wicket you want to supply markup yourself instead of letting wicket read it from the corresponding html file. You can do this by implementing IMarkupResourceStreamProvider and if applicable also IMarkupCacheKeyProvider. Then you need to parse the markup stream and add components. If you're interested I can send the AutoComponentPanel code. It still needs some work to make it shine, but we plan to open source it anyway as part of a wicket-based QTI framework. PS. Unfortunately Wouter's slides aren't uploaded yet. Pen wrote: thanks Johan for your reply. I did take look into your slides. We can generate HTML pages, we have no issue with it. But how to display this newly created HTML pages which only exists in memory, there is no physical file. And also to navigate to this new HTML page. For example If I create a simple HTML page at runtime like below test.html. How to display it and navigate to it. As it also requires corresponding test.java. This is simple one. But what if we have wicket:Ids we need construct the Java files with all the action listener also. test.html html body h1Hello world! /h1 /body html ~Praveen Johan Compagner wrote: Generate on one side the html by a servlet or special template generator, that reads in your db data and generate the component structure on the other side. Look at he slides i put on of the presentation that i did for the wicket user group in the netherlands 2007/12/4, Pen [EMAIL PROTECTED]: I looked into the example wicketstuff-crud, this is basically in memory database with basic CRUD operation. this is not what exactly I am looking. Let me restate the question. We have application where in user can create a webpages using web designer by drag-n-drop where is html elements like text, image, selection box, combo box and save it in DB. It will be Json format parse it to POJO and store in DB. for example Image object looks like this which has got position, style, etc . [{position:({left:60, top:40}), size:({width:100,height:80}), positionTop:40,positionLeft:60,sizeWidth:100,sizeHeight:80, cssClass:, style:left:60px;top:40px;width:100px;height:80px;, ]}}]}) Now we need to read from the DB and reconstruct the same Image object has a html page. We can construct the above object with HTML tags. But the question is how to display this html pages, since it exists only in memory and also how to navigate to this newly created page. ~Praveen igor.vaynberg wrote: see how wicketstuff-crud does it in wicket-stuff svn -igor On Dec 3, 2007 6:30 PM, Pen [EMAIL PROTECTED] wrote: I am a new wicker user. We need to construct/generate a HTML page dynamically at runtime from the HTML elements like image and text. This page only exists in memory(session/cache) and there is no physical file. so how to generate such page and corresponding java class. How this can be done for static elements like image and text versus dynamically for form submit. Also how to navigate to this newly generated html page. ~Praveen -- View this message in context: http://www.nabble.com/How-to-dynamically-generate-HTML-page--tf4940771.html#a14143413 Sent from the Wicket - User mailing list archive at Nabble.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