Re: wicketstuff tinymce development
Michal Letynski wrote: > > Ok i solved the problem. I used wrong version (1.4.17.3 - its buggy). I > get exceptions: > java.lang.StringIndexOutOfBoundsException: String index out of range: -1 > at java.lang.String.substring(String.java:1937) > at > wicket.contrib.tinymce.settings.TinyMCESettings.lazyLoadTinyMCEResource(TinyMCESettings.java:971) > at > wicket.contrib.tinymce.TinyMceBehavior.renderHead(TinyMceBehavior.java:60) > > And looking and java docs (" TODO: This has not been extensively > tested.") it still under development. > For TinyMCE to work properly with AJAX, it must be loaded on the page prior to the Ajax call that generates the editor. This is a flaw with TinyMCE itself, not the wicket component. Up until version 1.4.17.2, you needed to render the TinyMCE javascript resource with the Page (or some other non-Ajax generated component) and then individual components can use TinyMCEBehavior on an Ajax rendered text area. This is described in the JavaDoc for lazyLoadTinyMCEResource(). lazyLoadTinyMCEResource() was my attempt to get around this requirement and load the javascript via Ajax. I suspect the problem is not with the technique but with the URL manipulation. Feel free to contribute a bug fix and/or ignore the lazyLoadTinyMCEResource() function. However, it should be considered beta and is completely optional. You can still use the old method. Hope that helps! I still recommend using 1.4.17.3 as it has an up-to-date version of TinyMCE and several other improvements. Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/wicketstuff-tinymce-development-tp3698059p3704257.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Target.addComponent - Single Container vs Multiple Components
I come across this scenario quite a bit. Say I have a Container/Fragment/etc with several (~10) child components, and I'm using Ajax to toggle the visibility of a small set (~4) of those children. The other children are unchanged by the Ajax call. Are there a performance (or other) considerations between: target.addComponent(container); and target.addComponent(child1); target.addComponent(child2); target.addComponent(child3); target.addComponent(child4); The first option is much cleaner, but will (I presume) run the onBeforeRender/onConfigure/etc methods of all 10 the children. On the other hand, the second method might have some client-side javacript overhead and or other Ajax-y overhead that I'm not aware of. Thoughts? Thanks! Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Target-addComponent-Single-Container-vs-Multiple-Components-tp3698864p3698864.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicketstuff tinymce development
Michal Letynski wrote: > > Is here anyone who is currently doing something with tinymce wicketstuff > project ? I saw that in current version we are not able to add more then > one instance of tiny in one page. > I've recently made some commits to the tinymce wicketstuff package on GitHub, if you want to call that "currently doing something." :) You are certainly able to add more than one instance on a page. We use this package heavily throughout our applications and it works well, including Ajax, spellcheck, and multiple configuration settings. Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/wicketstuff-tinymce-development-tp3698059p3698489.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicketstuff-push Documentation?
Sebastian-61 wrote: > > there is currently not any more documentation. > > When you use push as decribed in the WIKI (EventHandler+PushNode) then > you will need an additional message dispatching service (which often is > the case in enterprise environments). If you want to communicate within > a wicket application only, e.g. between pages or users, than you can use > the channel feature provided by push: you create a named messaging > channel using IPushService.createChannel(), connect the node you > installed into a component to that channel using > IPushService.connectToChannel(,) and send events to a > channel using IPushService.publish(, ). > Thanks for the feedback. We do intend to scale to multiple server nodes but, thankfully, I have a year to figure out the messaging system. For some reason, your quick paragraph makes more sense than anything else I've read - so, thanks! As I explore, I'll see about adding some JavaDoc for the newbs. Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/wicketstuff-push-Documentation-tp3644319p3645846.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
wicketstuff-push Documentation?
Hey all, Just explored the wicketstuff-push examples. Everything works great. The only problem is that I'm overwhelmed with the code. I'm new to "pushing;" I had no idea what Comet was before yesterday. I understand the fundamentals of AjaxTimerBehavior polling, but push-timer and push-core go way beyond that: channels, listeners, etc. Question: Is there documentation beyond the GitHub Wiki and the push-examples module? If not, I'll just dive in the old fashioned way, but I was hoping to get a better understanding before doing so. In return, I'll try to put some JavaDoc in the source as I start playing around. Thanks! Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/wicketstuff-push-Documentation-tp3644319p3644319.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket / Hibernate / Databinder (dead?)
Rodolfo Hansen-2 wrote: > > I also have a bit of code we have been working on.. > > I was sorta procrastinating with it on my local box. > > Things have been rather overwhelming lately. > > If you would like to make a pull request, I will gladly review it, and > merge > it into my branch. > > I actually have some work regarding integration for the conversation scope > with spring. > So far, all I've done is change the count() casting from (Integer) to (Number) since later versions of Hibernate return a Long. I'm on vacation for this week, but will be looking into it later. I'm a 100% git newb, so I'll ensure I've done everything correctly before e-mailing you with a pull request. Thanks! Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-Hibernate-Databinder-dead-tp3557635p3561938.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket / Hibernate / Databinder (dead?)
James Carman wrote: > > You could check out Wicketopia. It has support for Hibernate. You > can run the example application to see how it works. > I've been doing some searching and found many of your replies to this statement, but I was thinking without Spring involvement. I don't have any solid reasons for not using Spring other than I have no idea what it does and haven't needed it :) Seems very heavy whereas Databinder was extremely light. Granted, perhaps Spring is in my future. Daniel Toffetti wrote: > > AFAIK Nathan was not maintaining it anymore but Rodolfo Hansen was working > on it a while ago to get it up to new versions of Hibernate and Wicket, > please check here: https://github.com/kryptt, last updates are from April > 5. > Those updates were just to the project structure, I believe. I checked out the project and made my own changes to the snapshot to get it working. There are many more changes and, being a newb to Git, I'm still working on getting those back into the mainstream. This is what prompted this thread - I don't want to make these fixes if people are using some other light library. Still seems like a common issue. People out there must be using Wicket + Hibernate without Spring, right? Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-Hibernate-Databinder-dead-tp3557635p3557917.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Wicket / Hibernate / Databinder (dead?)
Hey all, First off, apologies for a potential dual post - I used nabble and posted to a super-level to this list. We've been using Wicket 1.4 + Hibernate 3.3 + Databinder 1.3.0 for quite some time now. I wanted to update to a more recent version of Hibernate, but Databinder was incompatible and seems pretty dead. My question is what do people use for their bridge between Wicket and Hibernate? Do you all write your own LoadableDetachableModels to load from the database? Is there an alternative to Databinder that I don't know about? A wicketstuff wiki page mentioned 'HibernateModel' but I haven't seen any actual code. I love Databinder's HibernateObjectModel, SortableHibernateProvider, etc. If there's nothing else, I'll keep on updating them, but I wanted to make sure there wasn't some more active alternative. Thanks! Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-Hibernate-Databinder-dead-tp3557635p3557635.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Remove Child in IVisitor causes problems
My first JIRA issue for Wicket! https://issues.apache.org/jira/browse/WICKET-3229 Thanks, Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Remove-Child-in-IVisitor-causes-problems-tp3071290p3072421.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Remove Child in IVisitor causes problems
Hey all, Interesting thing I encountered today. I have a Panel that provides it's own markupstream that is dynamically created from XML/XSLT. Essentially, it scans the markup stream for wicket:ids and then calls a getWicketComponent(String wicketId) that generates different components based on the id prefix (e.g. wicket:id="addContentBar_3"). Recently, I've been wanting to redraw this panel via AJAX, changing the markup and adding and removing child components accordingly. Haven't had much trouble up to this point until I tried to remove multiple stale components (e.g. a component that was generated from the previous markup but doesn't exist in the new markup). I tried to use an IVisitor.. visitChildren(new IVisitor() { public Object component(Component component) { if (/* component is stale */) component.remove(); return CONTINUE_TRAVERSAL_BUT_DONT_GO_DEEPER; } I discovered that IVisitor just does a simple run through an array and removing the component adjusted the size/count of the array, messing up the traversal and preventing other components from being removed. I've solved this by just keeping a list of stale components and removing them after the traversal, but it seems like their should either be documentation/warnings about modifying the child list in a Visitor and/or a change in the implementation to support this? An iterator? It's probably rare enough that documentation would suffice :) I'm just happy that Wicket has allowed me to do the niftiness I described above :) Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Remove-Child-in-IVisitor-causes-problems-tp3071290p3071290.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Model not Updating on Multiple Form Submits
Hello, Just a follow up on this from awhile back, since someone might encounter it again. The problem, which someone pointed out off-list, is that triggering an ajax form submit using jQuery does a complete non-Ajax page load, but then dumps that page. So, the model was being updated on subsequent pages, but those pages were not being displayed and the original page had stale data. Perhaps there is a way to access the page map and make the appropriate adjustments, but I decided to dive into the wicket-ajax.js and execute the wicketSubmitFormById() myself. The end result is that I have a AjaxAutoSavingSubmitLink (which extends AjaxSubmitLink) with some supporting Javascript and it's working well with TinyMCE, and SvgEditors. Thanks for the help! Jake jbrookover wrote: > > Hey all, > > I have a component, ResponseArea, that get's a > HibernateObjectModel. This ResponseArea then passes that same > model down to it's sub components (ResponseEditor, ResponseViewer). > > ResponseEditor passes this model further down to a Form. I have > some jQuery script that does a timed autosave submit of this form. > > When the form submits, I do this (pseudocode): > > Response newR = new Response(); > newR.setData(Form.this.get("dataField").getDefaultModelObjectAsString(); > saveResponse(Form.this.getModelObject(), newR); > > The last step of the saveResponse(Response oldR, Response newR) method > does some processing, comparing the two versions of the response, and > finally calls: > > ResponseEditor.this.setDefaultModelObjet(newR); > > Now, I expect this effect to propagate up to the parent ResponseArea and > down to the Form to be ready for the next AutoSave. The problem is this: > > At some point in the processing, the Form seems to clone the model and > never gets the new object - it retains the original object as its model > object. So instead of this behavior > > 1st Autosave Execute: saveResponse(original, respond1) > 2nd Autosave Execute: saveResponse(respond1, respond2) > 3rd Autosave Execute: saveResponse(respond2, respond3) > > I get this: > > 1st Autosave Execute: saveResponse(original, respond1) > 2nd Autosave Execute: saveResponse(original, respond2) > 3rd Autosave Execute: saveResponse(original, respond3) > > Since my form would like to see progressive changes, this doesn't work. > > Thoughts? > > I sense IComponentInheritedModel is involved, but I'm surprised that this > isn't a native behavior. It also seems to work in every other case - so > why not now? > > Thanks! > > Jake > > -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Model-not-Updating-on-Multiple-Form-Submits-tp2272644p2286475.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Model not Updating on Multiple Form Submits
To clarify even further, I did try to hack it so I changed the model of the form directly (even though, I presume, it's all the same model propagated up and down the hierarchy). That also did not work. Nothing I've done will force the Form to take a new object before its next submission. Thanks again! Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Model-not-Updating-on-Multiple-Form-Submits-tp2272644p2272646.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Model not Updating on Multiple Form Submits
Hey all, I have a component, ResponseArea, that get's a HibernateObjectModel. This ResponseArea then passes that same model down to it's sub components (ResponseEditor, ResponseViewer). ResponseEditor passes this model further down to a Form. I have some jQuery script that does a timed autosave submit of this form. When the form submits, I do this (pseudocode): Response newR = new Response(); newR.setData(Form.this.get("dataField").getDefaultModelObjectAsString(); saveResponse(Form.this.getModelObject(), newR); The last step of the saveResponse(Response oldR, Response newR) method does some processing, comparing the two versions of the response, and finally calls: ResponseEditor.this.setDefaultModelObjet(newR); Now, I expect this effect to propagate up to the parent ResponseArea and down to the Form to be ready for the next AutoSave. The problem is this: At some point in the processing, the Form seems to clone the model and never gets the new object - it retains the original object as its model object. So instead of this behavior 1st Autosave Execute: saveResponse(original, respond1) 2nd Autosave Execute: saveResponse(respond1, respond2) 3rd Autosave Execute: saveResponse(respond2, respond3) I get this: 1st Autosave Execute: saveResponse(original, respond1) 2nd Autosave Execute: saveResponse(original, respond2) 3rd Autosave Execute: saveResponse(original, respond3) Since my form would like to see progressive changes, this doesn't work. Thoughts? I sense IComponentInheritedModel is involved, but I'm surprised that this isn't a native behavior. It also seems to work in every other case - so why not now? Thanks! Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Model-not-Updating-on-Multiple-Form-Submits-tp2272644p2272644.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Invisible Page Notification?
That's why I'm wondering how common it is. Based on that e-mail discussion from 2006, a WicketRuntimeException was on the table, implying that a Page object should never be invisible. I guess a better question would be, what are the reasons for making a page invisible? Jake Igor Vaynberg-2 wrote: > > log.warn would be annoying to people who are actually setting the > visibility to false > > -igor > -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Invisible-Page-Notification-tp2247626p2247742.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Invisible Page Notification?
Hey all, I just had a long debugging session regarding the difference between these two lines in a WebPage: add(component).setVisible(getUser() != null); // Typo add(component.setVisible(getUser() != null)); The first processes the page and very silently returns a completely empty Response object to the browser. The second is what I meant to do, but the mistake was hard to discover. Per a post in 2006 (http://apache-wicket.1842946.n4.nabble.com/Nice-stupid-thing-page-setVisible-false-td1898368.html), the decision was made regarding this behavior, but is setting a Page's visibility common enough to do so without warning? Perhaps a log.warn? Thanks! Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Invisible-Page-Notification-tp2247626p2247626.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket file upload
If this mysterious server environment happens to be Google App Engine, there is already some code floating around (@author uudashr) that manages file uploads seamlessly with the datastore. Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/wicket-file-upload-tp2230621p2233852.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: GAE serialization issues
I can only say that I've been using Wicket on GAE for awhile and it seems to work pretty well, with some extra effort. For now, I'm just using HttpSessionStore. I asked in the GAE forums about the performance there and they said session storage made heavy use of the MemCache to keep performance strong. It is possible that Wicket can store very LARGE objects in the SessionStore, but that may be an indication of poor page detaching. After making that improvement, my session data rarely exceeds 100K. I may try out a pure MemCache version based on the link you provided, see if I can get it lower and less dependent on the session. The only other serialization issues I've noticed deal with changing model objects across requests - I instead am forced to replace components on occasion, instead of replacing model objects. That's a hack right now and I'll look into it later. Don't know anything about JBoss. Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/GAE-serialization-issues-tp2068427p2075571.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: GAE loses shared resources
Hi Igor, Thanks for the hint, but I don't think that will work for me. I did try to pre-load the resources on application startup, but I was unable to find which resources I'd registered. GAE does not allow any manner of dumpKeys() from the cache. The only-preloading solution I can think of is to have a single cache entry that maintains a list of cached resource keys and update that every time I store to the cache. The downside is that if that entry is lost, pointers to the other entries are lost. Also, it may have stale data if the resource keys are lost. See: http://code.google.com/appengine/docs/java/memcache/usingjcache.html#Features_Not_Supported My hope is to lazily load resources much like PackageResources are done. Any other suggestions or is there something I'm missing? Thanks! Jake -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/GAE-loses-shared-resources-tp2065471p2067654.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket And GAE
Per #1, the GAE people highly discourage pinging to keep the instance alive. Also, I tried it for a bit anyways, and it didn't help. I get instance restarts in the MIDDLE of page loads (hint hint: I could use help on my other post!). The thing to realize with GAE is that you need to keep everything out of your Application init(). It takes some effort, but you can get pretty good Wicket apps running on GAE. It's certainly a lot harder, though, than running it on your own. Jake marc fawzi wrote: > > Hey guys > > I'm new to Wicket > > I've made two discoveries with respect to GAE and Wicket: > > 1. I figured out how to keep my GAE app instance hot at all times (well, > at > least for 99.9% of the time.. the GAE still produces "transient errors" > every now and then) -- It's really simple: just have a script that > launches > a new task every 12 seconds and set the task url to a url that is routed > to/handled by the script itself then when the script runs again (in this > way) it will do two things: 1) urlfetch a url that is handled by the app > you > wish to keep hot (which is on another *.appspot.com url) and 2) starts > schedule another task in 12 seconds. Infinite task loop. Google does kill > the task loop eventually so then you need a cron job to run every 1 hour > to > restart the script :) and that's it. > > 2. Someone (srfarley) is working on a version of Wicket for GAE: > > "This project provides a template to help you get started with building a > Wicket <http://wicket.apache.org/> application for Google App > Engine<http://code.google.com/appengine/>. > It is a re-implementation of the Guestbook application described by the > App > Engine tutorial > <http://code.google.com/appengine/docs/java/gettingstarted/>. > Whereas the tutorial uses raw servlets and JSP to demonstrate a some of > the > basic features of App Engine, this project uses Wicket as the web > framework. > > > In addition, the project defines classes for handing persistence using > JDO<http://code.google.com/appengine/docs/java/datastore/>, > and uses Google Guice <http://code.google.com/p/google-guice/> to inject > instances of these classes into the Wicket pages for interacting with the > App Engine datastore. > > For unit testing, the project contains base classes that set up the App > Engine development environment so you can write tests against the full > stack, including those that interact directly with the Wicket pages. The > testing framework is TestNG <http://testng.org/doc/index.html>, but it is > possible to convert them to JUnit tests with some work." > > http://code.google.com/p/wicket-gae-template/ > > Given that I've never used Wicket (I looked at a couple examples so far) > I'm > hoping that we can help each other as we attempt to get good outcome for > our > Wicket+GAE implementations To make things more challenging, I'm using > Scala, which I've never run on GAE before and I'm also new to it :) > > Is there an IRC channel for Wicket users or is this the best place for > newbies like me to post questions and get help? > > Thanks, > > Marc > > On Tue, Apr 13, 2010 at 6:20 AM, jbrookover wrote: > >> >> I'm pretty committed to a project using Wicket on GAE. I haven't >> encountered >> any deserialization issues that people have been bringing up, which makes >> me >> worry a bit since I've encountered (and dealt with) a slew of other >> issues >> :) >> >> Regarding the HttpSessionStore, I discovered a bad coding practice of >> mine >> when every single session entry in the datastore was 500KB+. Once I >> resolved that issue, using more transient fields and detachable models, >> I'm >> relatively happy with the results. GAE, by default, uses the MemCache to >> implement this feature so it should be relatively speedy. It's no >> different >> from any other application storing data in the >> javax.servlet.http.HttpSession. >> >> My only lingering problem (another thread here) is that GAE can trash >> your >> application instance at any point. If you are relying on >> SharedResources, >> those can go away - even in the middle of an active page load, >> potentially >> breaking some links. Currently looking for a way around that :) >> >> Jake >> >> >> Richard Nichols-3 wrote: >> > >> > Biggest problem, and IMO a show stopper, is the Serialization issues. >> > >> > Since Wicket serializes session data (pagemap etc) you have to enabl
Re: Wicket And GAE
I'm pretty committed to a project using Wicket on GAE. I haven't encountered any deserialization issues that people have been bringing up, which makes me worry a bit since I've encountered (and dealt with) a slew of other issues :) Regarding the HttpSessionStore, I discovered a bad coding practice of mine when every single session entry in the datastore was 500KB+. Once I resolved that issue, using more transient fields and detachable models, I'm relatively happy with the results. GAE, by default, uses the MemCache to implement this feature so it should be relatively speedy. It's no different from any other application storing data in the javax.servlet.http.HttpSession. My only lingering problem (another thread here) is that GAE can trash your application instance at any point. If you are relying on SharedResources, those can go away - even in the middle of an active page load, potentially breaking some links. Currently looking for a way around that :) Jake Richard Nichols-3 wrote: > > Biggest problem, and IMO a show stopper, is the Serialization issues. > > Since Wicket serializes session data (pagemap etc) you have to enable > the GAE session-store to get wicket working correctly on GAE. > > GAE clusters sessions by writing them to the GAE data store to spread > the session across the cluster - and writes are *slow*. > > Worse though, if you create an incompatible change to a serialized > page/component/model, when that user returns to your application, GAE > will quietly fail and the user will get a blank page. Checking the GAE > error log reveals a deserialization error in the core GAE engine. > > This is because the session reserialization in GAE is handled at the > GAE/Jetty level and any error in reconsitution of the error currently > breaks GAE completely. Google has acknowledged this problem, but for > most frameworks it's not a big deal as you don't store large Objects > in the HttpSession. > > I had planned to deploy the site I'm currently working on > http://www.onmydoorstep.com.au/ on GAE but after a few weeks of > running the prototypes on GAE, I found the performance to be too poor > and the infrastructure too flakey for a production site. > > NB - It's certainly possible to create high-performance/reliable sites > using GAE/J, but Wicket is not a suitable framework due to the > Serialization data store write problem. > > Even if the performance were better and the deserialization issue was > fixed, you would blow through your data store quota in no-time due to > the amount of data store in the session. > > If anyone has solutions or further experience with these issues - I'm > all ears! :) > > cheers, > Rich > > On 8 April 2010 17:00, Josh Kamau wrote: >> What are the main issues with wicket and Google app engine >> > > > > -- > Richard Nichols :: http://www.visural.com/ :: > http://www.richardnichols.net/ > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > > -- View this message in context: http://old.nabble.com/Wicket-And-GAE-tp28174925p28229863.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: GAE loses shared resources
I'm going to bump this with some more information... I see that Application's getSharedResources() is final, as is SharedResources's get() method. So, that doesn't seem like it would work. SharedResourceRequestTarget is referenced in several places directly (not using a factory), so that's probably not ideal. Also, there would be a lot of code duplication in it's get() method. So, still looking for a solution to this issue. Seems pretty critical for extending an application in the cloud. Thanks! Jake jbrookover wrote: > > Hello all, > > I¹m running Wicket on Google App Engine. Things have been going fairly > well, but I¹ve encountered a new issue. GAE, at any moment, can wipe and > restart your application. In doing so, you lose everything including > anything you¹ve added to SharedResources. Unfortunately, this can happen > in > the middle of a page load as illustrated here: > > -Page request comes in > -Nifty MarkupFilter reads initial markup and creates some SharedResources > (for a variety of image states based on the filename in the markup) > -MarkupFilter sets the URL in the markup based on the URL provided by the > mounted SharedResource (e.g. ³img/logo.png² becomes > ³/resources/INDIRA/img/logo_d.png² because I wanted the disabled version). > -Markup is returned to the browser > -GAE restarts the application, losing the added SharedResource mapping > -Browser requests the resource according to the mounted URL > -Wicket cannot find resource, missing image > > My current hack idea is to add any shared resource to the GAE MemCache > (URL > maps to File). That works, but now, I just need to know where Wicket > actually looks up the file so I can add a fallback to check the GAE > MemCache > if the file is not found. My understanding is that the mounted > SharedResource path resolves to an actual path in the ServletContext, but > I > can¹t figure out where that is happening. > > I initially thought that I would just override SharedResources.get(), but > I > don¹t think that is called when simply handling requests. I also found > references to WebRequestCodingStrategy.RESOURCES_PATH_PREFIX, but none of > that seemed to help. Finally, I dove deep into WicketFilter, > WebRequest/Response, SharedResourceRequestTarget etc but got completely > lost. I assume it¹s in there someplace, though. > > Any help would be appreciated. > > Thanks! > > Jake > > -- View this message in context: http://old.nabble.com/GAE-loses-shared-resources-tp28205198p28219156.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket GAE performance
Finally! I've found others who are looking into Wicket on GAE. :) Something else to look into, that is frequently mentioned on the GAE/J lists but not here, is Objectify - a very thin layer over the GAE datastore. I was using JDO, PMF, etc and found Objectify to be a pretty easy switch. Also, in the process, I discovered several cases where JDO "features" were not implemented as I thought. For example, I thought I could use JDO transactions to prevent race conditions in a case where two users were trying to create identical objects (when I only wanted one). It turns out that may not be the case and I would need to manage the lock/permissions myself. See: http://groups.google.com/group/objectify-appengine/browse_thread/thread/d71889d94ebf8302 Glad to find other GAE/Wicket users! Jake intmanch wrote: > > Hi all, > > I've been actively using wicket on GAE for quite a lot of months and > I > love it, but I've quite serious performance problems. I already checked > all > the advices to speed up the performance but still is quite slow specially > for some requests or opening a bookmarkable page. I don't know what to do, > I > use DataView, that it's quite performant, LoadableDetachableModels > everywhere, session is ok in size, so I don't know if there is something I > can tune on the RequestCycle servlet? > > Thanks! > > -- View this message in context: http://old.nabble.com/Wicket-GAE-performance-tp28118591p28164599.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicketstuff.org down?
Same problem here. I'm pretty new to this business of building off of repositories using Maven - so new that I assumed my failed 'make install' was my fault since it was the first time I did it on my own :) Jake Ilja Pavkovic-3 wrote: > > Hi, > > I cannot reach wicketstuff.org anymore. Anyone else experiencing this > problem? > > Best Regards, > Ilja Pavkovic > > -- > binaere bauten gmbh · tempelhofer ufer 1a · 10961 berlin > >+49 · 171 · 9342 465 > > Handelsregister: HRB 115854 - Amtsgericht Charlottenburg > Geschäftsführer: Dipl.-Inform. Ilja Pavkovic, Dipl.-Inform. Jost Becker > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > > -- View this message in context: http://old.nabble.com/wicketstuff.org-down--tp26248816p26249945.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org