[ANNOUNCE] CGI::Builder::SessionManager 1.00

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

The uploaded file


has entered CPAN as

  file: $CPAN/authors/id/E/EN/ENRYS/CGI-Builder-SessionManager-1.00.tar.gz
  size: 3459 bytes
   md5: 4c26c6d56afa06ff53bfc464d2cd6d26

I've included perldoc at the bottom of this mail.

Any comment and/or criticism are welcome :-)


    - Enrico


    CGI::Builder::SessionManager - CGI::Builder / Apache::SessionManager

       package WebApp;
       use CGI::Builder qw/ CGI::Builder::SessionManager /;

       sub PH_session {
          my $cbf = shift;
          $cbf->page_content = 'Session test page!';
          $cbf->sm-> = 'baz';
          $cbf->page_content .= $cbf->sm->;

    CGI::Builder::SessionManager is a CGI::Builder extension that integrates
    Apache::SessionManager session management into CGI::Builder framework

    Apache::SessionManager is a mod_perl (1.0 and 2.0) module that helps
    session management of a web application. This module is a wrapper around
    Apache::Session persistence framework for session data. It creates a
    session object and makes it available to all other handlers
    transparenlty. See 'perldoc Apache::SessionManager' for module
    documentation and use.

    In order to install and use this package you will need Perl version
    5.005 or better.


    * CGI::Builder >= 1.2
    * Apache::SessionManager >= 1.01

    Installation as usual:

       % perl Makefile.PL
       % make
       % make test
       % su
         Password: *******
       % make install

    This module adds "sm" property to the standard CBF properties.

    It's possible to set a value in current session with:

       $cbf->sm-> = 'baz';

    and it's possible to read value session with:

       print $cbf->sm->;  

    Destroy the current session object.


    This is a simple CGI::Builder application, (save it, for example, as

       package WebApp;    # your class name
       use CGI::Builder qw/ CGI::Builder::SessionManager /;
       use Data::Dumper;
       sub PH_AUTOLOAD {                           # always called for all
requested pages
          my $cbf = shift;
          $cbf->page_content = "Default content";  # defines the page content

       sub PH_session {
          my $cbf = shift;
          $cbf->page_content = "Session test!<BR>\n";
          $cbf->sm->{"$$-" . rand()} = rand;
          $cbf->page_content .= '<PRE>' . Dumper($s->cbf) . '</PRE>';

       sub PH_delete_session {
          my $cbf = shift;
          $cbf->page_content = "Session test! (deletion)";

    and the correspondent configuration lines in httpd.conf:

       <IfModule mod_perl.c>

          PerlModule Apache::SessionManager
          PerlTransHandler Apache::SessionManager

          Alias /cgi-builder "/usr/local/apache/cgi-builder"
          <Location /cgi-builder>
             SetHandler perl-script
             PerlHandler Apache::Registry
             PerlSendHeader On
             PerlSetupEnv   On
             Options +ExecCGI

             PerlSetVar SessionManagerTracking On
             PerlSetVar SessionManagerExpire 1800
             PerlSetVar SessionManagerInactivity 900
             PerlSetVar SessionManagerName CBFSESSIONID
             PerlSetVar SessionManagerStore File
             PerlSetVar SessionManagerStoreArgs "Directory =>
             PerlSetVar SessionManagerDebug 1


    In order to test this simple application you must implement the Instance
    Script that is what is actually called by your web server.

    It is a very small, simple file which simply creates an instance of your
    application and calls an inherited method, "process()". Following is the
    entirely of /some/path/cgi-builder/webapp.cgi:

       #!/usr/local/bin/perl -w
       use WebApp;
       my $webapp = new WebApp;

    Restart the httpd server and launch
    *http://localhost/cgi-builder/webapp.cgi* .

    Please submit bugs to CPAN RT system at
    or by email at bug-cgi-builder-sessionmanager@rt.cpan.org

    Patches are welcome and I'll update the module if any problems will be

    Version 1.00

    Apache::SessionManager, CGI::Builder

    Enrico Sorcinelli, <enrico at sorcinelli.it>

    Copyright (C) 2004 by Enrico Sorcinelli

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself, either Perl version 5.8.2 or, at
    your option, any later version of Perl 5 you may have available.

Site Timeline