[cgiapp] Re: Usefulness of the FillInForm plugin since the
HTML::FillInForm 2.0 release?
Mark Stosberg
mark at summersault.com
Mon Mar 30 12:08:52 EDT 2009
> I'm wondering if it's time to quit recommending the FillInForm plugin.
> The way I see it, it has about 3 features, all now of questionable value:
>
> 1. It provides a more convenient syntax than HTML::FillInForm 1.x did. These
> deficiences were fixed in HTML::FillInForm 2.0.
>
> 2. It defaults the data source to $self->query.
> I don't find that exceptionally useful. It could even be considered an security
> risk to be passing data unchecked from the query on to a new HTML page. Using a
> trusted data source like a Data::FormValidator result or a database row is
> usually a better option.
>
> 3. It automatically ignores the 'rm' field for you, by taking it as the value
> of mode_param(). That's a nice bit of integration, but it seems that
> mode_param() can work several different ways, and it won't always return the
> name of a query parameter that holds the name of the run mode call. This
> feature also adds no value in the context of dispatching.
Later I thought of one way that the FillInForm adds value: Purely the
abstraction of having a method we control rather than third-party module
interface.
I was thinking in particular about Titanium, which includes this plugin,
but also how there is an interest in a pure-perl alternative to
HTML::FillInForm (or rather, the HTML parser behind it).
By keeping a fill_form() method, we have extra flexibility in how we
achive that. We *may* achieve it by convincing the HTML::FillInForm
modules to support an alternative Pure Perl backend. But, but keeping
the method abstraction, we also have the possibility of implementing a
compatibile Pure Perl solution with a completely different module,
with full backcompat for Titanium users.
At least, we could clean-up how the FillInForm plugin is implemented. By
requiring HTML::FillInForm 2.0 for now, the guts of it could be
noticeably simplified.
Mark
--
. . . . . . . . . . . . . . . . . . . . . . . . . . .
Mark Stosberg Principal Developer
mark at summersault.com Summersault, LLC
765-939-9301 ext 202 database driven websites
. . . . . http://www.summersault.com/ . . . . . . . .
More information about the cgiapp
mailing list