Given that 11.1.2 came out today I thought I'd take a slight sidestep from my current pursuit of all things ADFLogger related to highlight some of the unsung features in this release. There's no doubt that the headline features such as JSF 2 and Facelets are great but I'm sure lots of folks will be exploring those, so now for something a little different:
Sparse Data Control for Beans
In the past the bean data control generated a bunch of XML descriptor files for each class it needed to describe. Well in this release that has all gone by default, and all that is needed is a single entry in the DCX file for each class - much neater. Mind you, you can still have the XML descriptors if you need to decorate the bean attributes (say with validation). There is a lot more going on with the Bean DC which I will try and get around to writing up soon enough.
Oh yeh! If you live and breathe in the IDE all day long that whole process of running and re-running to deploy the latest metadata and classes is frankly a little boring and time consuming. The great news here is that all you have to do is save and magically the classes, pages and metadata are redefined in the running server without you having to re-run to force the deploy. Up until now you've only been able to save get the changes instantly if you're only changing the JSPX structure and not changing bindings or classes.
This is just such a huge time-saver although you have to remind yourself not to press run sometime. I'll warn you though, there is a bit of an art to using this feature. bear in mind that any state that your application is carrying is not re-initialized so weird things can happen if you're half way through a transaction and then swap out some essential class or binding. I've found the best approach is to include a test link in my page template which essentially restarts the app in a new session so I'm working with an expected environment for each test. At least I've bypassed all of that re-deploy stuff.
New Refactor Option
We have added an externalize/ Internationalize Strings refactoring, which as you would correctly guess takes your inline String and pops it into a resource bundle. I don't know why this one appeals to me so much it just does. There are about 4 other new refactorings in the release but this is my favorite.
But Wait, There's More...
Of course there's lots lots more in this release, over 500 features and enhancements, and it's fast! On my Air here I'm running 220.127.116.11 off of the internal solid state disk and 11.1.2 off of an external 5600 USB hard drive. Despite this, the startup time for 11.1.2 is almost exactly half that of the earlier version. I should probably swap the two around and see how fast R2 is off the solid state, I suspect that that will get me down to about a 10 second startup for the IDE.