Wednesday, February 10, 2010

This Three Months in Wonder

An H2PlugIn has been added to Wonder to support the H2 Database Engine (

The ERReCaptcha component was added to ERCaptcha.framework -- this adds support for in a way that is API-compatible with ERXSimpleSpamCheck.

ERAkismet has been added to ERCatpcha.framework. ERAkismet adds support for the Akismet spam identification service that is API-compatible with ERXSimpleSpamCheck.

ERPOFCChart has been added to the ERPlot framework. This component adds a simple wrapper around the OpenFlashCharts2 flash charting tool.

ERRest now supports JSR-311-style annotations if you prefer that approach:
routeController.addRoutes(Person.ENTITY_NAME, PersonController.class);
@GET @Path("/person/{person:Person}")
public WOActionResults view(@PathParm("person") Person person) {

Basic migrations will run against MemoryAdaptor now (or .. appear to), which helps when running test cases.

BugTracker app can now run with MemoryAdaptor, which requires zero setup. This should make it much easier to fire up the example app to see what Wonder can do. To run with memory adaptor, you can launch from eclipse with the VM Arguments "-Xmx512M".

The new ERComponentTour example app shows some components with some example uses.

RuleModeler now supports adding documentation to rules.

ERD2WGraphVizPage in ERD2W can spit out a graphviz file that represents your EOModel.

JavaRebel is now JRebel, so WOJavaRebel is now WOJRebel (and updated to the latest-and-greatest). Q's done a bunch of work on this and now supports EOModel reloading. He says JRebel is much faster in the new versions, too. I hate myself for not using this. In fact, I'm going to hook this up right after I finish writing all this up.

ERProfiling is a cool new framework for profiling your WO apps in a way that actually understands WO. For more information, read more here.

Anjo started work on an Apache Mina-based WOAdaptor ( I believe this is still experimental.

Ravi pushed up a new look into Wonder -- "ERDivaliteLook" as well as the ERDivaliteExample example app to show it off.

"It's intended as a transitionary point to migrate WO/D2W apps to Diva look.
As such it's:

1. HTML4 table-less markup.
2. CSS and Selenium tests are interchangeable with a full Diva look app.
3. No Ajax.
4. WO 5.3+ compatible."

Ray has been doing all kinds of great work making the documentation for Wonder more accessible and useful. This has included adding a new doclet for showing components along with their component bindings (see here) as well as a doclet for showing the available d2wkeys for D2W components (here)

Ray has also done a lot of work on the test cases and getting them to run properly from ant. You can also run all the test cases from within Eclipse in the JUnit runner.

ERMovies now has Selenium test scripts.

ERSelenium now has support for taking screenshots in the standalone runner.

The SproutCore framework and example app have been removed. It was an interesting experiment, but ultimately would have been too labor-intensive to keep it maintained alongside the official SproutCore framework.


  1. Thanks for the update summary Mike. Really useful. I can't believe that there are some new features that actually got into Wonder without me noticing.