wiki:OvaReleaseNote-1.0.1-RC2

Version 31 (modified by paul, 14 months ago) (diff)

--

What's New? (1.0.1 Release Candidate 2)

The following versions have been issued as "release candidates".

  • OVA for AS3 v1.0.1 RC2
  • OVA for JW Player 5 v1.0.1 RC2 (required JW5.6 or higher)
  • OVA for Flowplayer v1.0.1 RC2

The RC2 release note follows on from the 1.0.1 RC1 release note.

1. Bug Fixes

  • Ticket #356 - Reopened ticket to fix bug stopping VAST 2 <AdParameters> being passed into non-linear VPAID ads - parser code error stopped value from being extracted - resolved.
  • Upgraded GAFlash to v1.1.0.468 and optimised to reduce SWF size
  • Ticket #371 - "addParamsToTrackingURL" option added to Google Analytics config to allow params to be turned off when tracking URL is formed
  • Ticket #372 - "useDefaultPaths" option added to allow default paths to be turned off and effectively selectively track specific events by only specifying custom paths for those to be tracked
  • Ticket #374 - added Security.allowDomain("*") to OVA for JW SWF to stop security issues with API calls when the JW Player swf is hosted on a different domain to the web page
  • Ticket #375 - Added additional code to NetworkResource to ensure that VAST URLs are always clean after parsing (e.g. no newlines, spaces in front of the http etc.)
  • Ticket #376 - Fixed issue where Custom Properties on a clip were being dropped by OVA in JWPlaylistItem
  • Ticket #378 - OVA for Flowplayer "delayed" startup ad notice repositioning bug fixed - overlay controller was not being reset after "delayed" startup
  • Ticket #380 - added a second, safety "SN" cuepoint in OVA for Flowplayer at 1 second to ensure that if the first < 1000 millisecond SN cuepoint doesn't fire (because of a Flowplayer bug), the second one seems to always fire at 1 second
  • Set the initial cuepoint offset to 100 milliseconds for OVA for JW5
  • Added tracking point offset to SN event because it was not firing as a cuepoint at 0 with OVA for Flowplayer
  • Ticket #365 - OVA for JW5 only - buffering icon shown when ad tags and Linear VPAID ads are loading
  • Ticket #379 - OVA for Flowplayer - RTMP playlist clips now work - netConnectionURL was not being correctly set if the clip was declared in a Flowplayer playlist
  • Moved OVA for Flowplayer release package to use Flowplayer 3.2.8 as the default
  • Ticket #373 - OVA for Flowplayer - Modified the modifyTrackingCuepoints() code to differentiate based on whether or not the "original cuepoints" are stored as an array of array of cuepoints, or just an array of individual cuepoints
  • Ticket #383 - OVA for Flowplayer 3.2.8 requires HoldingClips with valid stream URLs - the CDN hosted holding clip is now being used
  • OVA for JW5 - Added try/catch around showOVABusy() and Ready()
  • Ticket #389 - OVA for Flowplayer - "tag" minimal setting now supports 250x300 default companion as per OVA for JW5
  • Ticket #382 - Added "ads.vpaid.enableLinearScaling" and "ads.vpaid.enableNonLinearScaling" options to ensure that OVA triggered "scaling" can be forcibly turned off
  • Ticket #393 - Added support for VAST2 "nested" AdParameters because the XSD (but not the written spec) permits the AdParameters to be declared inside a <NonLinearAd> block
  • Ticket #396 - Fixed OVA for JW5 buffer so that the buffering sign is not sign for non-linear on-demand ad calls and non-linear VPAID loads
  • Added VPAIDNonLinearLoading/Loaded, VPAIDLinearLoading/Loaded events
  • Added includesLinearAds() and calledOnDemand() methods to AdCallEvent class
  • Cleaned up the build process - ant build files created for OVA for JW5
  • Conditional compilation options added to OVA for JW5 and OVA for Flowplayer to remove all debug in a "release" build
  • Conditional compilation options added to OVA for AS3 ant build to allow a "release" build without debug and a "minimal" build that strips out a number of components.
  • Ticket #395 - OVA for JW5 - Replaced gapro example with updated gapro-2 javascript plugin

2. Changes to Google Analytics Support

2.1 Stopping OVA Params Being Appended To Tracking URLs

It is now possible to stop OVA adding a bunch of parameters to tracking URLs by setting the addParamsToTrackingURL config option to false as follows:

...
               "analytics": {
                   "google": {
                      "custom": {
                          "accountId": "UA-10158120-1",
                          "addParamsToTrackingURL": false,
                          "impressions": {
                             "enable": true
                          }
                      }
                   }
               },
...

This option can be seen in action  here.

2.2 Selective Firing of Tracking Events

It is now possible to only fire tracking events for those that have been declared. The useDefaultPaths option must be set to false as follows:

...
            "analytics": {
                "google": {
	                "custom": {
                        "accountId": "UA-10158120-1",
                        "useDefaultPaths": false,
                        "vpaid": {
                            "enable": true,
                            "started": "/ova-example/vpaid/started",
                            "complete": "/ova-example/vpaid/complete"
                        }
                    }
                }
            },
...

The code snippet above results in only VPAID "started" and "complete" events being tracked.

This option can be seen in action  here.

3. Disabling OVA Initiated Scaling of VPAID ads

If a VAST response has "scalable=true" set, then OVA will automatically attempt to scale the VPAID SWF resource to fit the player dimensions.

At times, this forced scaling impacts the way VPAID ads internally scale often resulting in a VPAID ad not rendering correctly.

It is possible to disable OVA auto-scaling via the following options:

...

      "ads": {
           "vpaid": {
               "enableLinearScaling": false,
               "enableNonLinearScaling": false
           },
           .....

These options can be found in action here -  disabling linear scaling,  disabling non-linear scaling.

4. The New Build Process

A new build process has been introduced in 1.0.1 RC2 to support a degree of customisation when building the OVA library or player related plugin SWFs. This allows the size of the resulting SWF to be more effectively controlled.

As part of this change, the OVA for AS3, OVA for Flowplayer and OVA for JW5 build processes have been moved completely to Ant and the old "shell script" build files (e.g. build.sh etc.) have been removed.

The new Ant build files are always located in the build directory of each distribution package:

ova.as3
    build
        build.properties
        build.xml
    src
        ...
ova.jwplayer.5x
    build
        build.properties
        build.xml
    src
        ...
ova.flowplayer
    build
        build.properties
        build.xml 
    src
        ...

4.1 Installing the OVA Source Files

By default, the OVA build process assumes that the source for all OVA products will be placed relative to each other in the same workspace. For example, if OVA for AS3, OVA for JW5 and OVA for Flowplayer were all to be built, the following directory structure is assumed by the build files:

workspace
    ova.as3  
         build
         lib
         src
         ....
    ova.flowplayer
         build
         lib
         src
         ....
    ova.jwplayer.5x
         build
         lib
         src
         ....

While it is possible to vary the locations of the packages and customise the build files accordingly (specifically the build.properties files in each distribution), the default structure is recommended as it means that minimal changes will be required to the build.properties files that accompany each build.xml ant script.

To install the source code for an OVA product either:

  • Download the required distribution package from the "Download the Latest" page or
  • Check out the source code directly from the OVA Subversion repository (see these  instructions for details on how to do that)

By default, the OVA for AS3 package is not required to build either OVA for Flowplayer or OVA for JW5 plugins SWFs - the default build commands use the pre-built OVA for AS3 library that is included with the OVA for JW5 or OVA for Flowplayer packages. However, if you wish to customise the build and reduce the size of the OVA plugin SWF, you will need to also install the OVA for AS3 package and build the OVA SWC separately.

4.2 Building OVA for AS3

Three forms of the OVA SWC can now be built:

  • A debug version that includes all of the standard OVA debug output (this is the default form)
  • A release version that excludes the debug output and associated debug library functions
  • A minimal version that excludes debug, prepackaged button resources,custom ad server functionality and Javascript callbacks

The following table illustrates how the size of the resulting OVA SWC varies across these three build types:

BUILD TYPE OVA SWC SIZE
debug (default) 317K
release 291K
minimal 278K

The components that are "excluded" by the minimal build can be customised via the build.properties file.

Note; If you build a "release" or "minimal" version of the OVA SWC that excludes the debug functions, any subsequent builds of OVA for Flowplayer or OVA for JW5 must also be "release" builds that exclude the "debug" functions otherwise the compiler will throw a "cannot find debug methods" style error message.

4.2.1 Customising the Build Properties

Before OVA for AS3 (or any OVA product) can be built, a number of environmental variables need to be set in the build.properties file that is located in the distribution `build directory.

For OVA for AS3, the FLEX_DIR variable is the only mandatory entry that needs to be set. It must point to the base directory of your Flex SDK install so that the compilers etc. can be located by the OVA build scripts.

FLEX_DIR = /Applications/flex_sdk_3

If you are intending on building an OVA product that uses OVA for AS3 (i.e. OVA for Flowplayer or OVA for JW Player) and you have not located the source for those products relative to the OVA for AS3 package, you can customise the locations of these products via the build.properties file. The default values in the file are:

OVA_JW5_BUILD_DIR = ../../ova.jwplayer.5x
OVA_FLOWPLAYER_BUILD_DIR = ../../ova.flowplayer
OVA_VPAID_BUILD_DIR = ../../ova.vpaid.ads

Finally, if you intend to build a "minimal" version of the OVA SWC, you can customise the components that are excluded in the build via the following variables in the build.properties file:

INCLUDE_CONNECTORS = false
INCLUDE_CALLBACKS = false
INCLUDE_BUTTONS = false

INCLUDE_CONNECTORS refers to those components that provide "custom ad server" implementations. If these are excluded, the only ad server/tag type that can be used in your OVA config is "direct"/"static ad tags", excluding types such as "OpenX", "AdTech", "OASIS" etc.

INCLUDE_CALLBACKS refers to the code in the OVA Library that triggers OVA Javascript callbacks. Excluding this component ensures that no Javascript callbacks are implemented.

INCLUDE_BUTTONS refers to the embedded default button images for the Skip Ad and Overlay close buttons. Excluding these components means that you have to use custom formats for these features when configuring OVA.

4.2.2 Building the OVA SWC

To build OVA for AS3 use the following command from the OVA for AS3 build directory:

ant <command>

where command can be any one of the following instructions:

  • help - lists all available build commands
  • build - does the default build - a debug version of the OVA SWC library
  • build-all - builds all three formats - debug, release and minimal OVA SWC libraries
  • build-debug - builds a debuggable version of the OVA SWC
  • build-release - builds a version of the OVA SWC that excludes any debug output
  • build-minimal - builds a minimal version of the OVA SWC that excludes a number of components (see below for details)
  • deploy - the default deploy option - builds and deploys the debug version of the OVA SWC to the OVA plugin lib directories so that they can use the SWC in their own build processes
  • deploy-debug - builds and deploys the debug version of the OVA SWC to the OVA plugin lib directories
  • deploy-release - builds and deploys the release version of the OVA SWC to the OVA plugin lib directories
  • deploy-minimal - builds and deploys the minimal version of the OVA SWC to the OVA plugin lib directories

Typically, to build the default version of the OVA SWC (that includes all components including debug), the following ant command is used:

ant build

To build and deploy the default OVA SWC to the OVA for Flowplayer and/or OVA for JW5 build workspaces, the following ant command is used:

ant deploy

Alternatively, if you wish to build and deploy a "release" version of the OVA SWC (that excludes debug), use:

ant deploy-release

And finally, if a "minimal" version of the OVA SWC is to be built and distributed to the OVA for Flowplayer and/or OVA for JW5 workspaces, use:

ant deploy-minimal

Upon the successful completion of a build task, you should see something that appears as follows:

ps-macbook-pro:build paulschulz$ ant deploy-minimal
Buildfile: /Users/paulschulz/workspace/ova/lt-svn/trunk/ova.as3/build/build.xml

build-minimal:
     [echo] Building the 'minimal' version of the OVA for AS3 SWC...
     [exec] Loading configuration file /Applications/flex_sdk_3/frameworks/flex-config.xml
     [exec] /Users/paulschulz/workspace/ova/lt-svn/trunk/ova.as3/dist/minimal/ova-as3-1.0.1.swc (278900 bytes)
     [echo] Build complete.

deploy-minimal:
     [echo] Deploying the 'minimal' SWC 'ova-as3-1.0.1.swc' to the specified OVA product directories...
     [copy] Copying 1 file to /Users/paulschulz/workspace/ova/lt-svn/trunk/ova.jwplayer.5x/lib
     [copy] Copying 1 file to /Users/paulschulz/workspace/ova/lt-svn/trunk/ova.flowplayer/lib
     [copy] Copying 1 file to /Users/paulschulz/workspace/ova/lt-svn/trunk/ova.vpaid.ads/lib
     [echo] Deployment complete.

BUILD SUCCESSFUL
Total time: 10 seconds
ps-macbook-pro:build paulschulz$

The OVA for AS3 build scripts will only deploy the library to OVA product areas that exist so if you only have OVA for JW5 installed, the OVA SWC will only be copied to that product's lib directory.

4.3 Building OVA for JW5

OVA for JW5 can now be built using ant build scripts. The build scripts are located in the build directory of the distribution package.

The OVA for JW5 SWF can be built using either one of two approaches:

  • Using the pre-built OVA SWF located in the distribution lib directory or
  • Using the local source tree of an installed OVA for AS3 package

In either case, to build OVA for JW5 use the following command from the OVA for JW5 build directory:

ant <command>

where command can be any one of the following instructions:

  • help - lists all available build commands
  • build - the default build that includes the standard OVA plugin related debug output - equivalent to the build-debug instruction
  • build-debug - the standard OVA build which results in OVA plugin related debug output being available
  • build-release - a reduced OVA build that excludes the plugin related debug output calls
  • build-local - the default local build - equivalent to build-local-debug
  • build-local-debug - the standard OVA build that includes the OVA plugin related debug output calls - built via a local version of the OVA for AS3 source tree
  • build-local-release - the reduced OVA "local" build that excludes the OVA plugin related debug output calls

The following table illustrates the difference in size between various forms of the OVA SWC and the OVA for JW5 plugin build:

OVA FOR JW5 BUILD TYPE OVA SWC "DEBUG" OVA SWC "RELEASE" OVA SWC "MINIMAL"
build-debug 228K (default) N/A N/A
build-release 219K 202K 194K

Note: You cannot build a "debug" version of the OVA for JW5 plugin with a "release" or "minimal" version of the OVA SWC (or source tree) because the OVA for AS3 debug functions will not be available for use by the plugin source code.

4.3.1 Using the Pre-Built OVA SWC

Being written

4.3.2 Using the Local OVA for AS3 Source Tree

Being written

4.4 Building OVA for Flowplayer

Being written