We've posted a new alpha release of FormKit 0.9 at the following
address:
http://dalchemy.com/global/FormKit_0.9a.tar.gz
This release is "alpha" in the following respects:
1) we're vetting the changes we've made (and we need your input)
2) we're still testing it (there's probably a bug or three we haven't
found yet)
3) we're still working on the docs
We don't anticipate further radical changes, but we aren't ruling them
out until we've heard what the community thinks. Hopefully most of you
will be pleased with how we've addressed some of the persistent
frustrations of previous releases.
What's NEW in FK 0.9a
---------------------
1. New feature: not backwards compatible! (see below)
2. Entire package more friendly for people not using WebKit
3. Totally new Compound Field: sucks less!
4. Improvements to Validation/Conversion
- can specify custom error message via constructor (without
subclassing)
- support for explicitly "required" fields, no validator required
(quite handy)
- now, if a field is NOT required and there's no input,
validation/conversion is skipped (quite handy)
5. Simplified the choice stuff for select-type widgets
6. Simplified the tag building parts of the code, especially wrt
compound fields
7. Output improvements
- no DOM id's generated by default; can still turn it on and specify
your own (there was too much text in the code)
- new displayData() method to get all of the pieces of a form (good
for templating)
- rational out-of-the-can CSS style/class features
- X/HTML output is W3C-valid
- easier to make "accessible" forms
- now enterprise-ready <- joke
8. Some new fields and validators to use
9. New docs and examples, including an example Webkit "context" for
browsing the examples [some of this we're still working on]
Backwards-compatibility Problems
--------------------------------
1. FormKitMixIn.py has moved to the new plugins directory
2. BaseChoiceClasses.py has been removed; old code of yours that
references ChoiceList or Choice classes will blow up
3. A few fields and validators have been moved into modules within the
plugins/ directory
4. CompoundFields have been completely redesigned; any custom compound
field classes you have made will not work with 0.9a (sorry, dude); the
consolation is that compound fields are now kind of cool
5. If your apps depend on automatic DOM IDs from FormKit, you'll now
need to set autoID=True either when you instantiate the Form or when
you instantiate particular fields
6. Because of changes to how validation works, you may need to revisit
some of your forms
(Perhaps there are a few others. We hope you like surprises!)
Props
-----
Special thanks to Alex Reisner for his copious work on 0.9a.