Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Release 3.50
The 3.49 release didn't compile with VC++ because it mixed code
and declarations. Fixed by Steve Hay <steve.hay@uk.radan.com>.
|
|
|
|
changes:
-bugfixes
-UI improvements
-translation updates
|
|
From NEWS:
1.4.10 - 2005-02-08
* added docs for mod_dirlisting
* added fastcgi.map-extensions to mod_fastcgi
* fixed load balancing for mod_fastcgi
* fixed extra newline for syslog() in mod_accesslog
* fixed user-track cookie for IE in mod_usertrack
* fixed crash in digest handling in mod_auth
* fixed handling of 301 response-bodies from a mod_proxy backend
* fixed loading of base modules if server.modules is not set
* fixed broken cgi if mod_scgi is loaded
1.4.9 - 2006-01-14
* added server.core-files option (sandy <sandy@meebo.com>)
* added docs for mod_status
* added mod_evasive to limit the number of connections by IP (<w1zzard@techpowerup.com>)
* added the power-magnet to mod_cml
* added internal statistics to mod_fastcgi
* added server.statistics-url to get internal statistics from mod_status
* added support for conditional range-requests through If-Range
* added static building via scons
* fixed 100% cpu loops in mod_cgi ("sandy" <sjen@cs.stanford.edu>)
* fixed handling for secure-download.timeout (jamis@37signals.com)
* fixed IE bug in content-charset in the output of mod_dirlisting (sniper@php.net)
* fixed typos and language in the docs (ryan-2005@ryandesign.com)
* fixed assertion in mod_cgi on HEAD request is Content-Length (<sandy@meebo.com>)
* fixed handling if equal but duplicate If-Modified-Since request headers
* fixed endless loops in mod_fastcgi if backend is dead
* fixed Depth: 1 handling in PROPFIND requests on empty dirs
* fixed encoding of UTF8 encoded dirlistings (Jani Taskinen <sniper@iki.fi>)
* fixed initial bind to a unix-domain socket through server.bind
* fixed handling of lowercase filesystems
* fixed duplicate request headers cause by mod_setenv
|
|
|
|
HTML::Prototype::Useful adds some more useful features for AJAX development
based on the Prototype library, as HTML::Prototype is a straight port
of the ruby implementation.
|
|
Some code generators for Prototype, the famous JavaScript OO library and
the script.aculous extensions.
This library allows you to do Ajax without writing lots of javascript
code.
This is mostly a port of the Ruby on Rails helper tags for JavaScript
for use in Catalyst.
|
|
Add example configuration file to PLIST.
Sort PLIST.
The source installation installs empty directories, add them as required
via REQD_DIRS so the binary package also "have" them.
Bump PKGREVISION to 4.
Approved by maintainer.
|
|
4.04 Wed Oct 11, 2005
- No code changes since 4.04_02. Declaring stable.
4.04_02 Thu Sep 8, 2005
- Add support for templates stored in file handles and scalarrefs to load_tmpl().
(Jason Purdy)
4.04_01 Wed Aug 31, 2005
- move load_tmpl hook to after we build $tmpl_file so it will always have a
(probably) valid file to work with.
- initial support for a default template name in load_tmpl(). That means
you can now do this:
my $t = $self->load_tmpl();
And it will default to a file named after the current run mode with a
.html extension.
4.03 Thu Aug 04, 2005
- Fixed important bug introduced in 4.02 in which a mode_param
set in a sub-class would have been ignored. A new automated test
was added to prevent this regression in the future.
4.02 Sat Jul 30, 2005
- Documented existence of CGI::Application::Plugin::FillInForm.
- path_info option to mode_param now supports negative index numbers
to grab the run mode name from the other end of the PATH_INFO.
(Thilo Planz)
- Altered how "start_mode" default is set, allowing it to be set
through the hook system in the 'init' phase. Existing applications
should be unaffected.
- Return value of run_modes() was documented.
- Integrate more examples of using plugins into the documentation.
- 'error' hook was added, which is executed just before error_mode() might
be called. An example use of this would be a logging plugin that wants to
log that the application died. Although it's unlikely to change, it is marked
as experimental for now.
4.01 Tue Jun 14, 2005
NOTE: This release has an important incompatibility from the 4.0 release
two days ago. The 'load_tmpl' hook which was just introduced has had it's
interface changed. The change allows plug-in authors to affect the parameters
passed to the 'new' constructor of the template object, instead of just adding
parameters later.
4.0 Fri Jun 10, 2005
This release adds a major new feature of special interest to plugin
authors: 'hooks'. This concept helps to create plugins that are more powerful
and simpler to use for end users. See the documentation on writing plugins for
details.
Special thanks to Cees Hek and Michael Graham for their effort to develop
and refine the hook system.
Since the last major release, there has been an explosion of new plugins
developed. This is an incomplete list of modules below the
'CGI::Application::Plugin' namespace. Expect more to be added and updated soon
with the advent of the hook system:
::AnyTemplate - Use any templating system with a unified interface
::Apache - Use Apache::* modules without interference
::AutoRunmode - Automatically register runmodes
::ConfigAuto - Integration with Config::Auto
::Config::Context - Integration with Config::Context
::Config::General - Integration with Config::General
::Config::Simple - Integration with Config::Simple
::CompressGzip - Add Gzip compression
::DBH - Integration with DBI
::LogDispatch - Integration with Log::Dispatch
::Session - Integration with CGI::Session
::Stream - Help stream files to the browser
::TT - Use Template::Toolkit as an alternative to HTML::Template
::ValidateRM - Integration with Data::FormValidator and HTML::FillInForm
The following additional changes are also present in this release:
- Enhanced tests and documentation for error_mode(). (Rob Kinyon).
- Clarified Plug-in documentation (Timothy Appnel)
- Avoid some warnings when getting run mode from PATH_INFO (Emanuele Zeppieri)
- Use query() object to get PATH_INFO, to workaround bug in IIS web server. (Mark Stosberg)
- Documented return value of header_props()
|
|
Fixes DoS reported in http://secunia.com/advisories/18771/.
More ad pattern updates as well.
|
|
2006-01-08 Gisle Aas
Release 3.49
Events could sometimes still fire after a handler has signaled eof.
Marked_sections with text ending in square bracket parsed wrong.
<http://rt.cpan.org/Ticket/Display.html?id=16749>
|
|
|
|
o 2006-01-22 17:28 (Minor) Wrong timezone declaration for 64 bit Irix
o 2006-01-15 01:23 (Cosmetic) prctl called with too few arguments
o 2005-12-26 16:41 (Minor) Squid crash when asyncio function counters url
accessed from Cachemgr CGI
o 2005-12-24 11:02 (Minor) wbinfo_group.pl doesn't work with Samba 3.0.21
o 2005-12-11 10:52 (Minor) bad credentials fetch (no user)
And replace "ls" in Makefile to ${LS}.
|
|
2005-10-25 (2.8.5rel.4 fixes from 2.8.6dev.14)
* fix error in rel.3 patch (report by Klaus Singvogel)
2005-10-29 (2.8.5rel.5 fixes from 2.8.6dev.15)
* modify LYLoadCGI() to prompt user, displaying the command that would be
executed, to confirm that it should be. This makes it easier to notice when
a local program would be run by activating a lynxcgi link. This is not done
in advanced mode, since the URL is already visible in the status line (report
by vade79, comments by Greg MacManus) -TD
|
|
insterested.
|
|
This is Trac with Japanese localization and own patches.
Trac is an enhanced wiki and issue tracking system for software
development projects.
Trac provides:
* An integrated system for managing software projects
* An enhanced wiki
* A flexible web-based issue tracker
* An interface to the Subversion revision control system
|
|
|
|
patches are for DragonFly support. This makes it easier for me (and The
Mozilla Foundation) to sort them out.
|
|
550 User unknown (in reply to RCPT TO command)
|
|
chanhes: translation updates
|
|
|
|
www/p5-Test-WWW-Mechanize into the NetBSD Packages Collection.
Test::WWW::Mechanize Perl5 module provides a subclass of WWW::Mechanize
that incorporates features for web application testing.
|
|
|
|
|
|
|
|
as www/p5-HTTP-Server-Simple-Mason into the NetBSD Packages Collection.
HTTP::Server::Simple::Mason Perl5 module provides an abstract baseclass
for a standalone mason server.
|
|
of this package.
|
|
|
|
|
|
www/p5-HTTP-Server-Simple into the NetBSD Packages Collection.
HTTP::Server::Simple Perl5 module is a very simple standalone HTTP
daemon with no non-core module dependencies. It's ideal for building
a standalone http-based UI to your existing tools.
|
|
make it more resilient to revbump.
Ok epg@
|
|
changes:
-bugfixes
-Atom 1.0 parsing improvements
-Improved zlib decompression support
|
|
|
|
Seamonkey 1.0) don't have regchrome anymore, but Mozilla 1.7.x still does.
Patch the INSTALL script (used by all those) to run regchrome only if it's
installed.
Ok with wiz.
|
|
NOTABLE CHANGES
* "Fixed" libxml2's change in UTF8Toisolat1() return value
Bernhard Weisshuhn supplied a patch to parser.c for checking the
return value of UTF8Toisolat1(). Seems that libxml2 now returns
the number of characters converted instead of zero for success.
http://bugzilla.gnome.org/show_bug.cgi?id=153937
* Added swish-config and pkg-config
Swish now provides a swish-config script and config file for the
pkg-config utility. These tools help when building programs that
link with the swish-e library.
* Added SwishFuzzy function
SwishFuzzy function (SWISH::API::Fuzzy) lets you stem a word
without first searching. This might be helpful for playing with
queries prior to the search.
* Fixed Buzzwords (and other word lists entered in the config)
Words entered in config were not converted to lower case before
storing in the index.
* Fixed metaname mapping problem in Merge
Peter Karman found an error when merging indexes where the source
indexes had the same metanames, but listed in a different order in
their config files. Words would then be indexed under the wrong
metaID number in the output index.
* Added -R option to support IDF word weighting in ranking. (karman)
Added Inverse Document Frequency calculation to the getrank()
routine. This will allow the relative frequency of a word in
relationship to other words in the query to impact the ranking of
documents.
* Swish.cgi now kills swish-e on time out
The example script swish.cgi uses an alarm (on platforms that
support alarm) to abort processing after some number of seconds,
but it was not killing the child process, swish-e. Bill Schell
submitted a patch to kill the child when the alarm triggers.
* The template search.tt was renamed to swish.tt
The template was renamed because it's used by swish.cgi, not by
search.cgi, which was confusing.
* Updates to the search.cgi
The example script search.cgi was updated to work better with
mod_perl and to use external template files and style sheets.
* New MS Word Filter
James Job provided the SWISH::Filter::Doc2html filter that uses
the wvWare ([59]http://wvware.sourceforge.net/) program for
filtering MS Word documents. If both catdoc and wvWare are
installed then wvWare will be used.
* Change in way symbolic links are followed
John-Marc Chandonia pointed out that if a symlink is skipped by
FileRules, then the actual file/directory is marked as "already
seen" and cannot be indexed by other links or directly.
Now, files and directories are not marked "already seen" until
after passing FileRules (i.e after a file is actually indexed or a
directory is processed).
* UseStemming didn't take no for an answer
UseStemming was coded as an alias for FuzzyIndexingMode when
Snowball was compiled in (the default), but "no" doesn't always
mean no when the Norwegian stemmer is available.
* Updated the index_hypermail.pl
Updated to work with latest version of hypermail (pre-2.1.9).
* Fixed segfault when generating warnings while parsing
Parser.c was incorrectly calling warning() incorrectly. And -Wall
was not catching this!
The complete list of revisions is at http://swish-e.org/docs/changes.html
|
|
COMPATIBILITY
FormBuilder 3.0 should be completely compatible with FormBuilder 2.x,
with the singular exception that you can no longer use the shortcut
autoload style of getting to fields:
$form->field(name => 'category', options => \@opt);
$form->category(options => \@opt); # WRONG
In order to allow the second form, you must specify the "fieldsubs"
option to "new()".
VERSION 3.0202
This is a bugfix release that patches the following problems:
- missing $form->name accessor
- $form->confirm displaying wrong value for radio groups
- $form->new(messages => $file) not reading file (tries to bless directly)
- added $form->field(delete => 1) option
- disabling field comment on static fields
- fixing $form->field(disabled => 0)
- redone messages joiner on array passing (internals thing)
The changed files are:
CGI/FormBuilder.pm
CGI/FormBuilder/Field.pm
CGI/FormBuilder/Messages.pm
All other sub-modules shipped are identical to the 3.02 versions; those
modules retain the same version and signature.
VERSION 3.02
Multi-Page Form Support
A new module, "CGI::FormBuilder::Multi", has been added to handle the
navigation and state of multi-page forms. A multi-page form is actually
composed of several individual forms, tied together with the special CGI
param "_page":
my $multi = CGI::FormBuilder::Multi->new(
# first args are hashrefs per-form
\%form1_opts,
\%form2_opts,
\%form3_opts,
# remaining options apply to all forms
header => 1,
method => 'POST',
);
my $form = $multi->form; # current form
if ($form->submitted && $form->validate) {
# you write this
do_data_update($form->fields);
# last page?
if ($multi->page == $multi->pages) {
print $form->confirm;
exit;
}
$multi->page++; # next page counter
$form = $multi->form; # fetch next page's form
}
print $form->render;
For more details, see CGI::FormBuilder::Multi.
External Source File
Inspired by Peter Eichman's "Text::FormBuilder", the new "source" option
has been added to "new()" which enables the use of an external config
file to initialize FormBuilder. This file takes the format:
# sample config file
method: POST
header: 1
submit: Update, Delete
fields:
fname:
label: First Name
size: 50
validate: NAME
lname:
label: Last Name
size: 40
validate: NAME
sex:
label: Gender
options: M=Male, F=Female
jsclick: javascript:alert("Change your mind??");
validate: M,F
required: ALL
messages:
form_invalid_text: Please correct the following fields:
form_required_text: Please fill in all <b>bold</b> fields.
You can even pre-parse this file, and generate a module from it which
you can then reuse in multiple scripts using the "write_module()"
function. For more details, see CGI::FormBuilder::Source::File.
"Other" Fields
The new "other" option has been added to "field()". If specified, a text
box will be added to the right of the field, and its value will be used
if the main field is not filled in. It will be subject to the same
required and validation checks as the main field:
$form->field(name => 'favorite_color',
options => [qw(Red Green Blue)],
validate => 'NAME',
other => 1); # allow "other"
This would create HTML something like this:
Favorite Color: []Red []Green []Blue []Other: [____________]
The text "Other:" is controlled by the message "form_other_default".
Growable Fields
Thanks to a patch from Peter Eichman, "field()" now also accepts a
"growable" option. This option enables some JavaScript hooks that add an
"Additional [label]" button on text and file fields:
Data File: [______________] [Additional Data File]
When you click on the "Additional Data File" button, another box will be
appended, allowing you to add more files. The values are then retrieved
in the usual fashion:
my @files = $form->field('data_file');
Like "other" fields, all elements are subject to validation checks. The
text "Additional %s" is controlled by the message "form_grow_default".
Support for "CGI::FastTemplate"
Thanks once again to Peter Eichman (busy guy), the module
"CGI::FormBuilder::Template::Fast" has been included. This adds the
template type "Fast" as an interface to "CGI::FastTemplate":
my $form = CGI::FormBuilder->new(
template => {
type => 'Fast',
define => {
form => 'form.tmpl',
field => 'field.tmpl',
}
}
See CGI::FormBuilder::Template::Fast for more details. Thanks again
Peter!
Subclassable Templates and tmpl_param()
The 2.x "tmpl_param()" method has been reimplemented finally. In
addition, the included template modules are now completely subclassable,
meaning that you can create an entire template engine with something
like this:
package My::HTML::Template;
use CGI::FormBuilder::Template::HTML;
use base 'CGI::FormBuilder::Template::HTML';
# new() is inherited
sub render {
my $self = shift;
my $form = shift; # complete form object
# do any special actions here
$self->SUPER::render;
}
For more details, see CGI::FormBuilder::Template.
Message Changes
All messages were reworded to make them shorter and easier to read. The
phrase "You must" was removed from all of them. To see the new messages,
cut-and-paste this code:
perl -MCGI::FormBuilder::Messages \
-e 'CGI::FormBuilder::Messages->messages'
In addition, the "form_submit_default" and "form_reset_default" messages
were not even being used, and field labels were not being properly
highlighted on error. These problems have been fixed.
Autoloaded Fields
The 2.x feature of "$form->$fieldname()" has been reimplemented, but
using it requires the "fieldsubs" option:
my $form = CGI::FormBuilder->new(fields => \@f, fieldsubs => 1);
Read the docs for some caveats.
Disabled Form
Similar to a static form, you can set "disabled => 1" in "new()" or
"render()" to display a form with grayed-out input boxes. You can also
set this on a per-field basis using "field()".
Verbatim HTML Options
If you want to include HTML in your field options, set "cleanopts" to 0
in "field()" (for one field) or "new()" (for all fields).
Compatibility Methods
For compatibility with other modules, FormBuilder now includes
"param()", "query_string()", "self_url()", and "script_name()".
VERSION 3.01
This was a bugfix release, including the following changes:
- fixed major problems with keepextras, including a reversed ismember test
- added debug messages to keepextras and changed a few other debugs
- added patch from Peter Eichman to fix scalar $field->tag and $field->tag_value
- converted most all XHTML generation methods to only returning scalars
- fixed the columns option which was totally broken for radio buttons
- added a feature to plop in {border => 0} in columns as well
- added the 2.x 'override' alias for field() 'force' which was missing
- also added a 'defaults' alias for field() 'value' for CGI.pm happiness
- more tests since there were way too many bugs
In addition there were many documentation updates and changes.
VERSION 3.00
Internals
The internals have been completely rewritten, nearly from the ground up.
All of the major functions have been split into methods, and objects
have been created for the form, fields, messages, CGI params, and so on.
Several new sub-modules have been created, including:
CGI::FormBuilder::Field
CGI::FormBuilder::Messages
CGI::FormBuilder::Template
CGI::FormBuilder::Template::HTML
CGI::FormBuilder::Template::Text
CGI::FormBuilder::Template::TT2
Many of these modules can be subclassed and overridden if desired. In
addition, the template engine has been rewritten to allow "plugging in"
of additional template modules, simply by specifying the name of the
module to the 'template' option in new().
For more details, see the man pages for the individual modules above.
Style Sheets
Stylesheets are now generated if the "stylesheet" option is specified to
FormBuilder. This can either be 1 to turn it on, or a full path to a
style sheet to include. When used, all tags are then output with a
"class" attribute, named "styleclass" plus the name of the tag:
my $form = CGI::FormBuilder->new(
fields => [qw/name email/],
styleclass => 'myFB', # default is "fb_"
stylesheet => 1, # turn on style
);
print $form->render;
# HTML will include
# <input class="myFBname" id="name" name="name" type="text" />
# <input class="myFBemail" id="email" name="email" type="text" />
Compliant XHTML
The output should be fully-compliant XHTML finally. Really. Maybe.
Attributes and Field Objects
Individual accessors have been added for every attribute that
FormBuilder maintains. For example, here's a snippet of code to
demonstrate:
if ($form->stylesheet) {
# loop thru fields, changing class
for ($form->fields) {
next if /_date$/; # skip fields named "XXX_date"
# each field is a stringifiable object with accessors
if ($_->options) {
# has options
$_->class('my_opt_style');
} else {
# plain text box
$_->class('my_text_style');
}
}
}
This code checks to see if the "stylesheet" property has been set on the
main $form. If so, then it loops thru all the fields, skipping those
named "XXX_date". Of the remaining fields, those that have options have
their "class" attribute changed to "my_opt_style", and those without
options have it set to "my_text_style".
In addition, you can individually render every part of the form
yourself. by calling the appropriate method. For example:
print $form->header; # just the header
print $form->script; # opening JavaScript
print $form->title; # form title
print $form->start; # opening <form> tag
for ($form->fields) {
print $_->label; # each field's human label
print $_->tag; # each field's <input> tag
}
print $form->end; # closing </form> tag
For a complete list of accessors, see the documentation for both
CGI::FormBuilder and CGI::FormBuilder::Field.
Messages
Many messages have been reworded, and several new messages were added to
make it easier to customize individual text. In addition, you can now
specify messages to individual fields:
$form->field(name => 'email',
message => 'Please enter a valid email address');
For more details, see "CGI::FormBuilder::Messages".
HTML::Entities encoding
HTML character encoding is now dispatched to "HTML::Entities", if
available. This can be downloaded as part of the "HTML::Parser" module
set on CPAN.
Documentation
Documentation has been updated and somewhat reorganized, which was long
overdue.
AUTHOR
Copyright (c) 2000-2005 Nathan Wiger, Sun Microsystems <nate@sun.com>.
All Rights Reserved.
This module is free software; you may copy this under the terms of the
GNU General Public License, or the Artistic License, copies of which
should have accompanied your Perl kit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
names starting with an underscore are reserved for internal pkgsrc use).
Ok with wiz.
|
|
|
|
|
|
|
|
|
|
(without it, it is called "Mail/News Client").
|
|
|