Monday, March 23, 2009

Everything Since Sept 3

Q posted details on the generics support in the binding validator -- here's the rest of the changes to wolips since the last post (in roughly chronological order):

Ant 1.7 is required to use woproject.jar now

Updated default build.xml: compile is always called, framework/app name fully depends on build.properties now, added a package target that will tar up the build products, split install is supported out of the box and is on by default

New EOModel Wizard lets you pick the plugin you want to use (it finds all the reachable plugin frameworks) and automatically adds the framework dependency for you.

Fixes for Windows users.

woproject/ant.* files are no longer necessary and have been removed from the default templates.

Lots and lots of enhancements for maven support.

XML formatting now uses our HTML formatter (which is a lot better than the default)

Lots of new ways to override wolips.properties:
1) you can set wolips.properties= in your build.properties (relative path = loads from ~/Library/Application Support/WOLips/whatever, absolute = ... absolute)
2) you can set WOLips Properties File in the global WOLips Build Preferences (to set a workspace default) -- same rules as #1
3) you can override any settings from wolips.properties in your build.properties (this was supported before, but just reminding)
This should make it easier to experiment with different versions of WO on a per-project (or per-workspace) basis. These changes require either project close/reopen or possibly an eclipse restart.

Better support for models in jar-based frameworks

Support for executing SQL on Oracle

Kind of big change for dependencies -- frameworks must be added to the app level. They are no longer automatically cascaded up the dependency tree. This is required if you want to support things like overriding classes in Wonder in your own code, where Wonder itself also overrides classes in core. Without this, you end up cascading up JavaWebObjects too early and you only get one chance at a "first" framework. Unfortunately, to change this is to rewrite the Eclipse classpath system.

Namespaced attributes are now parsed properly in template html (i.e. something:key="value")

Performance enhancements for automatic EOGen generation (duplicate removal in the queue, support for cancel, etc).

Performance enhancements for Entity Modeler (only models that match a resource patternset are loaded, and some big speed improvements on saving).

LLLOOTS of fixes in Entity Modeler.

Upgraded for Eclipse 3.4.1.

Entity Modeler now only rewrites files that contain changes (for instance, changing an entity will only rewrite that single entity plist).

Entity Modeler now tries to preserve EOModeler syntax for connection dictionaries when it can.

Entity Modeler now has an option to now show relationship optionality warnings (if you have huge models and you get a lot of these, it can be annoying)

Entity Modeler now supports the new custom prototypes naming convention from Wonder.

Tag shortcuts default to include all of the shortcuts from 5.4.

Made the templating system is now much more generic to support more than just project templates (for instance, Component templates).

Added support for project-relative component templates.

Support for custom display group subclasses and generics in the display group wizard.

Support for binding validation and completion of generic types.

Saturday, March 21, 2009

WOLips now knows about generics

Not long ago generic type parameters were added to ERXDisplayGroup in Project Wonder, after which it became apparent that WOLips would need to learn how to interpret the now genericised key paths so that they can be validated and offered as suggestions in content assist and the bindings view. After a few less than successful attempts we are pretty close to having generic type resolution working correctly in the latest nightly builds. This should work for generic typed fields, methods and subclasses.

If you were previously avoiding using generics because WOLips did not validate them correctly then now is the time to reconsider that decision.