For information about current developments and future releases, see:
http://maypole.perl.org/?TheRoadmap
+2.12 October 2006
+ Fixed some db_colinfo test bugs
+ Fixed typo in edit form template
+ Now uses Class::C3 in all Classes to simplify inheritence
+
2.11 Mon 31 July 2006
SVN revision 519
Digest::MD5 => 0,
File::MMagic::XS => 0.08,
Class::DBI::Plugin::Type => 0,
+ Class::C3 => 0.14,
}, # e.g., Module::Name => 1.1
(
$] >= 5.005
use NEXT;
use File::MMagic::XS qw(:compat);
-our $VERSION = '2.11';
+our $VERSION = '2.12';
our $mmagic = File::MMagic::XS->new();
# proposed privacy conventions:
C<Maypole::Model::CDBI> is because it provides a useful set of
default actions. So what's an action, and why are they useful?
+
+=head2 Maypole::Model::CDBI::Plain
+
+The 'Plain' maypole Model : C<Maypole::Model::CDBI> allows you
+
+ package Foo;
+ use 'Maypole::Application';
+
+ Foo->config->model("Maypole::Model::CDBI::Plain");
+ Foo->setup([qw/ Foo::SomeTable Foo::Other::Table /]);
+
+ # untaint columns and provide custom actions for each class
+
+ Foo::SomeTable->untaint_columns(email => ['email'], printable => [qw/name description/]);
+
+ Foo::Other::Table->untaint_columns ( ... );
+
+ sub Foo::SomeTable::SomeAction : Exported {
+
+ . . .
+
+ }
+
=head2 Extending a model class with actions
Maypole operates primarily by turning URLs into method calls on a model
L<Contents|Maypole::Manual>,
Next L<Maypole View Classes|Maypole::Manual::View>,
Previous L<Introduction to Maypole|Maypole::Manual::About>
+
+=cut
[% IF object %]
<div id="title">Edit a [% classmetadata.moniker %]</div>
-<form action="[% base %]/[% item.table %]/do_edit/[% object.id %]" method="post">
+<form action="[% base %]/[% object.table %]/do_edit/[% object.id %]" method="post">
<fieldset>
<legend>Edit [% object.name %]</legend>
[% FOR col = classmetadata.columns;