Revision history for Class-DBI-FormBuilder

0.46    Fri  23 Sept, 2005 22:55
        - added _update_many_to_many() (Ron McClain). 
        - don't set up validation on has_many fields. This needs to be addressed, 
            but the current code was choking on has_many fields

0.451   Tues 23 August, 2005 12:00
        - form_process_extras now only operates on fields listed in the new process_extras 
            argument. This will become a hashref soon, the same as process_fields, containing 
            field processors. 
            
        - As a consequence, the __SKIP_PROCESS_EXTRAS__ flag has gone away. 
            
        - some field processors set in form_builder_defaults can set values into the form, which 
            is bad for a search_form, so search_form now clears them out - currently in a slightly 
            expensive way, revisit this when CGI::FB 3.03 is released

0.45    Fri 19 August, 2005 15:50
        - re-factored metadata methods into 2 new classes: CDBI::FB::Meta::Table and
            CDBI::FB::Meta::Column 
        - deprecated column_meta(), column_type() and db_order_columns(), they'll be deleted soon
        
        - bug fix - order_by field in search_form() includes the cmp field and the order_by field 
            itself as possible sort criteria - patch from Dave Howorth
            
        - added 'columns' alias to 'validate' entry in auto-validation spec
        
        - added __SKIP_PROCESS_EXTRAS__ flag, checked in form_process_extras() 

0.44    Sat 13 Aug 2005, 00:35
        - added NoTextAreas post-processor
        - accepts the name of a built-in post-processor in the 'post_process' argument, 
            as well as a coderef
        - the +VALUE processor sets the value to the default for the column from the database, 
            if there is no value in the column and the column is NOT NULL
            
        - added db_order_columns() as a public method
            

0.432   Tues 9 Aug  2005, 9:55
        - minor pod fixes

0.431   Tues 9 Aug  2005, 9:55
        - removed some out of date pod

0.43    Tues 9 Aug  2005, 1:20
        - added as_multiform() method
        - added create_from_multiform() method
        
        - added post_processor architecture (e.g. for pretty-printing)
        - added PrettyPrint post-processor
        - added form_final(), which applies field processors in the '__FINAL__' slot 
            of process_fields

0.421   Wed  3 Aug  2005, 23:55
        - skip annoying tests in 51.related.t

0.42    Wed  3 Aug  2005, 23:50
        - changed to using column objects throughout, and stringifying them via $column->mutator 
            or $column->accessor whenever a field name is required (pointed out by Dave Howorth)
            - PROBABLY STILL BROKEN THOUGH - works fine unless you are customising your CDBI accessors,
                which was the point, but should be fixed in the next release
        - added column_meta() and column_type() methods as public methods
        - plugins now receive a column object instead of a field name
        - processors now receive a column object as an extra argument (used by +VALUE)
        - changed to retain values as objects wherever they are supplied as objects, and stringifying 
            just before sending to CGI::FB
        - added pretty-printing feature

0.41    Tues  2 Aug  2005, 23:40
        - added _load_meta() method to access lots of column metadata via DBI:
            - removed requirement to load Class::DBI::Plugin::Type
            - fixed _db_order_columns() 
            - support MySQL SET columns in _get_col_options_for_enumlike() without needing the 
                patch to CDBI::mysql
        - removed the code that sets the 'required' field list to the list in a 'Required' column
            group - this has been deprecated for a while
            
            
        - added TIMESTAMP processor. form_timestamp now uses this instead of DISABLED, so it can be easily 
            replaced
        - added +SET_$foo($bar) processor
        - deprecated +SET_VALUE($value) processor - use +SET_value($value)
        - altered the precedence rules for processors - a custom non '+' processor will have the effect 
            of dropping all auto-generated processors, so that only the custom processors run. '+' 
            processors are run in addition to automatically set processors.
        
        - re-organised POD

0.4   Fri 22 July 2005, 23:00
        - added +READONLY processor - note this also sets the class of the input field to 'ReadOnly'
        - added +DISABLED processor - note this also sets the class of the input field to 'Disabled'
        - added +SET_VALUE($value) processor
        - added +ADD_FIELD processor
        - added +NULL processor
        
        - added 'timestamp' to @BASIC_FORM_MODIFIERS, and form_timestamp method 
            which defaults to the DISABLED preprocessor
        - added 'process_extras' to @BASIC_FORM_MODIFIERS, with form_process_extras method
        
        - fixed _get_type to detect column type for related fields
        - much more sophisticated chaining of preprocessors
        - the default is for fields not to be required (CGI::FB defaults to required, if a field has 
            a validation spec, but in CDBI::FB, *all* fields have a validation spec)

0.3511 Thur 21 Jul, 2005 09:00
        - added 'int' entry to ValidMap (reported by Dave Kamholz)

0.351  Wed  20 Jul, 2005 01:00
        - cleaned up code in _db_order_columns - still not understanding 
            the empty 'All' group issue though
        - factored out calculation of field names for form_has_many() and form_might_have() into 
            _multiplicity_fields()

0.3502 Mon  18 Jul, 2005 23:15
        - added test for _db_order_columns fatal error when looking up 
            implicitly defined 'All' column group. Still returns an empty list, 
            so haven't got this one figured out yet, but at least the $@ is not 
            being propagated further than expected.

0.3501 Sun  17 Jul, 2005 22:30
        - POD: re-arranged and fixed a few bits and pieces

0.35   Sun  17 Jul, 2005 15:30
        - implemented field pre-processing architecture

0.3453 Sun  17 Jul, 2005 13:30
        - improved subclassability by storing the CDBI::FB (sub)class on the 
            caller, and then using that instead of __PACKAGE__

0.3452 Sat  16 Jul, 2005 22:30
        - half fixed _db_order_columns bug. The internal lookup could die 
            for the 'All' group if this group was not set up explicitly. 
            Looks like Maypole (via CDBI::Loader?) normally does set this up 
            explicitly, but hand-rolled setups normally will not. The fix will 
            return the columns for the 'All' group (via CDBI->columns( 'All' ) 
            in non-db order if the group is not defined explicitly.
            Reported by dkamholz.
        - highlighted Class::DBI::Plugin::Type issue in GOTCHAS (reported by dkamholz)
        - add 'our $pager' declaration to pager template (reported by dkamholz)
        
        

0.3451 Thur 14 Jul, 2005 13:40
        - removed restriction on setting keepextras to 1

0.345  Thur 14 Jul, 2005 10:00
        - only add pk fields to forms built for objects, not for 
            classes or searches. Empty pk hidden fields were being submitted 
            as empty strings rather than undef in some situations.
        - renamed form_hidden() to form_pks()    

0.3441 Wed  13 Jul, 2005 23:10
        - an extra test

0.344  Wed  13 Jul, 2005 23:00
        - don't send undefs to create() for columns not represented in form data

0.343  Wed  13 Jul, 2005 13:24
        - previous fix was broken if caller tries to set keepextras to 1. Now 
            we just croak, the proper fix is to remove pks from validation, or 
            figure out what fields are required and set that explicitly.

0.342  Wed  13 Jul, 2005 10:45
        - fixed bug where keepextras set by caller were overridden in _get_args
            (reported by David Kamholz)
        - added big warning about as_form_with_related to pod.

0.341  Mon  11 Jul, 2005 09:45
        - fixed rt link
        - tests now correctly bail if DBD::SQLite2 is not available

0.34   Fri   1 Jul, 2005 16:30
        - update_from_form_with_related() is beginning to work

0.33   Thur 30 Jun, 2005 11:00
        - some pod formatting fixes
        - spot of refactoring inside _splice_form
        - basic untested brobably broken update_from_form_with_related() added
        - multiple pk hidden fields bug still not fixed

0.32   Wed  29 Jun, 2005 15:00
        - lots of refactoring in form_* methods
        - fixed disappearance of has_many fields
        - as_form_with_related seems to be rendering forms correctly now
            - except for multiple pk hidden fields bug
            (haven't tried processing submitted forms yet)
        - added plugin architecture (by James Tolley)
        - added dependency on UNIVERSAL::require

0.31   Tues 28 Jun, 2005 15:00
        - as_form_with_related getting better

0.3_1  Tues 28 Jun, 2005 10:00
        - first code for as_form_with_related     
        - new dependency on List::Util

0.3    Fri 24 Jun, 2005 14:20
        - added automatic configuration of validation settings
        - new dependency on Class::DBI::Plugin::Type

0.2    Tues 14 Jun, 2005 23:10
        - added search_opt_cmp and search_opt_order_by options to search_form and 
            search_where_from_form
        - has_a fields are now automatically added to the required list

0.121  Sun  12 Jun, 2005 13:20
        - included 34.might_have.t in MANIFEST

0.12   Sat  11 Jun, 2005 23:50
        - added might_have support

0.11   Fri  10 Jun, 2005 12:00
        - POD fixes

0.1    Thur  9 Jun, 2005 22:45
        First version, released on an unsuspecting world.

