Many thanks Stephan for these great improvements and the new functionality. I have been away for a bit since I am taking a bit of a break for a month. Could not help checking out the new group demo though - its just excellent! The package and demos are truly the kind of help that was needed for form development. Your work has brought significant clarity and a pattern for something we all have to tackle. Roger, also wanted to add my congratulations and best wishes on your new family member. Children are a wonderful gift. Regards, David Stephan Richter wrote:
Hello everyone,
again thanks to the great feedback we received -- especially from David Pratt, Roy Mathew, and Joachim Werner -- we were able to fine-tune our new form framework even more to make it as robust of a foundation as possible for your projects! New features include group support, fully internationalized widgets for number and calendar fields, a richer select widget, refined form templates, and of course a new demo!
BTW, congratulations to Roger who became father for the third time last weekend!
Again for the curious and impatient ... ---------------------------------------
There is also a new demo, of course! The "Questionnaire" demo provides a form for filling out a simple questionaire about someones Zope community involvement and then provides a very simple results page. Technically this demo (available for the DIV- and Table-based layouts) demonstrates the usage of groups, a new feature of this release, as well as writing attribute value adapters.
To run the demos do the following::
$ svn co svn://svn.zope.org/repos/main/z3c.formdemo/trunk formdemo $ cd formdemo $ python bootstrap.py $ ./bin/buildout -N $ ./bin/demo fg
Now you can access the demo under:
On the Javascript Front -----------------------
Paul has made some great progress recently and we have now two demos working, including a fully Javascript-driven calculator. I'll leave it up to Paul to decide whether he wants to make an announcement, but he will be definitely promoting his work at EuroPython!
<secret>To see the demos: Replace "formdemo" with "formjsdemo" and follow the instructions above.</secret>
Changes -------
z3c.form ~~~~~~~~
- Feature: The select widget grew a new ``prompt`` flag, which allows you to explicitely request a selection prompt as the first option in the selection (even for required fields). When set, the prompt message is shown. Such a prompt as option is common in Web-UIs.
- Feature: Allow "no value message" of select widgets to be dynamically changed using an attribute value adapter.
- Feature: Internationalized data conversion for date, time, date/time, integer, float and decimal. Now the locale data is used to format and parse those data types to provide the bridge to text-based widgets. While those features require the latest zope.i18n package, backward compatibility is provided.
- Feature: All forms now have an optional label that can be used by the UI.
- Feature: Implemented groups within forms. Groups allow you to combine a set of fields/widgets into a logical unit. They were designed with ease of use in mind.
- Feature: Button Actions -- in other words, the widget for the button field -- can now be specified either as the "actionFactory" on the button field or as an adapter.
- Bug: Recorded all public select-widget attributes in the interface.
z3c.formui ~~~~~~~~~~
- Feature: Registered all defined macros for each form template. Also, added more slots to the templates providing more hooks for customization.
- Feature: Added a macro/slot for the "required info", which explains how required fields are marked.
- Feature: Added support for form labels.
- Feature: Added support for groups to templates.
z3c.formdemo ~~~~~~~~~~~~
- Feature: Added new field "promptChoiceField" to the "All Widgets" demo demonstrating the prompt message of the select widget.
- Feature: Increased the integer default value of "All Widgets" demo to show off our new internationalized converter.
- Feature: Made ``bytesField`` and ``passwordField`` non-required, since they do not show their default values prohibiting the form to successfully submit, which can be annoying when playing around.
- Feature: New "Questionnaire" demo shows how to use groups effectively. It also demonstrates how the label of buttons and widgets can be changed using attribute value adapters.
Enjoy!
Regards, Stephan