Welcome to latest installment of our weekly activity report. Several of us continue to be engaged in a big in-house qooxdoo project, at least part-time. Here is what else happened.
Framework
Theming
The resource key in decoration and icon themes was too limited. It was only possible to set exactly one resource directory. It has been replaced by the new alias key, which expects a map as value. The map keys are the alias names and the values the corresponding resource directories.
Just as ordinary qooxdoo classes, themes do support mixins. However it is not possible for mixins to override existing keys. To allow explicit overriding of keys theme mixins can now be included using the patch key.
Decorators
The “Uniform”, “Single”, “Double” and “Beveled” decorators now also support setting the background image position.
New features
- It is now possible to change the position of the icon of a TabButton in the TabView widget.
- We have added a new event (
beforeContextmenuOpen) which is fired before a context menu is shown (#1257). - If the size of the DOM element for an inline application is not set and the dynamicX/Y settings are used, an error is thrown (#2342).
Bugs
For a complete list of bugs fixed during the last working week, use this bugzilla query.
Generator
Cache Stuff
The default path of the cache folder has been changed, it’s now in a system-dependent temp directory. The system-dependent temp directory will be something like /tmp on *ix systems, %HOMEDRIVE%%HOMEPATH%\Local Settings\temp on Windows XP, and something even more intuitive like /var/folders/-t/-tPw69jr2RWkyU+1YrJNvU+++TM/-Tmp- on MacOSX. You can always override this default by setting the CACHE macro in the let section of your local config.json file. The reason to introduce this was simply to support multi-application development on the same machine, getting the cache out of the way in the individual application, and benefit from cache re-use across applications.
The new default location takes advantage of another novelty, the TMPDIR system macro. System macros introduce a new breed of macros that can be referenced without ever being explicitly defined in a configuration file, since the system, i.e. the generator, will provide a definition for them. Let’s see how they evolve.
If you allow multiple applications to access the same cache, there is a chance that you have classes with same names from different applications. In order to accommodate this, id’s for cache objects have been changed to better reflect the context they come from. So for instance, if you are using the same qooxdoo installation for multiple applications, you will get the benefit of cached framework classes across applications. If, on the other hand, you fancy to use different qooxdoo installations on the same machine, e.g. with different versions, their cache items will be different, and will not be used interchangeably.
Configuration
A new key packages/loader-with-boot, if set to false, allows you to separate loader information from class code. (This will only make sense to people who actually need it, so don’t worry about it).
Contributions
HtmlArea
There are two new releases available of the HtmlArea: 0.3 and 0.4. Check out the corresponding blog post for detailed information.
In short: the new 0.3 release works together with 0.8.2 and newer while the 0.4 release targets the 0.7.4 release. (Yes, the lower HtmlArea version works with the higher qooxdoo version, and vice versa).
Community
qooxdoo.org Changes
We did a bit of tweaking of our online presence at qooxdoo.org this week. The aim is to gain some overall performance. Our demo site was offloaded to a separate port, which should both benefit demo delivery and performance improvements for our other online offerings, like this blog service. The change is supposed to be transparent (well, quite), so don’t update your bookmarks. All demo-related links and bookmarks are supposed to remain stable, and we might shuffle things around again in the future.
Left-handed Martin
As it so happens, fellow core developer and baseball catcher hotshot Martin broke his right hand the other day, defending his team’s victory on the field. He’s sorely missed. All the best, Martin!
That’s it for this time. There is another holiday upcoming, so we’ll back for daily business on Tuesday. – Have a good time!