CGI-Application-Framework
view release on metacpan or search on metacpan
lib/CGI/Application/Framework.pm view on Meta::CPAN
In the framework/sql directory, you will find a file called
C<caf_example.pgsql>. Load this into the PostgreSQL database. Type:
psql -U some_user -f caf_example.pgsql example
This will create the C<example> database and one table with a
few pre-populated rows, C<users>, and a bunch of other empty tables.
Whatever you chose for some_username and a_password you must place these
into the configuration in your top-level framework.conf file:
<db_example>
dsn = DBI:Pg:dbname=example
username = rdice
password = seekrit
</db_example>
For more information on the format of the 'dsn' parameter, consult the
C<DBD:Pg> documentation:
http://search.cpan.org/~dbdpg/DBD-Pg-1.40/Pg.pm
The C<caf_example.pgsql> file does not contain all of the data needed in
order to populate the database with seed data for all of the example
programs of the Framework. To load the rest of the data, do the
following:
# cd framework/sql/
# ./load_music_data.pl music_info.csv
This data is stored in a seperate file and comes with its own loading
program, so that you can see more examples of how the CDBI modules is
used to accomplish real-life tasks. Inspect the contents of the
C<load_music_data.pl> file to see how it works.
=head2 Database Installation - SQLite
This is how to create a SQLite database that works with the Example
applications.
SQLite is a complete SQL database contained in a C<DBD> driver. This means
you can use it on machines that aren't running a database server.
Each SQLite database is contained in its own file. Database permissions are
managed at the filesystem level. Both the file and the directory that
contains it must be writable by any users that want to write any data to
the database.
The SQLite database and directory should have been created by the CAF
installation script. However these instructions also apply to SQLite
databases you create for other projects.
Create a directory to contain the SQLite databases:
$ mkdir /home/rdice/Framework/sqlite
Change its permissions so that it is writeable by the group the
webserver runs under:
# chown .web /home/rdice/Framework/sqlite
# chmod g+w /home/rdice/Framework/sqlite
Add the group "sticky" bit so that files created in this directory
retain the group permissions:
# chmod g+s /home/rdice/Framework/sqlite
Now import the example database shema.
SQLite does not come with a command line shell. Instead, use the
dbish program which is installed as part of the C<DBI::Shell> module.
dbish --batch dbi:SQLite:dbname=/home/rdice/Framework/sqlite/sqlite_db < caf_example.sqlite
This will create the C<example> database and one table with a
few pre-populated rows, C<users>, and a bunch of other empty tables.
Whatever you chose for some_username and a_password you must place these
into the configuration in your top-level framework.conf file:
<db_example>
dsn = DBI:SQLite:dbname=/home/rdice/Framework/sqlite
username = rdice
password = seekrit
</db_example>
For more information on the format of the 'dsn' parameter, consult the
C<DBD::SQLite> documentation:
http://search.cpan.org/~msergeant/DBD-SQLite-1.08/lib/DBD/SQLite.pm
The caf_example.sqlite file does not contain all of the data needed in
order to populate the database with seed data for all of the example
programs of the Framework. To load the rest of the data, do the
following:
# cd framework/sql/
# perl ./load_music_data.pl music_info.csv
This data is stored in a seperate file and comes with its own loading
program, so that you can see more examples of how the CDBI modules is
used to accomplish real-life tasks. Inspect the contents of the
C<load_music_data.pl> file to see how it works.
=cut
sub login {
my $self = shift;
my $config = $self->conf($self->config_name)->context;
$self->log->debug("At top of 'login' subroutine / run mode ");
# ------------------------------------------------------------------
# Note that the '_errs' param will be populated if there was
# an error with the processing of a login form submission; this is a
# CGI::Application::Plugin::ValidateRM ->check_rm method thing,
# called from within the 'cgiapp_prerun' subroutine. There are
( run in 0.836 second using v1.01-cache-2.11-cpan-71847e10f99 )