2000-12-26 Darren Duncan <perl@DarrenDuncan.net>
* Release 0.9201.
* Removed the ".txt" extensions from my ReadMe files, since they aren't
pulled out by the CPAN documentation system otherwise.
2000-12-26 Darren Duncan <perl@DarrenDuncan.net>
* Release 0.92.
* The main purpose of this release is to ensure compatability with
the mod_perl environment in addition to the CGI environment. This means
that I have tested all of the modules in a production mod_perl environment
(my web sites) and found that they function properly within the demands that
I place on them. Previously my only test environment was CGI.
* The modules CGI::WebUserInput and CGI::WebUserOutput were renamed to
CGI::WebUserIO and HTML::PageMaker respectively, and any functionality in
the second which was not specifically related to making HTML was transferred
to the first. This includes the redirect_url() and send_to_user() methods.
* Updated module HTML::PageMaker to version 1.0 from 0.91. This module
is feature-complete and has complete POD. The method to_string() was
renamed to content_as_string(). This class no longer uses HTTP::Headers,
and its use of HTML::TagMaker is restricted to the aforementioned method().
* Updated module CGI::WebUserIO to version 0.92 from 0.91. This module
now requires Apache when running under mod_perl. It also requires
HTTP::Headers to do any sort of header output, which is normally done.
This module can now be used both to get the user's input data, as well as
to output complete HTTP headers and content to the user. This works
transparently under CGI and mod_perl.
* Updated modules CGI::SequentialFile and CGI::EventCountFile so that they
use the "gensym" function in the Symbol package to generate their
filehandles; previously they used "\*FH", which may be problematic. Each
of their version numbers were incremented by 0.01.
* The list of modules now reads like this:
HTML::TagMaker 1.01
HTML::FormMaker 1.01
HTML::PageMaker 1.0
CGI::HashOfArrays 1.02
CGI::WebUserIO 0.92
CGI::SequentialFile 1.02
CGI::EventCountFile 1.03
* The "Manifest" was reformatted to be more machine friendly.
2000-11-14 Darren Duncan <perl@DarrenDuncan.net>
* Release 0.91.
* The module CGI::EventCountFile has been combined into this distribution
rather than being its own distribution, "EventCountFile". During the move it
received updates and went from 1.01 to 1.02; details are below.
* All 7 modules in this release are now functionally synchronized in respect
to the methods new(), initialize(), and clone(). Modules that lacked any of
these had them added, and the others received rewrites. An exception is that
the clone() method in CGI::HashOfArrays can take extra arguments relative to
the others' clone() methods. Related to these updates, all of the modules
should be easier to subclass than they were before, particular if they are
one of multiple parents.
* All modules in this release have had their version numbers incremented by
0.01, and they now read like this:
HTML::TagMaker 1.01
HTML::FormMaker 1.01
CGI::HashOfArrays 1.02
CGI::WebUserInput 0.91
CGI::WebUserOutput 0.91
CGI::SequentialFile 1.01
CGI::EventCountFile 1.02
* Updated HTML::FormMaker to remove a few cases of intimate knowledge it
had of HTML::TagMaker, which is inappropriate to good class design.
* Added two new methods to CGI::HashOfArrays which allow it to read from or
write to open filehandles. The new method to_file() will url-encode the
HoA object and write it to the file, whereas from_file() will read an
url-encoded object from a file and add its keys and values to the HoA.
Likewise, new() and initialize() have been updated to accept filehandles.
* Updated the implementation of CGI::SequentialFile so that it requires the
new functionality of CGI::HashOfArrays; the module's public interface and
behaviour has not changed as a result, however.
* Updated CGI::WebUserOutput so that when redirect_url() has a value, the
HTTP headers that this module generates have a "status" value of "301 Moved"
instead of "302 Found" as before. Hopefully, this change should incite more
appropriate behaviour in search engines that index your sites.
* Updated CGI::WebUserInput to change the way it deals with instances where
you want to make several CGI::WebUserInput objects rather than the usual of
one. Due to the fact that this class reads POST data from standard input
when making a brand new object, and that this action can only be done once
in the life of the program, and that this class does not employ global
variables, you need to use an existing object when instantiating another so
that this data can be available to both. In this new version of the class,
you need to use the first object's clone() method to produce the second,
and then optionally call initialize() on the second. In the old version
there was no clone method and you said "$two = $one->new()" to accomplish
the same thing. This will no longer work in the newer new(), and in fact
you risk hanging your program to call new() more than once since it would
likely block on a read from standard in that isn't there. This change to
new() was made because subclasses of CGI::WebUserInput previously would
need intimate knowledge of the class in order to not break the function.
2000-09-04 Darren Duncan <perl@DarrenDuncan.net>
* Release 0.9.
* This release contains the following modules, which were previously among
the low-level components of my "libdwg" distribution, but I have set these
off on their own for those of you who only want to use them and not the
higher-level components. There are also mid-level components here:
HTML::TagMaker 1.0
HTML::FormMaker 1.0
CGI::HashOfArrays 1.01
CGI::SequentialFile 1.0
CGI::WebUserInput 0.9
CGI::WebUserOutput 0.9
* These modules contain complete POD within them, except for
CGI::WebUserInput. It does have Name, Requirements, Syntax, and lists of
methods and "preferences". It is lacking Synopsis, Description, and
descriptions for the methods and prefs.
* These modules requires Perl version 5.004.
* The following distributions are needed by this one. Some in all
circumstances and some optionally depending on how your web site is
configured. Only directly-referenced modules are considered. Other
distributions that these call in turn are not listed:
- Class-ParamParser-1.0.tar.gz
- libwww-perl-5.48.tar.gz
* Additionally, on 2000-08-27, the distribution "EventCountFile" was also
spun off of "libdwg" and contained only the module CGI::EventCountFile 1.01.
That distribution ceased to exist on 2000-11-14 when CGI::EventCountFile was
moved into the "CGI-FormGenerator 0.91" distribution.
2000-08-23 Darren Duncan <perl@DarrenDuncan.net>
* libdwg 1.11, the last version of the distribution to include the above
7 modules, was released.
2000-07-23 Darren Duncan <perl@DarrenDuncan.net>
* libdwg 1.0, the first version of any distribution to include the above
7 modules, was released on CPAN.
2000-05-15 Darren Duncan <perl@DarrenDuncan.net>
* Completed primary development on these modules' code, but the POD is mostly
non-existant.
2000-01-28 Darren Duncan <perl@DarrenDuncan.net>
* Began development on the final versions of these modules.
* All modules based on a template created by h2xs 1.18.
1999-07 thru 1999-12
* Created and developed most of the code that ended up in these modules.
Most of these modules were meant to replace and extend the functionality
that I previously found in CGI.pm when the latter became inadequate to my
needs, and they are also largely backwards-compatible with it. The
exceptions are CGI::SequentialFile, which was started previously, and
CGI::EventCountFile, which was updated from a previous production version.
1999-02 thru 1999-05
* Created first prototypes of some code that ended up in these modules and
used them to generate my web sites for a year. The code in question is
mostly relevant to CGI::SequentialFile and CGI::EventCountFile, and CGI.pm
handled most of what other functionality CGI-FormGenerator now replaces.