Permalink
Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
42 lines (33 sloc) 1.77 KB
On Intentions And History
=========================
:author: Ian Bicking
I'm the author of FunFormKit_, a form generation and validation
package for Webware_. I considered FunFormKit (FFK) to be a very
powerful and complete package, with features that few other form
validation packages for Python had (as to other languages, I haven't
researched enough to know). It supported repeating and compound
fields (which most packages do not), and had a very expressive
validation system.
However, this is not FFK. In fact, it is a deprecation of FFK and
does not provide backward compatibility. Why?
Probably the biggest problem was that FFK didn't support compound
and repeating fields. Adding them made everything *much* more
difficult -- it was a sort of clever hack (maybe not even clever), and
the result was very hard for anyone else to understand. Ultimately
hard for me to understand.
Ontop of this was a structure that had too much coupling. Testing was
difficult. I only came to like unit testing after FFK had gone
through several revisions. FFK was not made with testability in mind.
It can be hard to add later.
Also, I wanted to use pieces of FFK without the entire framework.
Validation without the form generation was the biggest one. Alternate
kinds of forms also interested me -- making it easier to do highly
granual templating, or non-HTML/HTTP forms. Alternate data sources,
like SQL or XMLRPC, also seemed important. All of these were not easy
within the interfaces that FFK used.
So... FormEncode! FormEncode takes a lot of ideas from FFK, and a lot
of the code is just modified FFK code. All of it is reviewed and
actively inserted into FormEncode, I'm not transferring anything
wholesale.
.. _FunFormKit: http://funformkit.sf.net
.. _Webware: http://webware.sf.net