Table of Contents
Feature Wishlist
You may add your feature wishes here. Please try not to add duplicates to stuff that is already reported as an enhancement in bugzilla. This page is meant as a reference point for discussion on widgets and features that would be a nice addition to qooxdoo. Of course, you should use the mailing list as well for discussions and comments on your own or others ideas.
Core
- Obfuscation support for toolchain: I thought it might be nice, to add obfuscation to the python-tools. Maybe this could even improve performance when processing huge qooxdoo applications by shrinking the size of variable names and so on. (Status: some optimizations like shrinking names of local variables, string replacement, etc. is already included).
- Answer to the 8 Ajax evaluation criteria described here. That is in short :
1. Back button, history, and bookmarks 2. beyond widgets: standard and custom behaviors 3. single-page interface 4. productivity and maintainability 5. client-server 6. XPath targeting 7. comprehensive event model 8. state and the observer pattern
Layout
- Character units. Qooxdoo already has pixel units, percentage and flex units. But for example for specifying the width of a FieldText or the height of a TextArea, it is more natural to specify it in terms of width of characters or number of lines. It should adjust when the text font changes. CSS has a similar concept like em units.
- Change font size. When you change font size with Firefox, the layout isn’t updated. This could be an interesting accesibility feature.
I/O
- Network: AJAX push (=comet). For multi-user real-time interaction also events generated on the server should be able to affect the client, look here for the idea.
- Network: Beyong http Streaming (=comet) and its bi-directional communications, Internet Messaging Bus would bring support to guaranteed message delivery, guaranteed order of message delivery, support to once and only once message delivery, supports server-initiated communications. As Nexaweb is working on the subject and is implied in the XAP project which is open for integration with other GUI toolkits (Dojo support in XAP is already in the work), some answers may come by taking an interesting in a Qooxdoo / XAD combination which by could also answer to some of the points mentionned in the previous wish of the 8 Ajax evaluation criteria.
- Network: Web-2.0 messaging layer brings the important consideration of not create contention for connections, resulting in blocked and inefficient communications, which can exist with XmlHttpRequest. The article "XmlHttpRequest BAD - Messaging GOOD" explains this subject. In this objective, taking a look on Cometd and for example support of the BEEP protocol would be welcomed, furthermore, there is a JavaScript implementation of BEEP protocol for BEEP clients called JsBEEP
Specific widgets
- Text Editor: A nice WYSIWG text editor, powerful like the one used by the Joomla CMS. Support of output through an AJAX request in different formats (XML, HTML, RTF, DOC, SXW, PDF, etc...)
- Treefullcontrol
- Headers to specify the meaning of each column.
- qx.ui.table.Table
- Multiple column sort. Currently it sorts only on one column.
- Multiple header rows for grouping the columns in the below row.
- Row background color. Currently not possible.
- PageView controls (i.e. ButtonView)
- Dfferent alignments at the same time. Currently user has to decide if to align buttons to the left or to the right. It would be nice to extend this to allow both: Put some buttons to the left, others to the right. (This also matches for top/bottom style.)
- ComboBox
- Display images when it has no editable TextField.
- Possibility to autoadjust width to content.
- When the list has a lot of items, possibility to search easily items.
- File upload widget: It would be great if qooxdoo will have file upload support. Additionally, it would be nice if it could behave as a simple “file selection widget” (so that the file is usable on the client side).
- Chart Widget(s): To display different kinds of charts (bars, cakes, Gantt...)
