HTML FORM TEMPLATE ---------------------------------------------------------------------- by Darren Duncan CONTENTS * Preface * Manifest * Keeping Up To Date * Requirements * Installation * Support * To Do * Author PREFACE This distribution features the Perl 5 module named "HTML::FormTemplate". All of my modules have complete POD inside of them, so please refer to that for a description of the module itself. This Read Me document concerns itself mainly with installation and support issues, and also includes any "To Do" lists and the file manifest. MANIFEST ChangeLog FormTemplate.pm ReadMe KEEPING UP TO DATE My module set is constantly under development. You should be able to find the newest versions at my website, "http://www.DarrenDuncan.net", on the page called "Perl Libraries I Made" (name subject to change). They can also be found on CPAN under the author name of "DUNCAND". I am inclined to update the copies on my web site more often, but those intermediate versions are more likely to have been tested less, and the modules may be updated day by day without increasing the version numbers. However, the copies on CPAN are guaranteed to have unique version numbers when the module has changed. REQUIREMENTS All of my modules require Perl 5.004 or newer, even though only some of them need it, in the interest of consistency. Modules in this distribution require modules in these following distributions: HTML-EasyTags-1.02.tar.gz - by Darren Duncan (DUNCAND) - HTML::EasyTags 1.02 is required by: - HTML::FormTemplate (as a parent class; makes html, parses ffs params) MultiValuedHash-1.03.tar.gz - by Darren Duncan (DUNCAND) - CGI::MultiValuedHash 1.03 is required by: - HTML::FormTemplate (stores form field defin, stores/parses user input) INSTALLATION I haven't gotten around to doing makefiles, so you will have to install this the old fashioned way, by copying. The file "FormTemplate.pm" goes inside the "HTML" folder which is in the "lib" folder that came with your Perl 5 distribution. Or alternately, put it anywhere you want, but you will need to have that location added to your include path by your main program using something like this: use lib '/users/me/www_files/lib'; Any existing POD is embedded in the module itself, so you will have to look there to see it, or run a POD extractor on it yourself, or look at the copy on CPAN that is dutifully extracted and turned to HTML. SUPPORT Currently I don't have any support arranged with other people, lists, newsgroups, or otherwise. Feel free to ask me if you can't figure things out on your own, or another person whom you know has used this. TO DO * Add a Make File to the distribution. * Add testing scripts. * Add field attribute readonly, allowing once-editable field data to share screen space with still-editable field data. * Add field attribute to multiple-answer fields that make the validation check if users chose the correct number of answers (eg: pick 3 checkboxes). * Add validation checking for selection fields to see that choices submitted match selection of choices given. * Allow individual editing of internally stored field definitions, rather than requiring that they are all defined at once. * Customize validation error messages so they give a better idea what about the entry was inappropriate (eg: wrong number of selections). * Fix bug where providing a Hash ref as a "labels" parameter for radio/field groups doesn't work (acts like explicit labels not provided and uses values as labels). In the meantime, using an Array ref for that parameter works fine, so I suggest using it instead. * Make a utility program that utilizes this module's abilities to let users create form definitions for it with a web browser. AUTHOR Copyright (c) 1999-2001, Darren R. Duncan. All rights reserved. These modules are free software; you can redistribute them and/or modify them under the same terms as Perl itself. However, I do request that their copyright information remains attached to the files. If you modify this module and redistribute a changed version then please attach a note listing the modifications. I am always interested in knowing how my work helps others, so if you put this module to use in any of your own code then please send me the URL. Also, if you make modifications to the module because it doesn't work the way you need, please send me a copy so that I can roll desirable changes into the main release. Address comments, suggestions, and bug reports to perl@DarrenDuncan.net. Share and Enjoy!