Wicket on Google’s App Engine

You’ll probably have noticed that Google’s App Engine now lets you run Java web apps. This includes those created with Apache Wicket, although you’ll need to tweak a couple of settings to make it play nicely.

The App Engine sandbox imposes some restrictions. The most notable of these is that you cannot run background threads. Here’s how to make Wicket play ball:

  • Make sure you’re running in deployment mode (this will disable the background thread that checks for modifications to your resource files, and is what you’ll want for deploying to a remote site like this anyway).
  • Override newSessionStore() in your WebApplication subclass and return a new HttpSessionStore(this). (The default DiskPageStore uses a background thread and writes files, neither of which are supported in the App Engine’s sandbox.)
  • Enable session support in appengine-web.xml.

App Engine for Java is in limited beta, but if you’ve been to the London Wicket Users Group at Google and would like me to wangle an account for you, please e-mail me (details on the About page).

London Wicket Users Group at Google on October 1st

October’s London Wicket User Group meet-up is happening on Wednesday 1st at Google’s office in Victoria. It’s shaping up to be a really good event.

We’re pleased to have Ari Zilka (who founded Terracotta) coming along. He will be giving a talk, as will Richard Wilkinson, who has interesting things to say about integrating Wicket with Guice and JPA. There will be a couple of other talks and some nice demos, too. If you’re wondering what it’s like to write real code in Wicket, don’t miss it.

If you’d like to come along, please wander over to the jWeekend site to sign up.

London Wicket User Group is today!

If you’re in England and you’re reading this over your morning coffee, fresh off your RSS feeds, it’s your last chance to sign up for today’s London Wicket User Group, held at Google, next to Victoria station.

I’m going to show you how to make a dynamic AJAX-powered image cropper, just like the one you get in Photoshop™ and similar tools. Mmmm, shiny. Ian’s going to be looking at Dojo integration. There will be plenty of time for some chat and networking, and we’ll grab a couple of beers afterwards. See you there!

londonwicket.org gets some love and some code

The londonwicket.org site has had a bit of an overhaul. I’ve put up the slides and code from my recent AJAX drag & drop generic list editor talk, given at the previous London Wicket Users’ Group meet-up.

The previous meet-up went really well, with about forty people turning up. It was successful enough that Google are going to host us again on April 2. Have a look at the site for details, registration, etc.

Google UK to host Apache Wicket User Group on Feb 6

I’ve recently started work as a developer at Google UK. We’re going to be hosting the upcoming Wicket London User Group on February 6th. It’s looking very popular already, with nearly thirty people registered so far. If you want to come, you’ll need to sign up here, as we need your names for the front desk.

We’re going to have three short presentations followed by a quick QA session. I’ll be presenting a talk on AJAX list editors, complete with sample code you can take away with you. Ian Godman‘s going to talk about the new security framework for Wicket that he is open sourcing.

We’ll have people of all levels coming along, but you’ll get more out of the event if you’ve at least had a bit of a play with Apache Wicket first. I have a quickstart screencast elsewhere on this site, and there are plenty of excellent resources linked from the main Wicket site to help you get going. Alternatively, visit us on IRC or the mailing lists for help – we’re all very friendly. Hope to see you there!

Wicket User Groups Go Global

Wicket is looking particularly exciting at the moment. Why? Is it because Wicket 1.3 is nearly ready to take its first steps into the world? Or is it because Wicket in Action will be out soon? Nope. What’s really exciting is the way the community is taking off.

Becoming an Apache project, with all the benefits that brings, has not gone unnoticed by the wider Java development community. Particularly within the enterprise, the Apache brand (and ASF license) seems to bring with it a promise of professionalism and confidence. A bunch of banks and corporates now list it on their job advertisements, including the likes of Nokia and Time Warner. Despite the explosion in attention, the signal-to-noise ratio on the mailing lists remains impressively high. People are being really helpful both there and also with bug reports and patches, so a big thank you from all us Wicket developers to all you folk out there in the community who are making this growth in interest both workable and sustainable.

Talking of explosions, there has been a staggering level of interest in community meet-ups. When Cemal and I founded the London Wicket User Group a few months back (next meeting Dec 5th) we both hoped the concept would take off elsewhere, so we’re happy to see the vast number of other groups forming across the globe, in a quite astonishing number of places: Antwerp, Amsterdam, Copenhagen, London, Minneapolis, Rio de Janeiro, Seattle, San Francisco, Stockholm, and also somewhere TBC in Austria. I’m surprised there’s not one in New York City yet. Come on guys!;-)

The Amsterdam meet-up on November the 30th is looking particularly awesome (80 people registered interest, which will probably equate to 50+ people). The level of Wicket expertise gathered in one room will be unprecedented – get yourself along if you possibly can.

For more information, check out the wiki page: Apache Wicket community meet-ups.

Go Wicket!

Wicket Guice updates

I’ve updated the Wicket Guice integration project with some new features. The last of the following wasn’t quite done in time to make the upcoming Wicket 1.3.0-rc1 release, but the other features listed here are in. They are:

  • Support for Provider<T> -based injection.
  • Support for TypeLiteral<T> -based injection.
  • A GuiceWebApplicationFactory, so you can make your WebApplication subclass Guice-managed (see the javadoc for details).

My thanks to JR Boyens for getting the ball rolling on the the first two (WICKET-1063).
Do try it out and give me feedback on configuration issues if it doesn’t quite suit you, preferably so I can fix them for you before the rc2 release.