Welcome back to another roundup of qooxdoo happenings.

New generator job

We've added a new generator job named "info" to the GUI and Inline skeletons. Thus a generate.py info will display some environment information about the system, the Python installation and the qooxdoo framework version used to build the skeleton application. This information can be helpful for troubleshooting, especially for problems related to the build system, so you may want to include it when asking for assistance on the qooxdoo-devel mailing list.

TextField problem with IE8

An issue previously fixed resurfaced this week. A while ago a bug report was filed about "unreachable" TextFields in IE8 standard mode, something we thought was already fixed. But another report indicated that a certain widget combination indeed makes the TextField unreachable for mouse interactions. Such a combination is for example a TextField added to a ToolBar. A lengthy debugging session showed that the problem occurs if the parent widget has an image as decorator and the TextField is being laid out in front of it. In this case the image (decorator) got the user interaction and not the TextField.

We fixed the issue in the current qooxdoo trunk, but older versions are affected by this issue. It is possible to solve the issue with the following workaround for the TextField:

// IE8 in standard mode needs some extra love here to receive events.
if (qx.core.Variant.isSet("qx.client", "mshtml"))
{
  textfield.getContentElement().setStyle("backgroundImage",
    "url(" + qx.util.ResourceManager.toUri("qx/static/blank.gif") + ")"
  );
}

The workaround sets a transparent background image on the TextField to fix the issue.

Bug fixes

For a complete list of bugs fixed during the last working week, use this bugzilla query.

Simulator

The qooxdoo Selenium user extension's qxTableClick command can now locate table columns by using their internal ID as well as the column name that's displayed in the column header. See the Simulator wiki page for details.

Article

Recently a well-written article appeared in a German online magazine by qooxdoo user and web expert Timo Haberkern. A nice read. Well, maybe not if you need to insert a babelfish into your ear to instantaneously translate German into your own language ...

Real-life Examples

Another interesting example of a qooxdoo app was supplied by Mirko Thamm, who added some info about momentas, an events database with an appealing GUI using qooxdoo's optional RPC server for PHP.

RpcConsole

Talking of RPC, Christian Boulanger continued to extend and polish his RpcConsole contribution we blogged about last week. Straight from his today's post to the mailing list:

"I just committed a change to the RpcPhp server trunk that allows service introspection similar to the one found in XMLRPC: In contrast to the XMLRPC standard, the methods "listMethods", "methodSignature" and "methodHelp" are not methods of a virtual service "system", but are made available as parts of the service class itself. In PHP, this is achieved by extending the ServiceIntrospection class (which is automatically included by the server) or by implementing methods that forward to the API methods like so:

function method_methodSignature( $method ) {
   return new ServiceIntrospection( $this )->method_methodSignature( $method);
}

Thus, you have full control over whether to allow introspection or not. The
details of the implementation can be viewed here. You can see a demo of the three methods: listMethods, methodSignature and methodHelp.

I would like to propose that the other backends implement this simple introspection as well. Of course, I am open to changes to the introspection API in order to achieve interoperability."

He'll surely appreciate your comments.


jsconf2009eu

We are very excited about the upcoming JSConf, November 7-8, 2009 in Berlin. It is supposed to be The European JavaScript Conference of the year. Of course, qooxdoo will be present as well: not only will Fabian give a talk about some of the inner workings of qooxdoo's GUI toolkit. From the qooxdoo core team also Alex, Jonny and Martin will be at the conference. If you happen to also be at JSConf, they're happy to meet with you and chat. If you couldn't get a ticket, but are in Berlin at that time, maybe we could figure out some after-conference get-together. Let us know.

WebTech conference

Much of this also applies to WebTech, a newly introduced German web conference. It takes place on November 16-18, 2009 in Karlsruhe, were the core framework team at 1&1 is located. Carsten Lergenmüller, member of a qooxdoo application team, will talk about qooxdoo in action. If you'll be at the conference or just in town at that time, drop us a note so we could arrange for some decent qooxdoo beer.

Have a nice weekend and a successful working week!