Data

[This is preliminary documentation and subject to change.] 

To transmit data to a viewer's receiver using File Transfer Services (FTS), or to unpack a compressed cabinet (CAB) file, use the trigger Data.

The Data trigger serves one of the two following purposes:

Syntax

trigger (1 "[<protocol>] ConnectionInformation") ;

Where

1
is the key denoting that the trigger is Data.
protocol
is an optional parameter that specifies the data transfer protocol. The default is FTS. The following lists the currently-defined protocols:

FTS.   Downloads a file using Microsoft File Transfer Service.
CAB.   Unpacks the specified cabinet file.

ConnectionInformation
Specifies the nature of the connection, depending on the protocol used.

If the protocol is CAB, ConnectionInformation is a Broadcast Architecture URL (Uniform Resource Locator) that specifies the cabinet file to unpack. For example: bpc://msnbc/myshow/cabfile.cab .

If the protocol is FTS, ConnectionInformation is a string that contains the IP address and port that the FTS data will be transmitted on. This address and port must be in the following format:

xxx.xxx.xxx.xxx:yyyy dirname [ timeout]

where

xxx.xxx.xxx.xxx
is the IP address.
yyyy
specifies the port.
dirname
specifies the directory name in which the transmitted files should be saved. Note that this value cannot contain subdirectories. For example, "msnbc" is a valid value for dirname, but "msnbc\MyShow" is not.
To store a transmitted file in a subdirectory of dirname, specify the subdirectory when the file is transmitted.
timeout
is an optional parameter that specifies a timeout interval, in minutes. After Timeout minutes have elapsed, the subdirectory is deleted. The default value is 120 minutes.

Remarks

If the protocol of the Data trigger is FTS, the base page of the interactive show must contain the enhancement control EnhCtrl. The control is defined as an HTML (Hypertext Markup Language) object and looks like this:

<!-- Here is the EnhCtrl control -->
<OBJECT CLASSID="clsid:3A263EF8-D768-11D0-911C-00A0C91F37E3"
WIDTH=0 HEIGHT=0 ID=EnhCtrl>
</OBJECT>

The control's presence in the enhancement creates a running instance of EnhCtrl so that it can direct the FTS data that the broadcast is sending, based upon the IP address and port defined in the trigger. If you already have created an instance of EnhCtrl in one of your enhancements, you should not create a second one.

Examples

The following trigger causes the enhancement control to unpack the cabinet file located at: "C:\Program Files\TV Viewer\Interactive Content\<random>\Msnbc\MyShow\MyFile.cab"

00:10:26:00 trigger (1 "<CAB> bpc://msnbc/myshow/myfile.cab") ;

In this example using the FTS protocol, the event dictates that prior to the 1 minute and 27 second mark in the interactive show, the enhancement control will receive a file at IP address 233.43.170.18, port 1718:

before 00:01:27.00 trigger (1 "<FTS> 233.43.170.18:1718 MyShow") ;