NAME

CGI::Builder::Conf - Add user editable configuration files to your WebApp

SYNOPSIS

use CGI::Builder
qw| CGI::Builder::Conf
  | ;

# in the instance script
$webapp = My::WebApp->new( conf_file => '/path/to/conf_file.mml' )
$webapp = My::WebApp->new( conf_file => [ '/path/to/conf_file.mml',
                                          '/other_conf_file.mml' ]
                         , conf_mml_options => .... )

# optionally in the CBB
My::WebApp->conf_mml_options ( .... );   # IO::Util::load_mml options

DESCRIPTION

This Extension adds another way to pass arguments to the new method: a user editable MML file (see "Minimal Markup Language (MML)" in IO::Util). This is useful when you want to give to other people (e.g. your client) the possibility to configure their own application instance, but you don't want to give them the possibility to edit and run a potentially unsecure perl script.

You can do so by passing to the new method the full path to a list of conf_file; the mixed structure of their data will be loaded as the default arguments for that instance (see "OPTIONS" in Class::constr).

Important Note: Please notice that the data contained in the conf_file is tainted however, so treat that with care (e.g. as they were query parameters).

PROPERTY AND GROUP ACCESSORS

conf_file

This property access and sets the full path to the MML configuration files. You can pass a single path or a list of paths: in that case the data in the next file will override the previous one. You will usually set it with the new() method or by overriding the property.

conf_mml_options

This is a Class property group accessor, which allows you to define the IO::Util::load_mml options used to load the conf_file. By default it has a true optional option (i.e. it won't croak for missing conf_file), and a 'TRIM_BLANKS' filter.

conf_options

Deprecated alias for conf_mml_options.

SUPPORT

See "SUPPORT" in CGI::Builder.

AUTHOR and COPYRIGHT

© 2004 by Domizio Demichelis.

All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 104:

Non-ASCII character seen before =encoding in '©'. Assuming CP1252