Active Channel FeaturesActive Channel Features*
*Contents  *Index  *Topic Contents

*Previous Topic: Active Channel Types
*Next Topic: Developing an Active Channel

Active Channel Features

The following sections explain the details of various Active Channel features, as well as what Web publishers need to know to take advantage of them.

Scheduled Updates and Server Loads

Web publishers can create a default schedule in the CDF file that Microsoft® Internet Explorer uses to determine when the channel information on the user's computer should be updated. Specifying a schedule with a range of valid update times can help to effectively manage server loads when Webcasting to Internet Explorer. The actual time Internet Explorer updates the channel is randomly selected from the valid time range for each update. The CDF file specifies the valid time range for updates by including the EARLIESTTIME and LATESTTIME elements as child elements of the SCHEDULE element. The INTERVALTIME element specifies how often, on average, the updates will occur. The following examples illustrate different update schedules for an Active Channel.

Note The shaded areas in the diagrams below represent the range of time during which the actual channel update will occur.

Daily Schedule

The schedule shown below would cause the channel to be updated every day at a random time between 2 A.M. and 6 A.M. Since the publisher didn't specify a start or end date, the schedule takes effect immediately and doesn't expire.

<SCHEDULE>
	<IntervalTime Day="1" />
	<EarliestTime Hour="2" />
	<LatestTime Hour="6" />
</SCHEDULE>

Daily Schedule

Hourly Schedule

For channels that Webcast extremely time-critical information, a channel may need to be updated many times during the day. The example below shows a channel that is updated four times per day. The actual updates occur sometime after the second hour of each six-hour interval. This schedule is set to expire on December 31, 1999, at which point no further updated information will be downloaded for this channel.

<SCHEDULE STOPDATE="1999-12-31">
	<IntervalTime Hour="6" />
	<EarliestTime Hour="2" />
	<LatestTime Hour="6" />
</SCHEDULE>

Hourly Schedule

Weekly Schedule

A schedule that updates a channel once a week is shown below. Because this weekly schedule started on a Monday, this channel will be updated every Monday sometime between 2 A.M. and 6 A.M. until it reaches the expiration date. This schedule takes effect on Monday, September 29, 1997, and expires on December 31, 1999.

<SCHEDULE StartDate="1997-09-29" STOPDATE="1999-12-31">
	<IntervalTime Day="7" />
	<EarliestTime Hour="2" />
	<LatestTime Hour="6" />
</SCHEDULE>

Weekly Schedule

By default, users accessing the Internet with a dial-up connection need to manually update their channels by either right-clicking on a logo image representing a channel subscription and selecting the Update Now option from the context menu, or by selecting the Update All option from the Favorites menu. Modem users can also configure their subscriptions to automatically dial up their Internet connection on a regular basis without any user intervention. To set up automatic updates over a modem, the user must select the "Dial as needed..." check box in the Schedule tab of the Channel Properties. Once automatic updates are enabled by modem users, the publisher's recommended schedule or a standard schedule (daily, weekly, monthly) can be used. If the "Dial as needed..." feature is not enabled, the channel updating schedule is effectively manual for modem users. Users connected to a network should use the publisher's recommended schedule specified in the CDF file for updating channels.

Personalized Channels

The HTTP cookie standard provides a powerful mechanism for personalizing Web content. The CDF file integrates this standard with Internet Explorer. A Web publisher who wants to create a personalized channel can use regular HTTP cookies to deliver personalized information to users by dynamically generating a custom CDF file based on user preferences. The CDF file thus leverages the existing cookie standard for personalized HTML on the Web and takes it one step further by allowing personalized channels for individual users. Web publishers can create personalized channels for users or groups of users by performing the following tasks:

  1. The first time users visit a channel, present them with a form asking for their preferences, as they relate to the channel.
  2. Store those user preferences on the Web server or within a cookie on the user's computer.
  3. Whenever Internet Explorer 4.0 subsequently requests an updated CDF for that user, the server could either download an existing CDF file or dynamically generate one that matches the user's profile information stored locally in the cookie.

Web publishers using active server pages with Microsoft Internet Information Server (IIS) to dynamically generate personalized CDF files (named with an .asp extension) must insert the following line at the top of the CDF file:

<% Response.ContentType = "application/x-cdf" %>

Note As an alternative for IIS 4.0 site authors, the CDF file can be created with a .cdx extension instead of .asp, and the MIME content type line above can be omitted.

This ensures that the server will return the correct MIME/content type to the browser. Without this line, the browser will not perform the expected actions for CDF files. For example, the CDF file might display as text in the browser window rather than launch the Add Channel dialog box.

Password-Protected Active Channels

Web publishers implementing HTTP authentication in their channels need to make sure Internet Explorer has the user name and password so it can update the channel content without user intervention. To accomplish this, publishers can force Internet Explorer to ask users for this information during the channel subscription setup process by using the LOGIN element in the CDF file. When the channel subscription wizard encounters this element in a CDF file, it will prompt users to enter their user name and password. When the channel setup is complete, the user name and password are stored with the channel's subscription properties. Therefore, subsequent CDF files sent to that user for updating the channel don't require the LOGIN element. Internet Explorer will automatically authenticate HTML pages when using Basic, NTLM, RPA, and HTML forms.

If the authentication process is based on an HTML form, Internet Explorer needs to be able to fill out the form correctly. For the login process to be successful, follow the guidelines just mentioned for the HTTP authentication, and make sure the HTML form complies with these requirements:

Note All other elements on the form will be posted with their default values.

Page-Hit Logging

Important Note The page-hit logging feature enables Active Channels to collect the same page-hit information from offline users as they can already collect from online users. This feature can easily be disabled by a home user or a corporate administrator, if desired.

Page-hit logging collects information for Web publishers about activity on their channel pages by logging page hits in the browser, screen saver, and Active Desktop in both offline and online modes. The page-hit engine allows the collection of data for the time and date that the channel pages were loaded into the browser.

Client-side logging

Using the CDF file, publishers can tightly control exactly what page hits are logged. They can also define the maximum time to archive the data. To enable page-hit logging of a channel, the CDF file should contain the LOG element, indicating what items are to be logged, and the LOGTARGET element, indicating where the log file should be sent. Web publishers should use discretion when using the LOG element in the CDF file and select specific items for logging. Be aware that a large number of items marked for logging could potentially create large log files, which could raise bandwidth issues for the user when the log file is uploaded to the LOGTARGET URL. The uploading of the log file back to the server occurs when the CDF file is updated. For more information about the LOG and LOGTARGET elements, including examples, see the CDF Reference for Internet Explorer.

Note Items marked for logging must have an HREF attribute that falls under the URL of the CDF file or the path specified in the LOGTARGET element.

Web publishers receive the page-hit logging files in the directory (URL) specified in the LOGTARGET element, in "Extended Log File Format," as defined by the World Wide Web Consortium (W3C). Every page hit that is logged has two types of records associated with it. The first record is a "header" that contains the URL of the channel item being logged. The records subsequent to the header are details of the page hits. Here is a sample record:

#Fields: s-URI 
http://www.foosports.com/news/default.htm 
#Fields: c-context c-cache c-date c-time c-duration  
N 1 06-02-1997 19:12:37 00:00:04 
T 1 06-03-1997 11:38:04 00:00:23 

These records indicate that the URL "http://www.foosports.com/news/default.htm" was viewed in normal mode on June 2, 1997, from the cache at 7:12 P.M. for four seconds, and again in full-screen view on June 3 at 11:38 A.M. for 23 seconds. The context value can be "N", "T", "D", or "S" to indicate whether the URL was viewed in a normal browser window, full screen view (Theater View), as an Active Desktop item, or in the Internet Explorer screen saver, respectively. The value for the cache field can be "1" to indicate the URL was retrieved from the local cache or "0" to indicate the URL was retrieved from the site itself. The Web publisher can filter out online or offline records by using the SCOPE= attribute of the LOGTARGET element. The date field shows the date on which the URL was viewed. The time value indicates what time (on the local computer) the URL was viewed, and the duration indicates how long the user viewed the page. The time and duration fields are in HH:MM:SS format, while the date is in MM-DD-YYYY format.

Server-side log file processing

Web publishers that receive page-hit log files can extract and process the data listed above in any way they choose. However, Microsoft provides the following two methods for parsing the information in the log file:

The following Perl script can be used to parse the log file.

require("cgi-lib.pl");
$logfile='log/cdfpost.dat';
$method=$ENV{REQUEST_METHOD};
$clen=$ENV{CONTENT_LENGTH};
print "Content-type: text/html\n\n"; 
print "<HTML>\n";
&open_logfile;
    &print_env;
&ProcessRawdata;
print "Just to show we got here too <BR>\n";
print "</HTML>\n";
sub ProcessRawdata
{
    &add_logdata;
    close(OUT);
}

sub print_env
{
    print OUT "<!--Request method : ", $method, "\n";
    print OUT "Server : ", $ENV{SERVER_NAME}, "\n";
    print OUT "Script : ", $ENV{SCRIPT_NAME}, "\n";
    print OUT "Client : ", $ENV{REMOTE_ADDR}, "\n";
    print OUT "Content-length : ", $clen, "-->\n";
}

sub open_logfile
{
    if (-e $logfile) { 
        open (OUT, ">>$logfile");
    } else {
        open (OUT, ">$logfile");
    }
}

sub add_logdata
{
    open(IN, "-");
    binmode IN;

    while ($clen) {
        print OUT getc(IN);
        $clen=$clen-1;
    };
    print OUT "\n";
}

When running Microsoft Internet Information Server (IIS), you can use the ISAPI DLL to parse the log file. For more information about how to accomplish this, see the Readme file located in the inetsdk\samples\iislog directory. Note that this sample also demonstrates how to decompress encoded posted strings, and the associated CDF file must contain the HTTP-EQUIV element as follows:

<LOGTARGET HREF="http://www.mysite.com/logging/" METHOD="POST">
    <HTTP-EQUIV NAME="encoding-type" VALUE="gzip">
</LOGTARGET>

Additional information is available on how to programmatically access the log file in the page-hit logging API reference.

Active Channel Screen Savers

As part of the CDF file, the publisher may designate a specific URL to be downloaded as content for the Channel Screen Saver. This screen saver supports standard HTML pages, including scripting, images, Java applets, and ActiveX™ Controls. Screen saver content pages can include scripting and Dynamic HTML support to provide a page that dynamically changes the content, style, and position of the HTML elements on the screen. These pages are displayed on the full screen during computer idle times. The Channel Screen Saver cycles through enabled channel screen savers, allocating the same amount of display time to each one (by default, 30 seconds per channel). A channel's screen saver page is automatically included in the rotation when the channel is subscribed to, or subsequently through the Screen Saver Properties dialog box. If a user subscribes to a channel containing a screen saver page and the Channel Screen Saver isn't currently selected, the following dialog box will be displayed.

Screen Saver Confirmation

Publishers can enable a specific URL as a screen saver page by including the USAGE element in a channel's CDF file. In the following example, the HTML page at URL "http://www.foosports.com/screensaver.htm" is defined as the screen saver for the channel in which it occurs.

<ITEM HREF="http://www.foosports.com/screensaver.htm">
    <USAGE VALUE="ScreenSaver"></USAGE>
</ITEM>

Note The screen saver item's USAGE element must be a child of the top-level CHANNEL element. If the USAGE element occurs within a nested CHANNEL element representing a subchannel, the screen saver will be ignored.

Unlike many common screen savers, the user can move the mouse and click objects without immediately dismissing the Internet Explorer screen saver. Clicking a link opens a new browser window and dismisses the screen saver. Pressing a key or clicking on a location that is not an image, link, or object also closes the screen saver. Moving the mouse causes the screen saver toolbar to appear in the upper-right corner of the screen. From this toolbar, the user can close the screen saver or access the screen saver properties.

Active Channel screen saver

Category Folders

The desktop Channel Bar contains some category folders, such as News and Technology, Sports, Business, Entertainment, and Lifestyle and Travel, for grouping channels that have similar types of content. When the user clicks one of these categories, the browser opens a page of all the channels in that category and their associated branded logo images. Selecting one of these channels causes the browser to navigate to the associated channel's main page. The Add Channel dialog box is automatically displayed if the user does not already subscribe to the channel.

Category folders


Up Top of Page
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.