In version 3.x we have continued to refactor, clarify, and improve the reference application supplied with On2 Flix Publisher. Following is a guide to the current round of enhancements, intended to aid developers who may have based their own implementations on the version 2.x reference applications.
Note that On2 previously supplied three reference applications of varying complexity. For 3.x, a single reference app is able to demonstrate all Publisher functionality.
Also note that the 3.x reference application begins to leverage the freely-available jQuery JavaScript framework for some of its UI effects and DOM traversals. Client-side scripting libraries like jQuery and Prototype sharply reduce development effort when designing desktop-like behaviors for the web, and bring complex effects within reach of intermediate developers. Look for Publisher to further embrace these frameworks in future releases.
File Mappings
- required_params.js -> flixpub_conf.js
- User-configurable parameters (JavaScript variables) for the reference app are now located in flixpub_conf.js, which reduces the number of edits needed to get the app running on a demonstration basis. The Publisher object background images are now given here, and finer uploading controls are in place. flixpub_conf.js is the most important file to read if you will be adapting an application to the v3.x reference app model.
- on2pub_constants.js -> flixpub_constants.js
- The reference application's constants file is now named flixpub_constants.js. The file has been refactored, and constants are used more widely and to greater advantage.
- publisher_object.js -> flixpub_embed.js
- No change in functionality. Renamed using the flixpub_ convention.
- on2pub_sample_helpers_common.js -> flixpub_main.js
- Functionality has not changed, though most functions in this library have been renamed.
- Removed: on2pub_sample_helpers_advanced.js and on2pub_sample_helpers_basic.js
- These JavaScript libraries have been merged into flixpub_main.js, which cuts substantial redundancy. Functions no longer called by the Publisher 3.x reference application have been removed.
- Moved: carpeSlider.js
- The Carpe Slider JavaScript library has been moved to the subdirectory /scripts. Carpe Slider provides the slider control for the reference application's Publisher object. A jQuery extension may be adapted to this purpose for future releases.
File Manifest
/sample
flixpub_advanced.html <= Reference application XHTML page
flixpub_broadcast.html <= Broadcast demonstration XHTML page
index.html <= Demonstration menu page
upload.php <= Sample server-side upload target PHP script
upload.py <= Sample server-side upload target Python script
/css
broadcast.css <= Broadcast demonstration stylesheet
carpeSlider.css <= Carpe Slider stylesheet
v3.css <= Reference application stylesheet
/images
button.png <= Images supporting the reference application's
button_wide.png CSS presentation layer. These decorate the
file_info_bg.png XHTML page and provide graphical controls.
frame_body.png
frame_bottom.png Note the "sprite" technique used to indicate
frame_top.png button state. More information:
logo_105x90.png http://alistapart.com/articles/sprites
status_bg.png
/images
on2_notech_147x120_trans.png <= On2 logo, used in UI block div's.
pub_bkgnd_record.gif <= Publisher object background images. Contain
pub_bkgnd_start.gif user instructions and give an indication of
pub_bkgnd_uploading.gif of state.
pub_bkgnd_validating
pub_bkgnd_start_broadcast.gif
pub_bkgnd_encode_complete.gif
pub_bkgnd_encode_in_progress.gif
/scripts
carpeSlider.js <= Carpe Slider JavaScript library
flixpub_advanced.js <= Reference application main library
flixpub_broadcast.js <= Broadcast demonstration main library
flixpub_conf.js <= Reference application configuration file
flixpub_constants.js <= Variables supporting the reference application
flixpub_embed.js <= Injects the Publisher object into XHTML
flixpub_jq_util.js <= Small utilities (On2) that tweak jQuery behavior
flixpub_main.js <= API wrappers and utilities used by the demonstrations
jquery-1.2.1.js <= jQuery library (uncompressed, recommended)
jquery.blockUI.js <= jQuery plugin that blocks user input during certain
state transitions
MIT-LICENSE.txt <= jQuery LICENSE. Applies only to jQuery