NAME
CGI::Portal - Extensible Framework for Multiuser Applications
SYNOPSIS
use CGI::Portal;
CGI::Portal::activate({'database_type' => "mysql",
'database_name' => "some_name",
'database_host' => "localhost",
'database_user' => "some_user",
'database_passw' => "some_password",
'user_table' => "users",
'user_index_field' => "id",
'user_user_field' => "user",
'user_passw_field' => "passw",
'user_email_field' => "email",
'add_user_fields' => "first_name,middle_initial,last_name,city,state,country",
# does not add fields to your user table ;-)
'session_table' => "sessions",
'session_index_field' => "id",
'session_sid_field' => "sid",
'session_user_field' => "user",
'session_start_field' => "session_start",
'add_session_fields' => "",
# does not add fields to your session table ;-)
# Modules in the CGI::Portal::Scripts namespace, the first is the default action
'actions' => ["logon", "logoff", "register", "profile", "changepw", "emailpw"],
'session_length' => 7200,
'admin_email' => "some_user\@some_host.com",
'header_html' => "header.html",
'footer_html' => "footer.html",
'logon_success_html' => "logon.html"});
DESCRIPTION
CGI::Portal is intended as a framework for the design of extensible,
plug-configure-and-play multiuser web applications based on preferred object
oriented coding standards. It includes authentication and session management.
Applications are build by first configuring a simple startup script as above
and then by creating modules that reside in the CGI::Portal::Scripts namespace
and extend CGI::Portal::Scripts. CGI::Portal does not create database tables
for you, so you will have to do that yourself.
All requests go through the startup script, CGI::Portal then calls a module in
the CGI::Portal::Scripts namespace depending on the desired action. Above shown
actions are included in CGI::Portal.
For example, portal.cgi?action=foo calls CGI::Portal::Scripts::foo::launch()
Functions
activate
CGI::Portal::activate($conf) takes a reference to the configuration hash, collects
input parameters, creates a database object, and passes those on to your module
for creating an object instance. It then runs your modules "launch" method and
concludes by doing the printing for you. This function is called once from your
startup script.
Building Applications
See CGI::Portal::Scripts on Building Applications
INSTALLATION
perl Makefile.PL
make
make test
make install
AUTHOR
Alexander David <cpanalpo@yahoo.com>