{ "info": { "author": "Martijn Faassen and community", "author_email": "info@infrae.com", "bugtrack_url": null, "classifiers": [ "Framework :: Zope2", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Formulator\n==========\n\nFormulator is a tool to help with the creation and validation of web\nforms. Form fields are stored as objects in Zope 2, in a special Form\nfolder.\n\n.. contents::\n\n\nFeatures\n--------\n\n* manage form fields through the Zope management interface.\n\n* manage field look & feel as well as validation and processing\n behavior.\n\n* automatic field validation.\n\n* determine field order and group fields together.\n\n* easy extensibility with new field types.\n\n* online help.\n\n* serialization of form to XML and back.\n\n\nDependencies\n------------\n\nYou need to install either zeam.form. The best to install this product\nis to use buildout and let it resolves the dependencies.\n\nInformation\n-----------\n\nFormulator comes with online help, so click on *Help!* in the Zope\nmanagement screens. If you want your brain to explode, read the\n*How Formulator Eats its Own Dogfood* help topic.\n\nInformation is also available at the Formulator web site::\n\n http://www.infrae.com/products/formulator\n\nThere are also instructions to join the Formulator mailing list there.\nDiscussion about Formulator should preferably happen on the mailing list\nfirst, though you can always mail me as well. But please consider the\nlist if you have questions or suggestions.\n\nEven more info can be found by reading the source. :)\n\nCredits\n=======\n\nDevelopers:\n\n- Martijn Faassen (faassen@vet.uu.nl) -- Main developer, design and\n implementation.\n\n- Clemens Klein-Robbenhaar (robbenhaar at espresto.com) -- Many\n bugfixes and feature additions.\n\nMany thanks go to:\n\n- Kit Blake (kitblake at v2.nl) -- UI help and design help.\n\n- Yury Don (yura at vpcit.ru) -- contributed EmailField and\n FloatField, design and implementation help.\n\n- Stephan Richter (srichter at iuveno-net.de) -- contributed LinkField\n and FileField. Contributed PatternChecker module used by\n PatternField. Other design and implementation help.\n\n- Nicola Larosa (nico at tekNico.net) -- feedback and bugfixes.\n\n- Magnus Heino (magus.heino at rivermen.se) -- feedback and bugfixes.\n\n- Joel Burton (jburton at scw.org) -- feedback and bugfixes.\n\n- Ulrich Eck (ueck at net-labs.de) -- much help and patience with the\n TALES tab.\n\n- Dirk Datzert (Dirk.Datzert at rasselstein-hoesch.de) -- feedback and\n bugfixes.\n\n- Max Petrich (petrich.max at kis-solution.de) -- feedback and\n bugfixes.\n\n- Matt Behrens (matt.behrens at kohler.com) -- feedback and bugfixes.\n\n- Nikolay Kim (fafhrd at datacom.kz) -- code inspiration for\n XMLToForm/FormToXML.\n\n- Godefroid Chapelle (gotcha at swing.be) -- Bugfixes.\n\n- Alan Runyan (runyaga at runyaga.com) -- Fix to email regular expression.\n\n- Sascha Welter (welter at network-ag.com) -- Extensive help with email\n regular expression.\n\n- Christian Zagrodnick (cz at gocept.com) -- Unicode awareness fixes\n and XML entry form.\n\n- Iutin Vyacheslav (iutin at whirix.com) -- am/pm feature for DateTime\n fields.\n\n- Kapil Thangavelu (k_vertigo at objectrealms.net) -- Enabled\n ':record' rendering.\n\n- Pierre-Julien Grizel (grizel at ingeniweb.com) -- ProductForm.\n\n- Sebastien Robin (seb at nexedi.com) -- more consistent ordering in\n XML serialization, bugfixes\n\n- Guido Wesdorp (guido at infrae.com) -- Added extra_item attribute on\n compound fields, bugfixes. Fixed unicode error in XMLToForm.\n\n- Yura Petrov (ypetrov at naumen.ru) -- Various FSForm related\n improvements.\n\n- Vladimir Voznesensky (vovic at smtp.ru) -- Enabling/disabling of fields,\n bugfix in ``render_view``.\n\n- Jeff Kowalczyk -- Whitespace normalization of sources.\n\n- Paul Winkler, Dieter Maurer -- help with fix so that help system\n doesn't cause ZODB writes on every startup.\n\n- Garito (garito at sistes.net) -- bugfix with the XML serialization\n of DateTime values.\n\n- Maciej Pietrzak (magh at apcoh.org) -- Fixes for DateTime validation\n issues in Zope 2.7.\n\n- Patrick Earl (pat at dril.com) -- Fixes for DateTime / CheckBox\n field rendering.\n\n- He Wei (hewei at ied.org.cn) -- ZMI and Unicode related fixes.\n\n- Bertrand Croq (bertrand.croq at freeskop.com) -- Fixes for a Unicode\n issue related to titles of new fields and label for radiobuttons\n patch\n\n- Ian Duggan (ian at swishmark.com) -- \"Hide day\" in DateTimeField\n feature\n\n- Reinout van Rees (reinout at vanrees.org) -- LabelField validation\n bugfix.\n\n- Mikael Barbero (mikael at emu-france.com) -- ZMI enhancement.\n\nSpecial thanks also goes to Rik Hoekstra.\n\nAlso a thank you to those few valiant souls who suffered through the\nbugs of ZFormulator, the previous implementation. Let's hope this\none's better!\n\n\n\n\n\nChanges\n=======\n\n1.15.5 (2013/10/08)\n-------------------\n\n- Fix various unicode issues following the modifications of the 1.15\n series.\n\n1.15.4 (2013/08/26)\n-------------------\n\n- ``test_form`` now except a list of bad identifiers for fields as a\n parameter. An error will be returned if one of those identifier is\n used by a field.\n\n- HTML entities are now escaped by default inside field values.\n\n- Formulator Widgets will now return unicode when it is possible.\n\n- ``zeam.form`` extrators have been updated to have the same Acquisition\n wrapping than the ``zeam.form`` widgets.\n\n- Dependencies got properly defined in ``setup.py`` to facilate the\n installation of the product.\n\n1.15.3 (2013/05/23)\n-------------------\n\n- Fix unicode issues with the integration of ``zeam.form``.\n\n- Fix required and readonly attributes with the interface of\n ``zeam.form``.\n\n- Fix ListTextAreaField so it properly works with values from the request.\n\n1.15.2 (2013/03/05)\n-------------------\n\n- Fix compability with the latest version of ``zeam.form``.\n\n1.15.1 (2012/12/12)\n-------------------\n\n- Don't validate values against criterias when deserializing\n when. This makes impossible to deserialize values that are\n well-formed, but invalid on a given instance, loosing all\n information by doing so.\n\n1.15 (2012/09/04)\n-----------------\n\n- Add support to integrate with ``zeam.form``.\n\n- Add support for validators to validate already extracted values from\n the request.\n\n- Some level of validation can be disabled when extracting values from\n the request, if a value with the id ``field.id_novalidate`` is\n present as well in the request. This is usefull to extract form\n values from a request intended for an older version of your form.\n\n1.14 (2011/11/10)\n-----------------\n\n- Compatibility fixes for Zope 2.13 and Python 2.7.\n\n- DateTime widget now support datetime values.\n\n- Add a method ``test_form`` on a Form to know if it is broken (have\n ZODB broken fields, or other problems).\n\n- Add a way to programmatically change all fields options for a form.\n\n- Add support to serialize/deserialize form values on a content\n object (see the adapters code).\n\n- TAL expressions in fields now have access to a context value: the\n acquisition parent of the form.\n\n- Add some fields that where somewhere else in the past,\n EmailLinesField and an InterfaceField.\n\n- Add support for interfaces in XML import/export, for an interface\n field.\n\n- Support for FileSystemSite is optional.\n\n1.13 (2010/07/15)\n-----------------\n\n- Compatibility fixes for Zope 2.12 and Python 2.6. Those are the\n requirements now.\n\nPorted from 1.11 branch:\n\n- Fix problem with MultiListFields not showing values from request\n if in unicode mode, as the incoming values from the request\n did not get converted to unicode in the Field._get_default\n\n- The \"convert_unicode\" helper now expects a separate parameter\n \"encoding\" instead of assuming utf8 encoding always.\n\n\nPorted from 1.12 branch:\n\n- The majority of Widgets now auto-generate an html 'id' attribute for the\n rendered widget. This 'id' attribute is accessible in page templates via\n the field/html_id. If the field has an id attribute set in the 'extra'\n parameter, the value of this attribute is returned, rather than the\n auto-generated id. The html id and name attributes are now visible\n in the ZMI edit screen for the fields. The widgets which do not have\n html_ids are: RadioWidget, MultiCheckBoxWidget, DateTimeWidget. The widgets\n have a property \"has_html_id\" that templates can use to determine whether\n to place a label around the field title.\n\n\n1.11.6 (2009/11/11)\n-------------------\n- Added the option for the DateTime Widget to use a popup calendar to input\n the date and time.\n\n- The DateTime Widget popup defaults to midnight for the time.\n\n- The DateTime Widget now understands both upper and lower case 'am' and 'pm'.\n\n- Fix the factor that a REQUEST is required to use a field object on\n recent Zope (2.11).\n\n- Fixed field events: copy of forms containing fields and folders\n containing forms was broken.\n\n- Added a 'required' validator property to FileFields\n\n- Added a validator for FileFields to check whether the value is a\n StringType, which is an indicator that the form encoding is set\n incorrectly. The error message informs the user the form\n encoding should be set to multipart/form-data.\n\n- Property descriptions are now displayed on the edit tab. These already existed\n but were never exposed in the ZMI.\n\n1.11.5 (2008/30/09)\n-------------------\n\n- Reformat documentation to ReST to release an egg.\n\n1.11.4\n------\n\nBugs fixed:\n\n- Zope i18n *needs* an 'en' directory, or browsers like firefox will\n use the first language in the language preferences list that does\n have a translation, even if english is above it in the list of\n preferences.\n\n- Tainted strings caused instance error, converted tainted strings\n back to strings.\n\n- Small fix to Selection Field Validators, whose 'validate' functions\n failed if items values are stored as unicode\n\n- update imports needed by the file system Formulator form\n representation, if CMF is installed. Now both CMF 1.x (for Plone\n 2.x) and CMF 2.x (for Plone 3.x) should work. Patch provided by\n \"lcanacheu\".\n\n- checkbox fields and multicheckboxfield items are now rendered with\n labels around them.\n\n1.11.3\n------\n\nBugs fixed:\n\n- Field Validators 'validate' functions did not accept unicode\n values as input on fields that require unicode.\n\n- Zope 2.10 compatibility: \"MessageIDFactory\" got renamed to\n \"MessageFactory\"; same for \"MessageID\"; the monkey to allow\n this class got influenced, too, so all ZODB importing that\n class need to be updated, too (Problem reported by Yinghoong\n Chan and Josef Meile)\n\n- Zope 2.10 event handling. Formulator now uses Zope 3 style\n event handling so that no deprecation warnings are seen\n anymore.\n\n- in Zope 2.10 copy & paste of fields did not work anymore, as\n apparently Zope now requires permission info in the data\n structure returned by all_meta_types. We have created a new\n permission \"Add Formulator Fields\" which is checked when you\n create a formulator field, or copy & paste it.\n\n Note that there is still a \"cosmetic\" security issue if a\n non-manager user tries to add a formulator field. \"Add and\n Edit\" works, but \"Add\" gives a login dialog. Actually the\n field *did* get added, but the URL to which the system tries\n to return afterwards does not allow access.\n\n1.11.2\n------\n\nBugs fixed:\n\n- Copied fix from the 1.10 branch, TypeError when passing something other\n than a string into the Validator.\n\n1.11.1\n------\n\nBugs fixed\n\n- Shut up startup warnings about security declarations in Zope\n 2.8.5.\n\n1.11\n----\n\nFeatures Added:\n\n- Formulator now needs Zope 2.8.4 + Five 1.2. It uses Five's i18n\n architecture instead of PlacelessTranslationService. Five 1.2 can\n be downloaded at http://codespeak.net/z3/five\n\n If you do not want to install Five 1.2 for some reason, simply\n remove 'configure.zcml' in the Formulator package. Formulator will\n then work (but not have i18n support) in a plain Zope 2.8\n installation.\n\n- Radiobuttons are now rendered with a label around their field value,\n allowing to click on the value instead of the radio button itself.\n (Patch from Bertrand Croq).\n\nBugs fixed:\n\n- Fixed unicode issues in FormToXML, when the form was in unicode mode\n and message fields contained non-ascii chars, XML serialization\n didn't work.\n\n1.10\n----\n\nFeatures Added:\n\n- Allow to group fields of the ZMI form for each field\n into more groups than the default \"widget\" and \"validator\"\n (Patch from Mikael Barbero)\n\nBugs fixed:\n\n- Fixed AttributeError (on __call__) on DummyMessageID.\n\n1.9.0\n-----\n\nFeatures Added:\n\n- Added the 'modules' namespace for TALES expresions.\n\n- when reordering a field in the \"Order\" tab the current field\n is \"sticky\" for faster moving up and down.\n (Patch from Sebastien Robin)\n\n- Addes serializeValue and deserializeValue methods to the\n validator classes. The former takes a sax handler as an argument\n and sends it sax events to serialize the field value, the latter\n takes serialized values and massages them back into valid formulator\n values. These methods are not used within formulator itself, and\n introduce no new dependencies.\n\n- A new flag to the DateTimeField widget allows to hide the day,\n allowing to specify month and year only. The day defaults to the\n first day of the month in this case.\n (Patch from Ian Duggan)\n\nBugs Fixed:\n\n- Fixed issue for render_view of list fields with no default\n value.\n\n- Fixed issue with non-ascii characters in the title of a newly\n created form or field if the unicode property has been set\n (Patch from Bertrand Croq)\n\n- Calling \"validate\" on LabelField directly failed with a\n KeyError: 'external_validator' (Patch from Reinout van Rees)\n\n- A PatternField may have returned garbled results if the pattern\n has several 'e' or 'f' in the pattern and 'd', 'e' of 'f' in the\n field value\n\n1.8.0\n-----\n\nFeatures Added:\n\n- Remove i18n prefix and message id generation strategy from\n Formulator. It is cleaner to do this with i18n:translate in\n ZPT. Extraction of messages can be done from .form XML files\n (though this functionality is not yet part of Formulator).\n\n- Introduce message id markers and .po file for Formulator generated\n error messages. These can be made translated in your own\n page templates like this::\n\n
\n\n- Test framework now uses (and requires) ZopeTestCase. This allowed\n some testing setup cruft to be removed.\n\nBugs Fixed:\n\n- Added explicit security declaration for the \"fieldAdd\" DTML-file.\n This fixed a problem with copy & paste fields in Zope 2.7.3.\n\n- Fields having been removed via the XML tab in the ZMI still\n showed up in the \"Contents\" tab.\n\n- As a convenience TALES expressions now may return \"None\" for\n the default value, which is rendered as the empty string.\n (previously it has been rendered as \"value\".)\n\n1.7.0\n-----\n\nFeatures Added:\n\n- Added FormulatorFormFile, which can be used to load XML\n representations of forms from filesystem code like PageTemplateFile.\n\n- i18n-id and i18n-domain support for forms, including descriptions,\n error-messages, etc.\n\nBugs Fixed:\n\n- changed way selection fields check whether their items property is a\n list or single item.\n\n- Made system not reregister help for Fields which already have help,\n to avoid ZODB writes on startup.\n\n- Fixed singleton submit button that wasn't properly closed.\n\n- Zope 2.7 compatibility: In Zope 2.7 the behaviour when trying to\n construct invalid DateTime object changed from raising string\n exceptions to class based exceptions. This has caused the\n DateTimeField's to pass through the new exceptions instead of\n converting them to ValidationError.\n\n- PatternFields are no longer documented as \"experimental\" in the Help\n system.\n\n- DateTime values field values (like start or end time) have been\n wrongly represented as strings in the XML representation.\n\n- Fixed bug with rendering of ListField's similar to the \"single\n element list with one two-char string\" bug fixed for validation in\n 1.6.2.\n\n- Fixed bug in DateTime field where a set \"default to now\" overwrote\n values in the request.\n\n- Severel spelling bugs.\n\n- Fixed bug where a set \"default\" for a checkbox field would always\n render a checked checkbox, even if redisplaying a submitted form\n where the user has unchecked the checkbox Actually the works only if\n the opening ``