CGI::MxScreen 0.103 review

Download
by rbytes.net on

CGI::MxScreen is a multi-screen stateful CGI framework. SYNOPSIS require CGI::MxScreen; my $manager = CGI::MxScreen->make(

License: Perl Artistic License
File size: 73K
Developer: Raphael Manfredi and Christophe Dehaudt
0 stars award from rbytes.net

CGI::MxScreen is a multi-screen stateful CGI framework.

SYNOPSIS

require CGI::MxScreen;

my $manager = CGI::MxScreen->make(
-bgcolor => "#dedeef",
-screens =>
{
"state_1" =>
[-class => "STATE_1", -title => "Hello"],
"state_2" =>
[-class => "STATE_2", -title => "Hello #2"],
},
-initial => "state_1",
-version => "1.0",
);

$manager->play();

CGI::MxScreen is a framework for building multi-screen stateful CGI programs. It is rather object-oriented, with some peculiarities brought by persistency constraints: all objects must be handled by Storable.

CGI::MxScreen is based on the CGI module, and co-operates with it, meaning you are able to use most CGI calls normally. The few places where you should not is where CGI::MxScreen supersedes the CGI functionalities: for instance, there's no need to propagate hidden values when you use CGI::MxScreen.

CGI::MxScreen is architected around the concept of screens. Among the set of defined screens within the same script, only one is visible at a time. One moves around the various screens by pressing buttons, which submit data to the server and possibly move you to a different screen. The state machine is handled by CGI::MxScreen, the user only defines which state (screen) a button shall move the application to.

CGI::MxScreen is stateful in the sense that many of the runtime objects created to operate (and screens are among those) are made persistent. This is a very interesting property, because you do not have to worry too much about the underlying stateless nature of the CGI protocol. The CGI module brought the statefulness to the level of form controls, but CGI::MxScreen raises it to the level of the application itself.

CGI::MxScreen is not meant to be used for so-called quick and dirty scripts, or for scripts which do not require some fair amount of round trips between the browser and the server. You'll be better off with using the good old CGI module. However, for more complex web applications, where there is a fair amount of processing required on the server side, and where each script involves several states, CGI::MxScreen is for you.

Requirements:
Perl

CGI::MxScreen 0.103 keywords