README of the plasma application for conference screens
========================================================

This application was originally devised by Stuart "Aq" Langridge for LUGRadio 
Live in 2006. However, the original version was written in PHP. Barbie rewrote
this version in Perl for YAPC::Europe::2006. 

Instructions
------------

1) Register Domain and Create DNS entries

Create your domain for accessing the site. For the examples below we will 
assume this to be 'plasma.example.com'. Set up your DNS entries to point to 
the correct server IP address.

2) Install Directories and Files

Untar this tarball and copy all the files under the ./cgi-bin and ./html
directories into your directory structure where you will be serving your web
pages from. In the examples below we will assume this is /var/www/plasma.

3) Install Perl Libraries

A version of Perl will need to be installed. The application has been tested
with version 5.6.1, 5.8.0, 5.8.4 and 5.8.7, but should work with all recent
releases.

If you don't already have them, you will need to install the following Perl
libraries from CPAN:

  CGI
  Image::Size
  File::Find::Rule

If you are unfamiliar with installing from CPAN, you will need to run the 
CPAN shell from the command line as follows:

  $> cpan
  cpan> install CGI
  cpan> install Image::Size
  cpan> install File::Find::Rule
  cpan> quit
  $>

After each install command above you will see messages display for each stage 
of the installation process. If there are any failures, you may need to 
consult the appropriate documentation or use an alternative install method 
(e.g. from a package repository).

Note that you will need to have root or administrator access on the machine you
are installing these libraries. If you have sudo access, type 'sudo cpan' as
the first command.

If you are running Windows, you may install all of the above via the PPM 
application. Simply type 'ppm' from a command line window.

4) Setup Web Server

Set up your web server to serve pages from the ./html directory and Perl
scripts (.pl) from the ./cgi-bin. Below is how this would look in Apache:

  <VirtualHost 127.0.0.1>
      ServerName plasma.example.com
      ServerAdmin admin@example.com
      DocumentRoot /var/www/plasma/html
      ScriptAlias /cgi-bin/    /var/www/plasma/cgi-bin/
      Options +ExecCGI
      ErrorLog /var/www/logs/plasma-error.log     
      CustomLog /var/www/logs/plasma-access.log common
  </VirtualHost>

5) Edit Schedule

Inside the ./cgi-bin/schedule.pl, we include the full schedule for the event.
This is listed in the DATA section at the end of the application. The format
for each entry is:

  START | END | ROOM | SPEAKER | TITLE | ABSTRACT

These not be in any particular order, as the application will order these
appropriately when it loads them. The start and end date/time is of the format

  YYYYMMDDhhmmss

Include morning, lunch and afternoon breaks, BOFs clean up time, etc using the 
examples included.

6) Edit Marquee

The marquee scrolling text is held with the ./cgi-bin/marquee.pl application
in the DATA section. Edit contents as appropriate. Note that each line of the 
marquee will be separated by a single whitespace in the actual display.

The top line of the marquee frame is the event name. Edit the '$EVENT_STR' as
required.

7) Edit Photos

The photos that will appear in the right hand panel of the display are all
taken from the directory ./html/photos/dailies. Drop files into this
directory and they will be included in the next refresh. The current refresh
is set at 10 minute intervals, if you wish to change this see the <META> tag
in the ./cgi-bin/photos.pl application.

8) Logos, Images & Colours

In addition to the dynamic side of the application, there are a number of 
images used to support the layout. You may need to change these to suit your
needs, although it is recommended you use the same names, otherwise you'll need
to ammend the .pl files.

Images used are:

./html/images/marquee-bg.jpg  - background image for the marquee frame
./html/images/schedule-bg.jpg - background image for the schedule frame
./html/images/logo.jpg        - your logo for the schedule frame
./html/images/tvstatic.gif    - the interference image used between photos

It is recommended you keep the logo image at roughly 100 x 100 pixels.

Main colours are assumed to be white text on a black background. Suitable 
colours for the time display in the bottom of the schedule frame, can be
amended through the use of the '$COLOUR_INNER' and '$COLOUR_OUTER' variables,
where the inner is the background colour of the display block and the outer is
the border colour.

9) Run It!

Restart Apache, if you haven't already done so, and point your browser at your
plasma domain, and the pages should load. You may need to tweak image files and
text to suit your application, but that is essentially it.

Have fun.


Copyright 2006 Stuart Langridge (PHP version).
Copyright 2006-2007 Barbie for Miss Barbell Productions.
