It's been a long time since the last What's New in Wonder -- almost 8 months. We've been busy, quietly making your life cooler :) There's actually been quite a bit of activity in Wonder, including contributions from lots of people outside the regulars. We've had a lot of Jiras filed (many with patches! thank you).
Thanks to everyone who contributed bugs, patches, tests, and features over the 8 months -- Anjo, Chuck, Quinton, Timo, Lachlan, Henrique, Ravi, Denis, Ray, Ramsey, Kieran, Travis(es), Michael, and anyone else I might be forgetting.
The synopsis below doesn't do justice to any of the items listed -- I encourage you to read the docs on each of them for more information, but it should at least give you a starting point for finding more information. As always, my own stuff is disproportionately weighted in the synopses :)
New Components
- ERXSwitchComponent - patched in, hides the component name
- ERXResponseComponent - lets you wrap a WOActionResults in a WOComponent implementation
- ERXBooleanSelector - Yes/No/Blank picker
- ERXClippy - wrapper around the Clippy flash clipboard access layer
- ERXPodcastRssPage
Ajax
- Bunch of enhancements to AjaxModalDialog
- iBox updated to 2.2
- AjaxModalContainer tweaked to support dynamic resizing
- Updated to Prototype 1.6.1 and Scriptaculous 1.8.3
- New experimental support for returning components from Ajax action methods (when used with replaceID binding)
- New experimental push/keep-alive support
D2W
- New D2W page/component metrics
- Cleanup on the 47 different boolean picker components
- ERDEditableList brought over from Diva
EOF
- bunch of new tools for tracking down editing context lock problems
- support for tracking locks on ERXDatabaseContext
- bunch of tweaks and fixes and new bugs but then more new fixes for autolocking (in particular, support for sharing an autolocked ec across threads)
- support for bind variables with FrontBase
- migration fixes for SQLServer and Derby
- automatic batch faulting - basically Wonder watching your back about prefetching, preventing scenarios where you would have gotten a million individual fetches before
- ERXPrefixQualifierTraversal - walks a qualifier and prepends a keypath to every key of the qualifier
ERRest
- supports non-EO's using EOClassDescriptions (via a new BeanInfoClassDescription)
- supports non-model relationships on EO's (via a new class description factory that can handle EOEntityCD's and BeanInfoCD's for the same class)
- format delegates for remapping commons keys (like id and type)
- ERXKeyFilter now has a security delegate for implementation fancier rules
- ERXRestFetchSpecification - makes it really easy to fetch based on query params with security filters
- ERXFilteredQualifierTraversal - provides support for filtering a qualifier with an ERXKeyFilter (so people can't fetch on salary > x if they're not allowed to see salary)
- support for deferring the generation of rest responses, so you can pass requests between controllers (this provides support for having compound controllers, like what would be needed for a Gianduia fetching controller)
- easier support for generating html responses with rest controllers
- ERXRouteLink - generate links to route controllers
SnapshotExplorer
- new framework for exploring the snapshots that are currently loaded into memory in your application
Diva Look Framework
- ERDivaLook/ERPrototaculous/ERDivaLookExample frameworks are a new D2W look focused on XHTML div content styled with css rather than the older table-based looks. Additionally it has its own Ajax framework (not to be confused with Wonder's existing Ajax.framework) based on WO 5.4's ajax request handler.
ERMovies/ERMoviesLogic
- Movies example moved into Wonder
ERChronic
- Patched to match trunk of chronic
ERAttachment
- Support for resizing attachments on upload
- SipsImageProcessor - uses sips commandline tool to thumbnail (not as fast as ImageIO JNI imp, but less to build)
WOJavaRebel
- huge performance improvements
- support for model reloading
- updated to new JavaRebel version
ERPDFGeneration
- ERPDFGeneration provides both a utility class and a wrapper component for generating
PDF documents from XHTML markup. Two PDF generation engines are currently supported,
FlyingSaucer (xhtmlrenderer) [1] and Useful Java Application Components (UJAC) [2],
however additional parser based engines like FOP could be added fairly easily.
Validity
- i guess it runs now? it got a bunch of build-related fixes at least
ERMemoryAdaptor
- all cleaned up and shiny
- split into memory store and entity store, which can be a basis for other custom adaptors
- support for flattened attributes
WOPayPal
- Sandbox support
Testing
- build scripts now support running test cases
- bunch of test cases added
Misc
- ERXSignalHandler - "multicast" signal handler
- ERXProperties/Configuration cleaned up dramatically
- ERXComponentUtilities.inheritTemplateFrom - make one component inherit the template of another component
- ERIUIExample made fancier
Build Server
- Moved entire to Hudson - http://webobjects.mdimension.com/hudson
- Rebuilds immediately on commit
- All applications and examples are built fully embedded (= easy to download and run now)
Again, thank you for the great work!
ReplyDeleteIn first place: thank to all for great work!
ReplyDeleteI'm very interested about the implementation/changes in EOF. Where I can found more information about?
Thanks,
Alex