use strict;
use warnings;
+our $VERSION = "1." . sprintf "%04d", q$Rev$ =~ /: (\d+)/;
+
# Public accessors.
__PACKAGE__->mk_accessors(
- qw( view uri_base template_root model loader display_tables ok_tables
- rows_per_page dsn user pass opts application_name document_encoding
- content_type models)
+ qw( view view_options uri_base template_root template_extension model
+ loader display_tables ok_tables rows_per_page dsn user pass opts
+ application_name additional)
);
# Should only be modified by model.
-__PACKAGE__->mk_ro_accessors(
- qw( classes tables table_to_class
- )
-);
+__PACKAGE__->mk_ro_accessors(qw( classes tables));
1;
=head2 View related
-=head3 view
+=head3 application_name
-The view class for your Maypole Application. Defaults to "Maypole::View::TT"
+This should be a string containing your application's name.
-=head3 uri_base
+Optional. Is used in the factory templates.
-This is the uri base that should be appended to your application when maypole
-makes urls.
+=head3 rows_per_page
-=head3 template_root
+This is the number of rows your application should display per page.
-This is where your application can find it's templates.
+Optional.
-=head3 rows_per_page
+=head3 tables
-This is the number of rows your application should display per page.
+Contains a list of all tables, if supported by model.
-=head2 Model-Related
+=head3 template_extension
-=head3 display_tables
+Optional template file extension.
-These are the tables that are public to your maypole application
+=head3 template_root
-=head3 ok_tables
+This is where your application can find its templates.
-These are the tables that maypole should care about
+=head3 uri_base
-=head3 model
+This is the URI base that should be prepended to your application when Maypole
+makes URLs.
-The model class for your Maypole Application. Defaults to "Maypole::View::CDBI"
+=head3 view
-=head3 loader
+The name of the view class for your Maypole Application. Defaults to
+"Maypole::View::TT".
+
+=head3 view_options
-This is the loader object. It's set up by the CDBI model if it's not initialized before setup.
+A hash of configuration options for the view class. Consult the documentation
+for your chosen view class for information on available configuration options.
+
+=head2 Model-Related
=head3 classes
-This config variable contains a list of your view classes. This set up by the
+This config variable contains a list of your view classes. This is set
+up by the
model class, and should not be changed in the view or the config.
+=head3 display_tables
+
+This is a list of the tables that are public to your Maypole
+application. Defaults to all the tables in the database.
+
=head3 dsn
+
The DSN to your database. Follows standard DBD syntax.
-=head3 user
+=head3 loader
+
+This is the loader object (n.b. an instance, not a class name). It's set
+up by the CDBI model to an instance of "Class::DBI::Loader" if it's not
+initialized before calling setup().
-Username to log into the database with
+=head3 model
+
+The name of the model class for your Maypole Application. Defaults to
+"Maypole::Model::CDBI".
+
+=head3 ok_tables
+
+This is a hash of the public tables. It is populated automatically by
+Maypole from the list in display_tables and should not be changed.
=head3 pass
=head3 opts
-Other options to the dbi connect call.
+Other options to the DBI connect call.
+
+=head3 user
+
+Username to log into the database with.
+
+=head2 Adding additional configuration data
+
+You can use the 'additional' attribute for stashing additional info, especially from additional_data method,
+i.e. $r->config->additional({foo=>bar});
+
+Or..
+
+If your modules need to store additional configuration data for their
+own use or to make available to templates, add a line like this to your
+module:
+
+ Maypole::Config->mk_accessors(qw(variable or variables));
+
+Care is needed to avoid conflicting variable names.
=head1 SEE ALSO
L<Maypole>
-=head1 MAINTAINER
+=head1 AUTHOR
-Sebastian Riedel, c<sri@oook.de>
+Sebastian Riedel, C<sri@oook.de>
-=head1 AUTHOR
+=head1 AUTHOR EMERITUS
Simon Cozens, C<simon@cpan.org>