The week in qooxdoo (2009-05-22)
Filed under: Activity Reports
By Andreas Ecker @ May 22, 2009 23:12
Welcome to another weekly status update. This has been quite a short working week for most of the core developers here at 1&1. Due to yesterday's national holiday, many chose to take this Friday off for a long weekend.
Roadmap
For the next few weeks and months we will increasingly be involved in supporting in-house qooxdoo app development. This is a great thing to happen, as this kind of consulting is an invaluable feedback channel for getting to know real-life framework use as well as experiencing missing or impractical features. The possibilities to use qooxdoo as the framework of choice for many different scenarios within the enterprise have increased much over time, last year's 0.8 release clearly being a landmark.
Of course, this engagement has to be taken into account for the mid to long term release planning. Therefore, the roadmap has been adjusted accordingly. Over the next few months working towards a 0.9 release (targeting October 2009) and finally a 1.0 release still by the end of the year clearly lets us continue and intensify our efforts to stabilize proper API - while carefully deprecating inconsistent or impractical API. You are requested to actively support this process of making the framework more mature by submitting your input about problematic API as well as new or extended features that are expected to require the API to be adjusted.
Form API
As promised last week, we added a manual for the new form API to the wiki. If you see some missing parts in the documentation, feel free so send in feedback (mailing list or bug tracking preferred). Please keep in mind, though, that there are a number of new features still to come, particularly to allow for convenient form serialization, etc.
Deprecation
During the process of moving to the new form API, much attention was paid to properly deprecate the existing API. We added some initial documentation to the wiki about how to deprecate different types of changes. This document is not only interesting for those who plan to deprecate things for themselves, but also for all developers who want to know what can be deprecated and what can't and why.
Inspector
The Inspector got a small but handy new feature: The Widgets window can now optionally display the "external" parent/child hierarchy of the inspected application, i.e. only those child widgets added by the application developer through the parent's add() method as opposed to all the children including internal child controls created by the parent widget itself.
In order to achieve this, the getChild() methods of qx.ui.container.Scroll, qx.ui.core.ScrollPane and qx.ui.virtual.core.Pane have been deprecated in favor of the getChildren() method now implemented by all widgets with a public add() method.
Flash Widget
As mentioned in the last weekly blog post we were about to fix the reload issues of the re-introduced Flash widget. Unfortunately, the first attempt of implementation, i.e. to change the visibility method, would have created more problems than it could have probably solved. So we decide to revert to the old implementation and fix this issue with another idea.
By writing an unit test for Flash's ExternalInterface in order to check the two-way communication between ActionScript and JavaScript, we founded out that the ExternalInterface is no longer accessible when the browser gets minimized, another tab gets opened or the user locks the screen. Any Flash experts out there that could provide some input for fixing this issue? Is this a limitation of the browser integration of the Flash plugin? Workarounds? Any help is appreciated.
Bugs
As always here is the bugzilla query for past week's bug fixes.
Data binding
The new data binding feature, which was introduced as an experimental layer in the last release, gathers quite some interest. It is great to see many users work intensively with it and send back feedback and requests. Of course, there can never be enough feedback on such an important concept and its corrresponding API and implementation. If you haven't tried out qooxdoo's data binding, please do so. It is to dramatically influence the way we all write qooxdoo applications in the future.
One of the most active users is Christian Boulanger, who started just recently to add data binding to Table as well as TreeVirtual. His implementation is part of his contrib project qcl. He also provided a nice online demo, so check it out. Martin, creator and maintainer of qooxdoo's data binding layer, is going to have a closer look and eventually collaborate with Christian to come up with an implementation that fits the existing framework feature. Keep up the good work, Christian.
Community Choice Award
Oops, you forgot to vote for qooxdoo to receive one of the 2009 SourceForge Community Choice Awards? No worries, just click on the image below and submit the subsequent form. We thought that qooxdoo best fits into the following two categories, so it would be great you would choose them as well to have votes to cumulate:
- qooxdoo for Best Visual Design
- qooxdoo for Most Likely to Change the Way You Do Everything
Don't forget to show your friends and colleagues how you feel about your favorite project! Get the word out using your social network. If you like you can add a nomination button to your website using this code:
Thanks for your vote. See you around next time.
