The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SlideShow - Perl extension remote presentation

SYNOPSIS

  use SlideShow;
  new SlideShow
    (master_cgi  => "http://127.0.0.1/cgi-bin/master",
     start_title => "My SlideShow",
     url_list    => [qw(http://www.perl.com http://www.infobot.org)],
     )->run;

  perl -MSlideShow -e 'SlideShow->new()->run';
  perl -MSlideShow -e 'SlideShow->client()->run';

DESCRIPTION

SlideShow is a device for giving presentations over the Web. It allows one user (the master) to control the content that appears on other user (client) browsers by using server pushes.

For example, you could arrange a conference call or radio broadcast, and then tell everyone to point their browsers at a client CGI, and then give the talk with visual materials.

PREREQUISITES

LWP::UserAgent, HTTP::Request, HTML::Parser, CGI.pm, and web server that will allow you to run CGIs.

RUNNING A SLIDESHOW

You will need a web server that will allow you to use CGI, but it is otherwise a simple matter to run a SlideShow.

First, have the session leader start a master session. This is done by creating a SlideShow object and passing it a few parameters, such as:

master_cgi

The URL to the master CGI program, wherever you are utting it. [Required].

view_file

Where to keep the currently-showing pages.

start_title

The title that shows up on the master session at startup.

url_list

A list of URLs to use as presets to start off the session with.

tmp_dir

Where to keep the temporary files. default is /tmp.

log_file

Where to put the final log of all pages visited.

commentary

A little message that goes on the master startup page. HTML can be included verbatim.

EXAMPLES

for the master session:
  use SlideShow;

  new SlideShow
    (master_cgi  => "http://127.0.0.1/cgi-bin/master",
     start_title => "My SlideShow",
     view_file   => "/tmp/viewfile.html",
     url_list    => [qw(http://www.perl.com http://www.infobot.org)],
     )->run;
for the clients/viewers:
  use SlideShow;

  SlideShow::client(view_file => "/tmp/viewfile.html");
NOTE: the push involved non-parsed headers (NPH) and many browsers require that a CGI be named with the prefix 'nph-', such as 'nph-view', to work properly.

See the included examples, slideshow-master and nph-slideshow-viewer.

BUGS

Requires someone or something to lead the session. Autonomous shows should be added.

AUTHOR

Kevin A. Lenzo <lenzo@cs.cmu.edu>

SEE ALSO

perl(1), LWP::UserAgent, HTTP::Request, HTML::Parser, and CGI.pm.