The week in qooxdoo (2009-09-18)
Filed under: Activity Reports
By Thomas Herchenröder @ September 18, 2009 16:58
Welcome! It is one week after qooxdoo 0.8.3 saw the light of day, thanks for all the feedback we received so far. Keep it rolling! But, there is a road ahead and there is no standing still, so here we go...
Framework
Data binding
A key feature of the whole qooxdoo data binding layer is the data array, an array which fires events on every change. This is so important, because the binding needs to know every change to get all the data synchronized. We improved the array further more and fixed some minor issues. Additionally we experimented a bit with defineSetter and defineGetter for accessing the array items. We did get it running, but not very fast. And as long as defining the accessors is not available in all major browsers, we can't use it.
Another focus this week was to fix some issues in the list controller in combination with filtering. Due to the very complex binding structure, it was quite hard to get it working, but we finally managed it how it is supposed to be.
We introduced the modelSelection in the framework last week for all widgets handling a selection. This model selection was not really fitting into the binding landscape so we made some changes to get it into a state where it is easy bindable.
CSS color "grey" in Internet Explorer
The bug report #2766 shows that the British English spelling of the color name "grey", which is a valid spelling for our current property system, makes problems in Internet Explorer. But what happens if the British English spelling is used?
If the value is set to the DOM element like
element.style.cssText = "background-Color: grey;";
IE6 and IE7 ignore the value and the background color isn't set on the DOM element. Only IE8 shows the background color. Why? Because the British English spelling isn't supported in IE6 and IE7, only the new IE8 supports both spelling forms.
But if the color is set like this
element.style.backgroundColor = "grey";
IE6 and IE7 stop with a script error: "Invalid property value". This stops the script execution which isn't really nice. Therefore, we decided to allow only the gray (American English) spelling, which is supported by all browsers.
Bugs
For a complete list of bugs fixed during the last working week, use this bugzilla query.
Search in Demobrowser
With every new feature, qooxdoo's Demobrowser is getting more and more demos. Currently, we have more than 230 demos available in the app. With that huge amount of demos, it was about time to introduce a search for the demos.
Tooling
Internationalization Data
A new experimental feature was added to the generator, to support forking out of internationalization (I18N) data in a generated application. I18N data for any app, currently translation mappings and CLDR data (like the date format), are by default included in the loader/boot package of the application. For big projects, with a lot of supported locales and a lot of translatable strings, this part of the loader can become really large.
To allow a better handling of the I18N data, and to speed up loading of the initial application package in the browser, we have added a configuration option to fork out this data into separate files. See here for more details.
Complex Name Spaces
Increasingly, people are using complex name spaces for their applications. They use things like "org.myorg.webclient" to follow a Java-like notation, or something like "webclient.pro.util" and "webclient.pro.ui" to partition a larger application under a common root. To that end, a new snippet document was added, which highlights some of the aspects of using complex name spaces in qooxdoo.
So much for today, see you around next time.

Comment by Stefan
A neat implementation of Ajax to look at: http://clean-ajax.sourceforge.net/ to preserve modularity less dependency of server side code.
September 23, 2009 11:19
Comment by Thomas Herchenröder
Thanks, Stefan, we’ll have a look. What is it especially that you like with Clean-Ajax?
September 24, 2009 11:08