HTML/Ballot/Trusting version 0.2
=================================
A simple module for inseucre web ballots.
This is a very beta version that will mature over the next week or so.
Please let me know how it breaks.
Features:
* no test is made of who is voting, so users may vote any number of
times, or may even vote (and surely will) thousands of times using a
"LWP" hack.
* a HTML page of voting options and one of the results of votes so far
is generated from a single HTML template, and it is in these pages
that ballot status is maintained, so no additional file access is
required.
* HTML output into the template is minimal, but all unique entities
are given a "class" attribute for easy CSS re-definitions.
* simple bar charts of results are generated using HTML.
* users may submit a comment with thier vote, though no connection
between the value of the vote and the user is recorded
* users' IP addresses may be recorded, and displayed, and a chart of
the IP addresses from which communication has been received the most
may be displayed.
In future these features may be added:
* A more secure version is being considered, which uses simple e-mail
authentication of users, sending ony one voting password to any
e-mail address: this may appear as "HTML::Ballot::MoreCynical".
* This may be extended to include a ballot `time out'.
* Options to have graphs based on single-pixels, or using the "GD"
interface will arrive some time in the future.
USE
1. Construct an HTML template that can be used to generate the question
and answer pages. Where you wish the questions and answers to
appear, insert the following element:
The template should at least define the CSS representation for
"votehighscorebar" and "votebar" as having a coloured background, or
you will not be able to view the results' bar graph. See the CSS
SPECIFICATION entry elsewhere in this document for more details on
other CSS classes employed.
Other functions may be included as below. Note that "TEMPLATEITEM"s
may require some minimal content of at least a space character, I'm
not sure, I'd better check.
* If you wish to allow a user to submit a comment with their vote,
include the following element:
This is what voter's have said:
Unlike the "QUESTIONS TEMPLATEITEM", any text you include in
this block will be reatained at the top of a list of users'
comments.
* If you wish to have the result page display a list of the names
entered by voters, also include:
Here is the voterlist...
This acts in the manner of the "COMMENT TEMPLATEITEM", above.
* If you wish to have the result page display a list of the most
frequently-posting IP addresses, include:
Top IP Addresses To Post To This Ballot
To this, the module will add a "SPAN" of HTML that lists the top
posters. Anything before that span (in this example, the "H2"
element) will remain.
2. Initiate the ballot by constructnig an HTML::Ballot::Trusting object
and calling "create" method upon it in a manner simillar to that
described in the SYNOPSIS entry elsewhere in this document.
In response, you should receive a list of the locations of files
used and dynamically created by the process.
INSTALLATION
To install this module, do the usual:
perl Makefile.PL
make - nmake on Win32
make test - etc
make install
Then please read the POD.
DEPENDENCIES
As well as the pragmas 'strict' and 'warnings', this module
requires
CGI.pm,
HTML::EasyTemplate version 0.985 or higher,
HTML::Entities.
AUTHOR
Lee Goddard - lgoddard@cpan.org
COPYRIGHT AND LICENCE
This module and all associated code is Copyright (C) Lee Goddard 2001.
All rights reserved.
This is free software and may be used under the same terms as Perl itself.