Presentation Definition Guide

webinar applet


The presentation definition file is a file that is utilized by the webinar applet to define the flow of a webinar. A webinar is a series of slides that are presented in a descrete order. The slides can have visual effects such as anamations as well as auto effects such as an audio voice over. The presentation applet reads the file Presentation.pdef from the webserver within the same directory as the HTML page that serves up the applet.

1. Overview

The file format for the presentation definition is a semicolin delimited file which contains tupples of configuration information.

 tupple 1   ;   tupple 2   ;   tupple 3 newline character (\n)


The first tupple in each line is a unique slide name that is utilized to identify each slide. Most slides will require multiple pieces of configuration data, thus configuration for a single slide will typically span multiple lines of the presentation definition file. The first tupple of each line is thus utilized to group multiple lines of the presentation definition file together.

The second tupple of data identifies the configuration data that is being provided by this line. As an example, the VO configuration directive signals that the data being provided on this line identifies the Voice Over sound file for the slide.

Lastly the third tupple provides the data for the configuration directive. Continuing with the VO example, the data for this configuration would be the name of the sound file to use for this slide.

As an example a full line of configuration looks like this:


2. Configuration directives

Various configuration directives are available for use, and each of their use and configuration data is different. In the next several sections we will discuss each of the directives.

2.1 TITLE directive

The TITLE directive is utilized to provide the name for the slide. The title appears in the presentation index pannel on the lefthand side of the webinar as the presentation progresses.


2.2 IMG directive

The IMG directive is utilized to provide a static image to be utilized for the slide. The relative image file name is provided in the data for this directive. Any image codec supported by the Java JVM may be utilized which includes png, gif, jpg, and bmp formats amongst others.


2.3 ETP directive

The ETP directive, enable trailing pause, is utilized to indicate that the presentaiton should hold for a period of time on the current slide before moving to the next slide. The amount of wait time in miliseconds is provided in the data for this directive.


2.4 VO directive

The VO directive, Voice Overs, is utilized to indicates that this slide has an audio voice over that should be run before continuing to the next slide. The relative audio sounds filename is provided in the data for this directive.
Additional Nodes
Wen utilized in conjunction with ETP, the ETP pause takes effect after the complete audio track has been presented.


3. Advanced directives and custom handlers

To allow for modularity there has to be a way to extend the vocabularity of available directives. This is done via the use of custom handler classes. When utilizing a custom screen handler two advanced configuraiton directives are utilized: VHANDL and VHANDL.DATA. Within the VHANDLE (Visual Handler) directive the class name of a java screen handler class is provided. Each handler will have its own behavior and thus is own speicifc data needs. Thus data can be provided to handler classes via the VHANDLE.DATA directive. Consult documentation on speicific custom handlers to determine the format necessary for the data provided in the VHANDLE.DATA directive.

4. Provided custom handlers

Two more advanced custom handlers are provided out of the box to supply capabilities for more advanced presentations. This section provides documenation on each handler.

4.1 Looping image presenter

In order to support animation the webinar applet provides a Visual Handler that can loop through a series of images. This handler typically is utilized along side either a VO or ETP directive in order to provide a descrete amount of time for the anamiation to run. In both of these situations the anamiation will continuouly loop until either the configured wait time has expired or the provided audio track has completed.

Class: com.srs.webinar.visual.handler.CircularLoopingPlayer

Data: a list of comma seperated images to present. The final comma delimited value indicates the amount of time to pause between image frames.



4.2. Sequencial Image player

Many times a presentation slide will have content that slowly changes over time as the slide is discussed. A common example is to have bullet points on a slide where the various bullets slowly arrive on the slide one after each other. This style of presentation can be achieved with the Sequential Image player. With this player all images must be presented. So when working in conjunction with either the ETP or VO directives both the configured pause or audio track as well as all requested images sequences must both complete before moving onto the next slide. This can be helpful in situations where a voice over ends prior to all the presented images are displayed.

Class: com.srs.webinar.visual.handler.CircularLoopingPlayer

Data: a list of comma seperated images to present



5. Slide definition order

As to be expected, the order of configuration within the presentation definition file dictates the order for the slides. The first configuration grouping in the file thus becomes slide 1, the next set becomes slide 2, and so on and so forth. The only exception to this rules is the special case grouping name of Presenation which will be discussed next.

6. Presentation Splash page image

General purpose presentation information is provided to the applet simiar to slide configuration. This is achieved via the special case grouping name Presentation. This grouping must appear as the first configuration in the presentation definition file and must contain an IMG directive. The image provided by this configuration is utilized to display a presentation specific graphic which appears in the upper left hand corner of the presentation right above the presentation index.

7. Performance

For the purposes of performance one should note that image data is cached for each slide. However once the presentation moves to the next slide internal image resources are released in order to allow for reasonable memory management.

Audio data, unlike image data is not cached but is streamed across the http connection in chunks of 4k. Chunking allows for reasonable playback performance without excessive overzellious memory consumption which could become an issue for larger audio files.