The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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_additional'     => ["email","first_name","middle_initial","last_name","city","state","country"],
                           # at least:              ["email"],

                           'session_table'       => "sessions",
                           'session_index_field' => "id",
                           'session_sid_field'   => "sid",
                           'session_user_field'  => "user",
                           'session_start_field' => "session_start",
                           'session_additional'  => "",


                           # 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",

                           'template_dir'        => "templates/", # include trailing slash
                           'header_html'         => "header.html",
                           'footer_html'         => "footer.html",
                           'logon_success_html'  => "logon.html"});

DESCRIPTION

CGI::Portal is a framework for the design of extensible, plug-configure-and-play multiuser web applications based on preferred object oriented coding standards. It provides authentication, session management, internal redirects and a modular architecture to build complex applications.

It requires a database including a user and a sessions table, a collection of HTML::Template style templates and a properly configured startup script. To start you may want to install the provided Templates.

All requests access through the startup script, and are handled by the module in the CGI::Portal::Scripts namespace that corresponds to 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>