HTML-FormTemplate

 view release on metacpan or  search on metacpan

ChangeLog  view on Meta::CPAN

	clicked, plus what the generated email looks like.

	* A BUGS section has been added to the documentation near the top that 
	mentions remaining compatability issues with the XHTML or HTML standards.  
	However, this module's output should continue to work with web browsers.

2001-06-04   Darren Duncan <perl@DarrenDuncan.net>

	* Release 2.01.

	* Fixed bug related to organizing field groups into tables.  Previously the 
	field definition attributes [table_rows/rows, table_cols/cols, table_acrf] 
	were not fetched properly, causing strange effects like having a single 
	table column when two were requested.  The table feature now works properly.

	* Removed a small design flaw where the "type" attribute of field definitions 
	had needed to be a certain typecase in order to be recognized, due to some 
	chicken-and-egg scenario where normal definition parsing could only be done 
	once we knew what field type to parse it as, but to know the type you had to 
	parse.  The new version removes that restriction so now you can mix the 
	typecase of "type" as much as any other attribute as is your wish.

	* Small update to the make_table_from_list() method where the HTML code for 
	each table cell now appears on its own line for greater readability.

	* The module POD was updated, mostly in Name, Synopsis, Properties.

2001-04-03   Darren Duncan <perl@DarrenDuncan.net>

	* Release 2.0.

	* This release marks the largest update of this module since it was first 
	released on CPAN; at least half of the code and documentation was re-written.
	Many things were added and a few things were removed; those that were not 
	removed should be backwards-compatible with release 1.05.  

	* HTML::FormTemplate is no longer subclassed from HTML::EasyTags, which 
	means you can no longer call the latter's methods from an object of the 
	former.  Prime examples of these are the autoloaded methods named after HTML 
	tags.  Also no longer available are: groups_by_default(), prologue_tag(), 
	comment_tag(), make_html_tag(), make_html_tag_group(), start_html(), 
	end_html().  If you want to use any of those then you need to instantiate 
	an HTML::EasyTags object yourself to call them from.  HTML::FormTemplate 
	does still *use* the other class internally of course.  This change was made 
	largely to address a glaring usability issue that is inherent with 
	autoloading.  That is, a user could mis-spell a method name and they would 
	not get an appropriate run-time error because an autoloaded HTML-making 
	method got called instead.

	* Autoloading was completely removed and now there is an explicit method for 
	each one of the form field types; the method has the same name as the type.
	However, these are shims, and the real work is still done elsewhere.

	* The lower-level methods that do the actual making of form field HTML saw 
	the most changes and were completely rewritten.  As part of the rewrite, 
	functionality that was crammed into 3 methods is now handled by 9 which are 
	more specialized.

	* All ten single field types now have group counterparts.  Although the 
	usefulness of some of these may vary, you at least now have the choice.
	Added are: reset_group, submit_group, popup_menu_group, scrolling_list_group.
	The latter two cases differ from their single-field equivalents by 
	distributing any default values so that each group member gets one rather 
	than one field getting all.  The most useful is probably popup_menu_group.

	* All field definition attributes are now the same between corresponding 
	single and group fields, except for group-only ones, so you can use the 
	singular or plural names for definition attributes interchangeably.

	* The POD documentation was greatly improved.  It is now more informative, 
	better organized, and it's easier to understand what's going on.  The 
	methods are now arranged in a different order, with logically related ones 
	appearing together.  Each field-type method now has a full description, 
	including what positional and named parameters work with it (each is 
	backwards-compatible with CGI.pm's methods of the same names).  Each 
	definition parameter has its own description and they are all grouped by 
	related usage.  Release 1.05 had incomplete information in the above 
	regards and it was organized haphazardly.

	* These methods are no longer available: make_input_tag(), 
	make_input_tag_group(), make_attribute_definition().  The first two 
	were among those completely rewritten and the new versions are private.  
	The third one was too proprietary and should be handled by calling code 
	instead.

	* Several values that were hardwired constants in the previous release are 
	now variable and can be changed with appropriate new or updated methods: 
	new_form_determinant(), default_field_type(), default_field_name(), 
	bad_input_marker(), required_field_marker(), private_field_marker().  The 
	hardwired constants of old are now default values for object properties.

	* Another new methods include field_html_from_defin(), which acts sort of 
	like the field_html() method in that it returns rendered HTML for single
	fields, except with the new one you provide a definition as an argument 
	instead of giving the name of a stored definition.

	* Also new is the utility method make_table_from_list() which will take a 
	list of elements and arrange them into an HTML table of the dimensions you 
	specify (either N columns or N rows), either down first or across first.

	* These form field attributes are new: tag_attr, min_grp_count, table_cols, 
	table_rows, table_acrf, req_min_count, req_max_count, req_opt_match, 
	str_above_input, str_below_input.  The first five are used when making field 
	HTML (all but the first one being for groups only), the next three are used 
	with input validation, and the last two are used when making whole forms.

	* New field attributes allow field groups to be arranged into tables instead 
	of merely being linebreak-delimited.

	* New field attributes allow you to validate user input based on the number 
	of group elements that were filled in (eg: must choose three options).  Also 
	there is validation that user input from selection fields matches the 
	available options, so you know if they manually changed values.

	* New field attributes place literal HTML above and below rendered fields 
	so you can do things like applying <DIV> formats.

	* The handling of form field definition parameters is now greatly improved 
	so now they are much more flexible to your needs regardless of whether you 
	feed them to the class using field-type methods or field_definitions().
	In general you can name your parameters anything that Class::ParamParser 
	can interpret.  But the TYPE parameter is an exception; see its POD.

	* Data::MultiValuedHash objects are always used internally to store 



( run in 0.915 second using v1.01-cache-2.11-cpan-364913b4093 )