]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole/Config.pm
fixed bug 22899 + broken link in manual contents, removed some warnings, fixed DFV...
[maypole.git] / lib / Maypole / Config.pm
index 9d0c900f6544a625d4ecb2905c11e02d1db300f4..3307f8f5b650547145370c48170ff7b42ea2a403 100644 (file)
@@ -5,14 +5,17 @@ use attributes ();
 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)
+     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 build_form_elements)
 );
 
 # Should only be modified by model.
-__PACKAGE__->mk_ro_accessors(qw( classes tables table_to_class));
+__PACKAGE__->mk_ro_accessors(qw( classes tables));
 
 1;
 
@@ -32,17 +35,21 @@ This class stores all configuration data for your Maypole application.
 
 This should be a string containing your application's name.
 
+Optional. Is used in the factory templates.
+
 =head3 rows_per_page
 
 This is the number of rows your application should display per page.
 
+Optional.
+
 =head3 tables
 
 Contains a list of all tables, if supported by model.
 
-=head3 table_to_class
+=head3 template_extension
 
-A hash containing a table to class mapping, if supported by model.
+Optional template file extension.
 
 =head3 template_root
 
@@ -50,8 +57,7 @@ This is where your application can find its templates.
 
 =head3 uri_base
 
-This is the URI base that should be prepended to your application when
-Maypole
+This is the URI base that should be prepended to your application when Maypole
 makes URLs.
 
 =head3 view
@@ -59,6 +65,20 @@ makes URLs.
 The name of the view class for your Maypole Application. Defaults to
 "Maypole::View::TT".
 
+=head3 build_form_elements
+
+Globally specify whether to build form elements; populating the cgi metadata with 
+autogenerated HTML::Element widgets for the class/object.
+
+Can be over-ridden per action using the method of the same name for the request.
+
+If not set, then Maypole will assume it is true.
+
+=head3 view_options
+
+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
@@ -69,8 +89,8 @@ model class, and should not be changed in the view or the config.
 
 =head3 display_tables
 
-These are the tables that are public to your Maypole application.
-Defaults to all the tables in the database.
+This is a list of the tables that are public to your Maypole 
+application. Defaults to all the tables in the database.
 
 =head3 dsn
 
@@ -89,7 +109,8 @@ The name of the model class for your Maypole Application. Defaults to
 
 =head3 ok_tables
 
-These are the tables that Maypole should care about
+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
 
@@ -103,6 +124,21 @@ Other options to the DBI connect call.
 
 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>