Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Создание Активных Каналов на основе CDF-файлов для Internet Explorer 4.0.

Перевод АКДИ "Экономика и жизнь" © 1997 All rights reserved.

 

В статье рассказывается об Активных Каналах (Active Channels) Internet Explover 4.0. Для того чтобы помочь Web-издателям (Web-публикаторам - поставщикам информации в сети) создать свои собственные Активные Каналы с помощью файлов CDF (Channel Definition Format), дается описание свойств и особенностей технологии, приводятся примеры, иллюстрации и рекомендации.

Web-вещание

Что такое Активный Канал?

Типы Активных Каналов

Свойства и особенности Активных Каналов

Создание Активных Каналов

Оптимизация Активных Каналов

Руководство по созданию логотипов Активных Каналов

Использование Dynamic HTML в Активных каналах

О совместимости с технологией Netcaster

Web-вещание

В настоящее время поставщики Web-информации имеют возможность распространять информационное наполнение своим пользователям на регулярной основе с помощью таких новейших технологий как "push" и "pull" (технологии принудительного "проталкивания" и, соответственно, "вытягивания" информации), обобщенно называемых Web-вещанием (Webcasting). Эти технологии дают возможность пользователям автоматически получать наиболее важную для них информацию и быть вовремя оповещенными об ее изменении, а поставщики Web-информации получают улучшенную обратную связь с потребителем, что позволяет лучше понять, что представляет собой усредненный "пользователь".

MS Internet Explorer 4.0 (MSIE 4.0) поддерживает эти новые, основанные на стандартах, технологии, выступая в роли "инфоприемника" ("информационный приемник" - по аналогии с радиоприемником). Web-сайты смогут "вещать" на инфоприемники (такие как MSIE 4.0), если "настроят" их на определенный Активный Канал. В данной статье описываются Активные Каналы и приводятся примеры, иллюстрирующие процесс их создания. Для получения детального описания элементов и атрибутов CDF-файла см. CDF Reference for Active Channels Подробная информация о технологии Web-вещания присутствует на Web-сайте Microsoft по адресу http://www.microsoft.com/ie/ie40/press/push.htm.

Что такое Активный канал?

Активный канал - это Web сайт, который в состоянии вещать на программы-инфоприемники, такие как IE 4.0. Механизмом, дающим IE 4.0 такую возможность, является файл CDF (Channel Definition Format). СDF-файл содержит индекс ресурсов, доступных на канале, а также рекомендации по частоте обновления информации на компьютере пользователя.

Типичный CDF файл содержит элемент верхнего уровня CHANNEL, определяющий канал в целом, и элементы типа ITEM, определяющие непосредственное наполнение канала. Последующие декларации элемента CHANNEL определяют т.н. подканалы, что позволяет авторам создавать иерархическую структуру канала. Элементы TITLE и ABSTRACT используются для того, чтобы описать наполнение каждого элемента или подканала. Авторы также имеют возможность использовать элемент LOGO для того, чтобы связать с каждым элементом канала или с самим каналом картинку.

Что это дает Web-публикаторам

Web-публикаторы, предлагая информационное наполнение в виде канала, дают пользователям улучшенную возможность просмотра информации. Созданный канал может доставлять в клиентский браузер следующие элементы:

Широкие иконки и логотипы, представляющие Активный Канал в панели Channel Bar рабочего стола Карту сайта, описывающую содержание Активного Канала Web-страницы, содержащие текст, изображения, элементы управления ActiveX. Эти страницы могут иметь и специальное назначение, например, являться страницами заставок в Screen Saver (хранитель экрана) или быть элементами Active Desktop (активная рабочая область).

Традиционный Web-сайт может быть превращен в активный канал с минимальными усилиями со стороны Web-публикатора. Ниже перечислено, что необходимо для этого сделать:

Создать логотипы, которые будут изображаться на панели Channel Bar рабочей области и панели Channel Explorer Bar браузера. Создать CDF-файл, в котором перечислены ресурсы канала (логотипы, описания, HTML-страницы) Поместить CDF-файл на НТТР-сервере и создать на HTML-странице сайта кнопку, связанную с этим файлом. Те пользователи, которые нажмут эту кнопку, автоматически добавят канал на панель Channel Bar своего рабочего стола и смогут выбрать опции подписки на канал. Типы Активных Каналов

В этом разделе описаны основные типы каналов. Каждый из этих типов, в зависимости от ограничений коммуникационных линий связи, позволяет использовать те или иные возможности архитектуры доставки информации, заложенной в IE. Web-публикаторы, создав канал, смогут получить преимущества, основанные на трех ключевых достоинствах IE 4.0:

Уведомление Для того, чтобы визуально уведомить пользователя об изменениях в содержимом канала с момента последнего обновления, IE 4.0 использует красный маячок, напоминающий звездочку. Пользователь имеет также возможность выбрать такую услугу, как автоматическая посылка E-mail сообщения при изменении содержания канала.
Карта Сайта Панель Channel Explorer Bar может отображать схему навигации, определенную в CDF-файле канала. Визуальное представление иерархической структуры канала помогает пользователю эффективно перемещаться по сайту в поисках наиболее нужной ему информации
Предкэширование (Offline Content Caching) Internet Explorer 4.0 обладает возможностью локально кэшировать (автоматически загружать на компьютер пользователя) ресурсы, определенные в CDF-файле. Это дает возможность пользователю просматривать содержание канала в автономном режиме даже без подключения к Интернет (offline).
Важное замечание: эта возможность доступна только тем пользователям, которые в момент подписки сохранили опцию по умолчанию "загружать содержимое" ("download content").

Карта канала и Уведомление (Channel Sitemaps and Notifications)

Перечисленные выше варианты, конечно, не исключают друг друга и могут сочетаться в любой комбинации, предоставляя конечному пользователю широкий спектр возможностей. Однако следует заметить, что предоставляемая гибкость в тоже время дает авторам канала возможность создания нереальных каналов (например, дает возможность определить канал, который будет пытаться реплицировать на локальный диск пользователя громоздкий сайт). Как правило, любой канал должен подпадать под одну из следующих категорий:

Каналы новостей (News Channels)

Назначение такого канала - обеспечить бесперебойную доставку пользователю горячих новостей. Используя CDF-файл, канал время от времени доставляет на компьютер пользователя структурированный набор текущих новостей. Само получение информации осуществляется посредством загрузки на диск компьютера пользователя ресурсов, указанных в CDF-файле, с последующим их просмотром в автономном режиме. Новостной канал использует все три ключевые возможности, предоставляемые Internet Explorer: уведомление, карта сайта и кэширование содержания. Разрабатывая наполнение канала новостей, помните о следующем:

Каждое информационное сообщение должно быть самодостаточной страницей Каждая страница должна быть посвящена только одному сообщению Не используйте фреймы Элемент TITLE страницы выступает в качестве заголовка сообщения.Элемент ABSTRACT страницы дает краткое содержание сообщения. Каждая страничка должна быть небольшой по размеру Страница должна состоять преимущественно из текстового сообщения, для создания спецэффектов используйте Dynamic HTMLИзображения, если от них нельзя отказаться вовсе, должны использоваться повторно, особенно это касается больших картинок.

Использование CDF-файла позволяет Web-публикаторам организовать отдельные элементы канала в виде иерархии подканалов. Элемент TITLE каждого подканала выступает как классификатор элементов, составляющих подканал. По умолчанию подканалы и элементы канала, которые описаны в CDF-файле, показываются в общих чертах в панели Channels Explorer Bar. В дополнение ко всем навигационным механизмам, заложенным авторами в страницы канала, пользователь имеет возможность раскрывать и захлопывать папки подканалов, переходить произвольным образом на любые элементы канала.

Пример: Информационное агентство "Action News" подготовило в виде отдельных HTML-страниц несколько сообщений касающихся новостей бизнеса.

Сегодняшние бизнес новости:

Дневные итоги фондового рынка URL: http://www.action.com/channel/bus/bus001.htm Title: "Рынок" Abstract: "Основные новости на рынке." Статья по экономикеURL: http://www.action.com/channel/bus/bus002.htm Title: "Бизнес нирвана: низкая инфляция, высокий уровень роста" Abstract: "Совпадение определенных обстоятельств привело к лучшим условия для бизнеса за последние 25 лет." Статья посвященная росту акций, связанных с технологиями URL: http://www.action.com/channel/bus/bus003.htm Title: "Небывалый рост тех-акций компании "XYZ Corp. News" Abstract: "Корпорация "XYZ Corp. News", испытывавшая в этом квартале неожиданный рост, набирает вес."

Страницы, как показано ниже, в основном состоят из текста и используют один и тот же файл изображения логотипа агентства:

В целях иллюстрации, в данном примере канал состоит только из трех приведенных выше новостей, организованных в виде единственного подканала, называющегося "Рынок". Публикатор может доставлять эти статьи, подготовив следующий CDF-файл:

<?XML VERSION="1.0" ENCODING="UTF-8"?> <CHANNEL HREF="home.htm" BASE="http://www.action.com/channel/" > <TITLE>Action News</TITLE> <ABSTRACT>Description of the Action News Channel</ABSTRACT> <LOGO HREF=837/"ActionLogo16x16.gif" STYLE="ICON"/> <LOGO HREF=837/"ActionLogo32x80.gif" STYLE="IMAGE"/> <SCHEDULE STARTDATE="1997-10-17" ENDDATE="1997-10-17"> <INTERVALTIME DAY="1"/> </SCHEDULE> <CHANNEL HREF="bus001.htm"> <TITLE>The Market</TITLE> <ABSTRACT>"Summary of today's market news"<ABSTRACT> <LOGO HREF=837/"marketLogo.gif" STYLE="ICON"/> <ITEM HREF="bus002.htm" LASTMOD="1997-10-17T11:12"> <TITLE>Business nirvana: low inflation, high growth</TITLE> <ABSTRACT>Best environment for business in 25 years due to convergence of factors.</ABSTRACT> <LOGO HREF=837/"TopStoryLogo.gif" STYLE="ICON"/> </ITEM> <ITEM HREF="bus003.htm" LASTMOD="1997-10-17T11:12"> <TITLE>Tech stocks soar on XYZ Corp. news </TITLE> <ABSTRACT>XYZ Corp. showed unexpected growth this quarter, dragging up prices through the technology segment.</ABSTRACT> <LOGO HREF=837/"TopStoryLogo.gif" STYLE="ICON"/> </ITEM> </CHANNEL> </CHANNEL>

Пользователь, подписавшийся на данный канал, увидит на экране своего браузера следующую картинку:

Поскольку, в описании канала в CDF-файле ни один из элементов не имеет атрибута PRECACHE="NO" в элементе ITEM, все перечисленные страницы будут кэшироваться (автоматически загружаться на компьютер пользователя) во время каждого сеанса обновления. Тем самым, каждая страница может просматриваться в автономном режиме, конечно в том случае, если пользователь во время оформления подписки указал, что желает получать содержимое канала.

"Иммерсионные" каналы (Immersion Channels)

Иммерсионный канал предоставляет пользователям авторскую оболочку, дающую возможность навигации (в предположении, что панель Channels Explorer Bar спрятана). Все содержание канала предкэшируется, и следовательно доступно в автономном режиме.
Важно отметить, что для данного типа каналов ни индивидуальные элементы канала, ни подканалы на показываются в панели браузера Channels Explorer Bar. В данном случае назначение CDF-файла состоит исключительно в том, чтобы указать ресурсы канала, которые нужно загружать на компьютер пользователя, а также для уведомления пользователя об изменении содержания. Загрузка содержимого канала на компьютер пользователя помогает улучшить производительность работы в online режиме, а также предоставляет возможность просмотра в автономном режиме.
Так же, как и в случае новостного канала, авторы определяют элементы, которые подлежат периодическому обновлению, и устанавливают временные интервалы, когда это необходимо сделать. Однако, в отличии от новостного канала, каждый элемент, описываемый в CDF-файле, должен иметь следующий дочерний элемент:

<USAGE VALUE="None"></USAGE>

Этот элемент предписывает Internet Explorer 4.0 не показывать элементы и подканалы в панели Channels Explorer Bar, но в тоже время предписывает загружать и предкэшировать их. В CDF файле можно указать для предкэширования также и другие ресурсы, отличные от HMTL страниц, такие как изображения и элементы управления ActiveX. Поскольку изначально каналы такого типа предназначены для работы в автономном режиме, то определяя величину наполнения канала, необходимо четко представлять своего конечного потребителя, какими коммуникационными линиями подключения к Интернет он обладает.

Пример: Представим себе "иммерсионный" канал, представляющий собой игру в лабиринт. Лабиринт состоит из ряда связанных между собой комнат, представляемых HTML-страницами. При каждом последовательном обновлении авторы канала динамически генерируют новый CDF-файл, в котором описано новое состояние лабиринта.

Соответствующий CDF-файл может выглядеть примерно так:

<?XML VERSION="1.0" ENCODING="UTF-8"?> <CHANNEL HREF="home.htm" BASE="http://www.gamer.com/channel/" > <TITLE>The Castle</TITLE> <ABSTRACT>A always changing maze of rooms for you to explore</ABSTRACT> <LOGO HREF=837/"Castle16x16.gif" STYLE="ICON"/> <LOGO HREF=837/"Castle32x80.gif" STYLE="IMAGE"/> <SCHEDULE STARTDATE="1997-10-17" ENDDATE="1997-10-17"> <INTERVALTIME DAY="1"/> </SCHEDULE> <ITEM HREF="room01.htm" LASTMOD="1997-10-17T11:12"> <USAGE VALUE="None"></USAGE> </ITEM> <ITEM HREF="room02.htm" LASTMOD="1997-10-17T11:12"> <USAGE VALUE="None"></USAGE> </ITEM> <-- a list of additional items --> <ITEM HREF="roomNN.htm" LASTMOD="1997-10-17T11:12"> <USAGE VALUE="None"></USAGE> </ITEM> </CHANNEL>

Каналы уведомлений (Notification Channels)

Канал данного типа служит только для уведомления пользователя об изменении содержания сайта и предоставления пользователю навигационной схемы доступа к новой информации (посредством CDF-файла) без загрузки содержимого канала на компьютер пользователя. CDF-файл такого канала подобен CDF-файлу новостного канала за исключением того, что у каждого элемента и подканала атрибут PRECACHE= явным образом установлен в "No".
Структура элементов и подканалов изображается в панели Channels Explorer Bar, однако содержимое канала будет доступно только в режиме online.
Очень важно, чтобы авторы канала четко указали пользователю, что данный канал создан специально для уведомления об изменении содержания сайта, и что само содержимое канала будет доступно только в режиме online. Как и во всех каналах, при изменении содержимого на логотипе канала появляется мигающий "маячок".

Пример: Некая корпорация хочет создать канал для того, чтобы информировать своих сотрудников о последних новостях, связанных с их службой, политике фирмы, приказах, распоряжениях и т.п.

Ниже приводится возможный вариант CDF-файла. Для упрощения приведен только подканал "Услуги, предоставляемые сотрудникам компании".

<CHANNEL HREF="home.htm" BASE="http://www.corp.com/channel/" PRECACHE="No"> <TITLE>Corporate Channel</TITLE> <ABSTRACT>CorpCo's Corporate Channel</ABSTRACT> <LOGO HREF=837/"CorpLogo16x16.gif" STYLE="ICON"/> <LOGO HREF=837/"CorpLogo32x80.gif" STYLE="IMAGE"/> <SCHEDULE STARTDATE="1997-10-17" ENDDATE="1997-10-17"> <INTERVALTIME DAY="1"/> </SCHEDULE> <-- omitted subchannels --> <CHANNEL HREF="services.htm" PRECACHE="NO"> <TITLE>Employee Services</TITLE> <ABSTRACT>Employee services from CorpCo</ABSTRACT> <LOGO HREF=837/"CategoryLogo.gif" STYLE="ICON"/> <ITEM HREF="companyStore.htm" PRECACHE= "NO" LASTMOD="1997-10-17T11:12"> <TITLE>Company Store</TITLE> <ABSTRACT> Offerings from the Company Store </ABSTRACT> <LOGO HREF=837/"BulletLogo.gif" STYLE="ICON"/> </ITEM> <ITEM HREF="StockServices.htm" PRECACHE= "NO" LASTMOD="1997-10-17T11:12"> <TITLE>Stock Services</TITLE> <ABSTRACT>Buying and selling CorpCo stock</ABSTRACT> <LOGO HREF=837/"BulletLogo.gif" STYLE="ICON"/> </ITEM> <ITEM HREF="Career.htm" PRECACHE= "NO" LASTMOD="1997-10-17T11:12"> <TITLE>Career Center</TITLE> <ABSTRACT>Job opportunities at CorpCo</ABSTRACT> <LOGO HREF=837/"BulletLogo.gif" STYLE="ICON"/> </ITEM> <ITEM HREF="Handbook.htm" PRECACHE= "NO" LASTMOD="1997-10-17T11:12"> <TITLE>Employee Handbook</TITLE> <ABSTRACT>Rules and regulations for CorpCo Employees</ABSTRACT> <LOGO HREF=837/"BulletLogo.gif" STYLE="ICON"/> </ITEM> <ITEM HREF="Cafeteria.htm" PRECACHE= "NO" LASTMOD="1997-10-17T11:12"> <TITLE>CafeteriaMenus</TITLE> <ABSTRACT>Today's Eats </ABSTRACT> <LOGO HREF=837/"BulletLogo.gif" STYLE="ICON"/> </ITEM> <ITEM HREF="Vacation.htm" PRECACHE= "NO" LASTMOD="1997-10-17T11:12"> <TITLE>Vacation and Sick Reporting </TITLE> <ABSTRACT>Vaction and Sick Day Reporting Form </ABSTRACT> <LOGO HREF=837/"BulletLogo.gif" STYLE="ICON"/> </ITEM> </CHANNEL> <-- omitted subchannels --> </CHANNEL> Гибридные каналы (Hybrid Channels)

Гибридные каналы представляют собой ту или иную комбинацию указанных выше типов. При создании таких каналов придерживайтесь следующих правил:

Принимайте во внимание ограничения коммуникационных линий подключения к Интернет ваших пользователей. Суммарный дневной объем загрузки не должен выходить за разумные границы. Это касается всех типов каналов. Объединяйте элементы в отдельные подканалы по признаку того, могут ли они просматриваться в автономном режиме, или же они доступны только в режиме online. Следовательно, подканалы гибридного канала должны принадлежать к одному из трех основных типов, рассмотренных выше. Например, некий канал, распространяющий новости для автономного просмотра и одновременно предоставляющий навигационную карту сайта, может выглядеть примерно так:

Рекомендации по проектированию Активных Каналов

Для того, чтобы в полной мере использовать возможности "push"-технологии, заложенной в Internet Explorer 4.0, каналы должны с одной стороны быть невелики по размерам, чтобы минимизировать время загрузки, а с другой - давать пользователю возможность полноценной работы в автономном режиме.
При создании своего Активного Канала придерживайтесь следующих правил:

Проектируйте ваш канал так, чтобы он попадал под один из рассмотренных выше типов. Конечно, всегда бывают исключения, но все же... Каналы, предназначенные для автономного использования (например, новостные и иммерсионные), должны учитывать ограничения коммуникационных линий. Если ваш потенциальный пользователь для доступа к Интернет использует модем, то каждое обновление содержимого канала не должно превышать 0.5-1 MB, и чем эта величина меньше, тем лучше. В идеальных условиях с модемом 28.8 К, 1 MB может быть загружен примерно за 6 минут (оценки, приведенные здесь и далее, слишком оптимистичны для российских условий - прим. переводчика). На практике, в зависимости от линий связи и вашего сервера, время загрузки может достигать 10 минут.
В приведенной ниже таблице для 28.8K модема указаны время загрузки при различных условиях:
Количество500K500K1 MB1 MB
каналов(ideal) (typical) (ideal) (typical)
26 мин.10 мин.12 мин.20 мин.
412 мин.20 мин.24 мин.40 мин.
824 мин.39 мин.49 мин.80 мин.
1236 мин.59 мин.73 мин.120 мин.

Замечание Размер показывает средний объем принимаемых данных на один канал.

Активный канал должен быть по возможности самодостаточным, т.е. необходимо минимизировать количество переходов по ссылкам, которые доступны только в online режиме. Вполне вероятно, что пользователь скоро пошлет вас подальше, если каждый раз при работе в автономном режиме его будут подталкивать к online подключению. Это означает, что количество переходов на не кэшируемые ссылки или нужно минимизировать, или сделать эти ссылки в автономном режиме невидимыми. Для определения режима работы (offline или online) можно использовать скрипты и, соответственно, динамически менять содержание страниц, используя динамический HTML (Dynamic HTML). Старайтесь персонифицировать каналы настолько, насколько это возможно. Публикатор может предлагать для каждого пользователя свой персональный канал посредством индивидуального CDF-файла (используя, например, информацию о предпочтениях пользователя, доставляемую через "cookies"). Каналы, основанные на персональных CDF-файлах, обладают более высокой скоростью доставки, поскольку обеспечивают пользователя только необходимым ему наполнением. Генерировать индивидуальные CDF-файлы так же просто, как предлагать персональные домашние странички, используя скрипты на стороне сервера (server-side scripting). Достоинства и особенности Активных каналов

В последующих разделах детально объясняются особенности Активных Каналов и то, что необходимо знать Web-публикаторам, чтобы полноценно использовать их достоинства.

Плановые обновления содержания и нагрузка на сервер Персонифицированные каналы и пароли Активные Каналы, защищенные от несанкционированного доступа Регистрация обращений к страницам Хранители экрана на основе Активных Каналов Папки категорий Плановые обновления содержания и нагрузка на сервер

Web-публикаторы могут указать в CDF-файле, как часто по умолчанию будет обновляться содержимое канала на компьютере пользователя. Задание плана обновления в виде временного диапазона позволяет эффективно управлять нагрузкой.
Точное время каждого обновления Internet Explorer выбирает случайным образом в пределах указанного временного интервала. Временной интервал обновлений указывается в CDF-файле с помощью дочерних элементов EARLIESTTIME и LATESTTIME родительского элемента SCHEDULE. Элемент INTERVALTIME определяет как часто, в среднем, будут происходить обновления. Приведенные ниже примеры иллюстрируют различные возможности планировки обновлений Активного канала.

Обратите внимание Темная область на показанной ниже диаграмме представляет собой временной интервал, в течении которого будет непосредственно происходить обновление.

Ежедневное Обновление

План обновлений, показанный ниже, предписывает каналу обновляться каждый день в произвольный момент времени в интервале между 2 и 6 часами утра. Поскольку дата начала и дата конца плана не определены, план обновлений вступит в силу немедленно и не имеет даты окончания.

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

Почасовое обновление

Для каналов, созданных для доставки "горячих" новостей, важно обновляться несколько раз в день. Ниже показан пример канала, который обновляется четыре раза в день. Непосредственно обновление происходит в произвольный момент времени в течении второго получаса каждого шестичасового интервала. Указано, что план обновлений теряет силу 31 декабря 1999.

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

Еженедельное обновление

План еженедельных обновлений показан ниже. Поскольку указанная дата начала обновлений приходится на понедельник, канал будет обновляться каждый понедельник в произвольный момент времени между 2 и 6 часами утра. Обновления начнутся в понедельник 29 сентября 1997 и прекратятся 31 декабря 1999.

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

По умолчанию те пользователи, которые подключаются к Интернет через dial-up, должны самостоятельно обновлять свои каналы. Это достигается или посредством нажатия правой кнопки мыши на логотипе канала и выборе опции контекстного меню "Обновить Сейчас" (Update Now), или выбором опции "Обновить Все" (Update All) в меню Favorites. Пользователи, использующие модем, имеют возможность сконфигурировать свои настройки так, чтобы автоматически осуществлять соединение с Интернет без какого-либо участия пользователя. Для этого пользователь должен в закладке Schedule окна свойств канала (Channel Properties) установить выключатель (check box) "Dial as needed..." в положение "включено". Как только эта возможность активирована, вступает в силу тот план обновлений, который предлагается поставщиком канала в CDF-файле. В противном случае пользователь будет вынужден самостоятельно обновлять содержимое канала.
Пользователям, подключенным к сети постоянно, следует придерживаться рекомендуемому поставщиком канала плану обновлений, определенному в CDF-файле.

Персонифицированные каналы

Стандарт НТТР-"cookie" предлагает мощный механизм персонификации информационного наполнения. CDF-файл интегрирует этот стандарт с Internet Explorer. Web-публикаторы, желающие создать персонифицированный канал могут использовать обычные НТТР-"cookie" для того, чтобы доставлять пользователю индивидуальную информацию. Это достигается динамической генерацией CDF-файла, основанной на предпочтениях пользователя. Таким образом, CDF-файл использует текущий стандарт персонификации HTML cookie и делает следующий шаг вперед, предлагая персонифицированные каналы индивидуальным пользователям. Web-публикаторы могут создать персональный канал пользователя или группы пользователей, выполнив следующее:

Во время первого обращения пользователей к странице канала, предложить им заполнить форму, в которой выясняются их индивидуальные предпочтения. Сохранить эту информацию или на Web-сервере или на компьютере пользователя в виде cookie. При каждом запросе за обновленным CDF-файлом, сервер может или загрузить существующий CDF-файл или динамически его создать на основе информации, локально сохраненной в cookie.

Web-публикаторы, которые используют активные серверные страницы (active server pages, ASP) на базе Microsoft Internet Information Server (IIS) для динамической генерации CDF-файлов (имеющих расширение .asp), должны в начале CDF-файла вставить следующую строку:

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

Замечание Если авторы сайта используют IIS 4.0, CDF-файл можно создать с расширением .cdx, а не .asp. В этом случае приведенная выше строка, описывающая тип возврата содержимого (MIME content type), не обязательна.

Приведенная выше строка гарантирует, что сервер вернет правильный тип содержимого (MIME/content type) браузеру. Без такой строки браузер не выполнит требуемые действия по отношению к CDF-файлу. К примеру, файл CDF вместо того, чтобы вызвать диалоговое окно "Добавить Канал" (Add Channel), может просто отобразиться в окне браузера, как обычный текст.

Активные каналы, защищенные от несанкционированного доступа

Web-публикаторам, использующим HTTP аутентификацию при доступе к каналу, для обновления содержимого канала без участия пользователя необходимо сделать так, чтобы Internet Explorer на клиентской машине "знал" пользовательское имя и пароль. Для этого, используя в CDF-файле элемент LOGIN , авторы канала указывают, чтобы Internet Explorer в момент подписки на канал запросил необходимую информацию у пользователя. По завершении процесса подписки имя и пароль пользователя хранятся как свойства канала. Таким образом, в последующих CDF-файлах, которые будут посылаться пользователю как часть процесса обновления, не требуется указания элемента LOGIN. При использовании форм на основе Basic, NTLM, RPA или HTML, Internet Explorer в состоянии автоматически аутентифицировать такие HTML страницы.

Если процесс аутентификации основан на HTML-форме, необходимо, чтобы Internet Explorer смог правильно заполнить поля формы. Аутентификация будет успешной, если следовать упомянутым выше рекомендациям по HTTP аутентификации, а HTML-форма соответствует следующим требованиям:

В форме необходимо использовать метод "post". <FORM METHOD="POST" ACTION="http://www.foo.com/login"> Название текстового поля для ввода имени пользователя должно быть или "username" или "user".<INPUT TYPE=TEXT NAME="username" SIZE=20>

или

<INPUT TYPE=TEXT NAME="user" SIZE=20> Название текстового поля для ввода пароля должно быть "password".<INPUT TYPE=PASSWORD NAME="password" SIZE=20>

Замечание Все другие элементы формы будут передаваться со значениями, установленными по умолчанию.

Учет обращений к страницам (Page-hit logging)

Важное замечание Способность учета обращений дает возможность Активному Каналу собирать такую же учетную информацию от пользователей, работающих в автономном режиме, которая поставляется от online-клиентов. Однако эта возможность, по желанию, может быть легко отключена самим пользователем.

Информация об активности работы с каналом регистрируется вне зависимости от того, как произошло обращение к страницам: через окно просмотра в браузере, хранителе экрана или же в активной рабочей области (Active Desktop), в автономном или online режиме.

Учет на клиентской машине (Client-side logging)

Используя CDF-файл, Web-публикатор имеет возможность четкого управления тем, по каким страницам необходимо производить учет обращений. Можно задать максимальный промежуток времени, за который будут архивироваться учетные данные. Для того, чтобы задействовать возможность учета, в CDF-файле должен присутствовать элемент LOG , указывающий какие именно элементы подлежат учетной статистике, и элемент LOGTARGET , указывающий куда направлять файл учетной информации (log-файл).
Однако не следует злоупотреблять данной возможностью. Помните, что большое количество подлежащих учету элементов может привести к большим размерам log-файлов и замедлит выгрузку файла по URL адресу, указанному в LOGTARGET. Процесс передачи log-файла происходит в момент обновления CDF-файла. Дополнительную информацию и примеры элементов LOG и LOGTARGET, можно найти в Справочнике по CDF для Internet Explorer (CDF Reference for Internet Explorer).

Замечание Те элементы, которые отмечены как подлежащие учетной статистике, должны иметь атрибут HREF, согласованный с URL адресом CDF-файла или путем, указанным в элементе LOGTARGET .

Web-публикаторы принимают файлы учетной информации в директорию (URL), указанную элементом LOGTARGET. Формат log-файла определен консорциумом W3C (World Wide Web Consortium) - "Extended Log File Format,". C каждым обращением к странице связано 2 типа записей. Первая запись - это заголовок, содержащий URL-адрес элемента канала. В последующих за ней записях дается более детальная информация. Вот типичный пример:

#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

Эти записи говорят о том, что элемент по адресу http://www.foosports.com/news/default.htm просматривался: 2 июня 1997 в обычном окне браузера из кэша в 7:12 вечера в течении 4-х секунд, 3 июня в полноэкранном режиме в 11:38 утра в течении 23 секунд.
Поле c-context может принимать одно из значений: "N", "T", "D", или "S", указывающее на способ просмотра: в нормальном окне браузера, в полноэкранном режиме браузера (Theater View), как элемент активной рабочей области (Active Desktop), или в режиме хранителя экрана, соответственно. Поле c-cache может принимать одно из значений "1" или "0". "1" означает, что страница была получена из локального кэша, а "0" - что она была получена непосредственно с сайта. Web-публикатору предоставляется возможность фильтрации offline и online записей, использовав атрибут SCOPE= элемента LOGTARGET. Поле c-data указывает дату, когда элемент просматривался. Поле c-time указывает время (локальное время пользователя) начала просмотра, а поле c-duration, как не трудно догадаться, продолжительность просмотра. Поля "c-time" и "c-duration" имеют формат ЧЧ:ММ:CC (час:мин:сек.), а поле "c-data" - формат ММ-ДД-ГГГГ (месяц-день-год).

Обработка log-файла на сервере

В принципе, Web-публикаторы, получающие log файлы, имеют возможность извлекать и обрабатывать содержащиеся в них данные так, как они того пожелают. Microsoft со своей стороны предлагает следующие два метода обработки информации из log-файлов:

Perl скрипт ISAPI DLL (только для пользователей IIS)

Следующий Perl скрипт можно использовать для разборки log-файлов:

require("cgi-lib.pl"); $logfile='log/cdfpost.dat'; $method=$ENV{REQUEST_METHOD}; $clen=$ENV{CONTENT_LENGTH}; print "Content-type: text/htmlnn"; 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"; }

Если вы используете Microsoft Internet Information Server (IIS), у вас есть альтернативная возможность воспользоваться ISAPI DLL. Подробную информацию можно найти в файле readme, расположенном в inetsdksamplesiislog. Отметим, что в этом примере также демонстрируется декомпрессия переданных закодированных строк, при этом соответствующий CDF-файл должен содержать элемент HTTP-EQUIV такого вида:

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

Имеется также дополнительная информация о программном доступе к log-файлу учета обращений, используя соответствующий API.

Хранители экрана на основе Активных каналов

Web-публикатор имеет возможность указать в CDF-файле, что содержание по определенному URL будет использоваться в хранителе экрана (Channel Screen Saver). Хранитель экрана поддерживает стандартные HTML страницы, включая скрипты, изображения, Java-апплеты и элементы управления ActiveX. В страницах, используемых в качестве хранителя экрана, можно применять скрипты и Dynamic HTML для динамического изменения содержания, стиля и расположения HTML элементов на экране. Эти страницы отображаются в полноэкранном режиме во время неактивности пользователя (idle time).
Хранитель экрана периодически (по умолчанию, каждые 30 сек) меняет изображение на экране, переключаясь с канала на канал. Включение страницы в цикл хранителя экрана происходит автоматически в момент подписки на канал, или же может быть осуществлено позднее через диалоговое окно Свойства Хранителя Экрана (Screen Saver Properties). В случае, если пользователь подписывается на канал, у которого предусмотрена страница для хранителя экрана, а сама возможность использования Хранителя Экрана еще не задействована, появится следующее диалоговое окно:

Web-публикатор может указать, что страница по некоторому определенному адресу может использоваться для заставки в хранителе экрана, использовав в CDF-файле канала элемент USAGE . В примере ниже HTML страница по URL адресу "http://www.foosports.com/screensaver.htm" определяется как заставка хранителя экрана данного канала.

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

Замечание Элемент USAGE должен являться дочерним по отношению к элементу CHANNEL . Если элемент USAGE относится к элементу CHANNEL не верхнего уровня (а к подканалу), он будет проигнорирован.

В противоположность обычным хранителям экрана, в хранителе экрана Internet Explorer пользователь имеет возможность перемещаться, щелкать по объектам, и это не вызывает немедленного отключения хранителя экрана. Нажатие на ссылку приведет к открытию нового окна браузера.
Если же пользователь нажмет какую-либо клавишу или щелкнет мышью в любой области, не являющейся ссылкой, то это приведет к закрытию окна хранителя экрана. При перемещении мыши панель управления хранителя экрана сдвигается в правый верхний угол экрана. Используя эту панель управления пользователь может закрыть окно хранителя экрана или же получить доступ к его свойствам.

Папки категорий

Для группировки каналов сходного направления на панели рабочего стола Channel Bar заранее предопределенны несколько папок категорий каналов, такие как Новости и Технологии (News and Technology), Спорт (Sports), Деловая информация (Business), Досуг и развлечения (Entertainment), Путешествия и туризм (Lifestyle and Travel). При нажатии мышью на одной из этих категорий браузер открывает страничку, где указаны доступные каналы из данной категории с изображением их логотипов. При выборе одного из каналов браузер переходит к основной страничке выбранного канала. Если пользователь еще не подписан на данный канал, появится диалоговое окно Добавить канал (Add Channel).

Разработка и проектирование Активных каналов

Для того, чтобы создать Активный канал на базе существующего сайта, необходимо просто подготовить CDF-файл, выполнив следующие шаги:

Проектирование канала. Создание логотипов канала. Создание CDF-файла. Размещение CDF-файл на сайте. Предложение нового канала пользователям. Проектирование Активного канала

Первым шагом в создании CDF-файла является определение структуры канала. Канал может быть спроектирован так, что он будет повторять существующую структуру Web-сайта, или же он может являться какой-то частью сайта с совершенно отличающейся иерархической структурой. Структура канала описывается в CDF-файле с помощью элементов CHANNEL и ITEM , выражающих иерархию подканалов, и HTML страниц, представляющих непосредственное информационное наполнение канала. Для того, чтобы не перегружать пользователя излишней информацией и изображениями, а также для единообразия, следуйте следующим правилам:

Канал должен иметь в общем случае не более восьми подэлементов верхнего уровня.Авторы канала должны подготовить все требуемые картинки, которые будут использоваться в панелях Channel Bar и Channels Explorer Bar, и в составляющих канал элементах. Проектируйте канал так, чтобы он попадал под один из рекомендуемых типов Активных Каналов . Создание логотипов канала

В пользовательском интерфейсе есть несколько мест, где используются картинки, связанные с Активным каналом.

Desktop Channel Bar (32H x 80W). Channel Pane Explorer Bar в браузере (32H x 194W). Иконки для элементов внутри категории (16H x 16W).

При создании канала Web-публикатор должен предоставить требуемые файлы картинок для каждой из этих категорий, хотя Microsoft, если необходимо, подставит картинки по умолчанию. Элемент CHANNEL верхнего уровня должен включать в себя 3 дочерних элемента типа LOGO, по одному для каждого атрибута STYLE, например:

<CHANNEL HREF="http://www.mysample.com/mainchannel.htm"> <LOGO HREF=837/widelogo.gif" STYLE="IMAGE-WIDE"/> <!-- For Channels Explorer Bar --> <LOGO HREF=837/logo.gif" STYLE="IMAGE"/> <!-- For desktop Channel Bar --> <LOGO HREF=837/icon.gif" STYLE="ICON"/> <!-- For category folder --> <subitems omitted> . . . </CHANNEL>

STYLE="ICON" нужен для отображения канала в папке категорий в случае, если пользователь захочет его туда поместить. При этом канал будет появляться в списке имеющихся в наличии каналов в Channels Explorer Bar в том случае, когда будет выбрана папка данной категории. Все остальные элементы в CDF-файле типа CHANNEL и ITEM должны содержать только один дочерний элемент LOGO с установленным атрибутом STYLE="ICON". При создании ваших файлов изображений постарайтесь, чтобы фоновый цвет был прозрачным, а само изображение было достаточно простым, и оно четко различалось при 16H x 16W размере. Дополнительные рекомендации можно найти в Guidelines for Active Channel Images.

Создание CDF файла

После того, как структура канала определена и подготовлены все необходимые логотипы, можно приступать к созданию самого CDF-файла. Любой CDF-файл должен иметь как минимум один элемент CHANNEL и элементы SCHEDULE и LOGO . Элемент ITEM должен использоваться для включения каких-либо Web страниц, как часть информационного наполнения канала. Каждый раз, когда происходят изменения содержания канала (добавления, устранения, модификации), авторы канала обязаны обновлять CDF-файл, отразив все эти изменения. Информацию по использованию вспомогательного средства для создания CDF-файлов можно найти на странице Microsoft CDF Generator.

Элемент CHANNEL используется как для определения самого канала, так и для определения подканалов, входящих в его структуру. Таким образом, положение тэгов <CHANNEL> и </CHANNEL> задает иерархию канала. Элемент LOGO используется для указания файла изображения, который будет использоваться для представления канала в desktop Channel Bar.

Размещение CDF-файла

После того, как CDF-файл создан, его необходимо разместить на том Web-сайте, который он (файл) описывает. В типичном случае CDF-файл может быть расположен в общедоступном разделе HTTP сервера.

Предложение нового канала пользователям

И наконец, необходимо обеспечить пользователя возможностью установить Активный канал. Для этого есть три варианта:

Кнопка, расположенная на Web странице.The Channel Guide (Путеводитель по каналам). Предопределенный набор каналов в Channel Bar.

Хотя, в принципе, для инициирования процесса подписки достаточно просто определить ссылку на CDF-файл (используя простой атрибут HREF в элементе <A>), лучше, если на вашей странице будет логотип кнопки одного из типов: Add Active Channel (Добавить активный канал) или Add to Active Desktop (Добавить к Активной рабочей области). С этой кнопкой необходимо связать определенный скрипт, чтобы в любом браузере была адекватная реакция. Приведенный ниже скрипт вызовет диалоговое окно Добавить канал (Add Channel), если он был запущен в Internet Explorer 4.0, в противном случае пользователь будет направлен по адресу, где можно загрузить новую версию Internet Explorer 4.0.

Замечание Для того, чтобы использовать логотипы фирмы Microsoft Add Active Channel™ или Add to Active Desktop™, вы обязаны принять условия и подписать соглашение Active Channel Logo Agreement.

Следуйте следующим правилам при добавлении логотипов и скриптов в вашу HTML страницу.

Шаг 1. Установите файлы, содержащие эти логотипы, на ваш Web сервер.

Используйте данную картинку для того, чтобы дать пользователям возможность подписаться на ваш Активный канал.

Используйте эту картинку, для того чтобы позволить пользователю добавить отдельный элемент вашего канала в Active Desktop.

Web-публикаторам настоятельно рекомендуется использовать эти официальные логотипы Internet Explorer для предоставления пользователям более наглядного, последовательного, легко узнаваемого метода добавления Активных каналов (Active Channels) и элементов активной рабочей области (Active Desktop).

Шаг 2. Используя какой-либо редактор, откройте HTML страницу, на которой будут расположены эти логотипы.

Шаг 3. Между тэгами <HEAD> и </HEAD> вставьте следующий скрипт:

<!-- Begin Put this script into the head of the page --> <script language="JavaScript"> function isMsie4orGreater() { var ua = window.navigator.userAgent; var msie = ua.indexOf ( "MSIE " ); if (msie > 0) {return (parseInt ( ua.substring ( msie+5, ua.indexOf ( ".", msie ) ) ) >=4) && (ua.indexOf("MSIE 4.0b") <0) ;} else {return false;}} </script> <!-- End Put this script into the head of the page -->

Шаг 4. Для каждой кнопки логотипа вставьте следующий код:

<a name="uniqueName" href="http://www.microsoft.com/ie/ie40/download/?/ie/ie40/download/redirect.htm"> <img src=837/a> <script language="JavaScript"> if ( isMsie4orGreater()) { uniqueName.href ="urlToCDF"; } </script>

Отредактируйте приведенный выше скрипт:

Замените uniqueName уникальным именем каждой кнопки логотипа. Это имя не должно содержать пробелов. Вместо urlOfLogoImage укажите реальный URL-адрес файла изображения кнопки на вашем сервере. Это будет один из GIF файлов, показанных на Шаге 1.Вместо urlToCDF укажите реальный URL-адрес CDF-файла. Никаких специальных ограничений на URL не накладывается, это может быть, например, страница ASP или CGI, лишь бы он возвращал CDF-файл.

Совет: Для того, чтобы динамически показывать или скрывать содержание страницы в зависимости от того, является ли пользователь подписчиком канала или нет, можно использовать Dynamic HTML.

Путеводитель по каналам (The channel guide)

Web-публикаторы имеют возможность включить свои Активные каналы в путеводитель по Web-каналам Internet Explorer 4.0. Сhannel guide выступает в качестве основного источника информации при поиске каналов, отвечающих интересам пользователя.
Сhannel guide предоставляет пользователям несколько списков каналов из следующих категорий:

Деловая информация (Business) Досуг и развлечения (Entertainment) Путешествия и туризм (Lifestyle and Travel) Новости и Технологии (News and Technology)Спорт (Sports)

Партнеры по проекту Активных каналов фирмы Microsoft будут представлены в путеводителе в виде 32H x 80W GIF изображений их логотипов. Все другие каналы будут отражены в путеводителе только их названием. В момент, когда пользователь установит указатель мыши на изображении логотипа или на названии канала, появляется всплывающее окно, в котором приводится описание канала. Когда пользователь щелкнет мышью на изображении логотипа или на названии, будет показана "Ознакомительная Страница" (Preview Page). Она представляет собой 365H x 460W HTML страницу, расположенную на сервере публикатора, и играет роль рекламной страницы для всех предложений публикатора по Web-вещанию. Для этой странице настоятельно рекомендуется использовать Dynamic HTML, это сделает ее более привлекательной для пользователя. "Ознакомительная Страница" (Preview Page) должна содержать для каждого канала те же кнопки и скрипты ("Add Active Channel" и/или "Add to Active Desktop"), что и описанная выше страница "Предложения по Web-вещанию" ("Webcasting Offerings Page"). Для того, чтобы канал был отражен в путеводителе, необходимо предоставить фирме Microsoft изображения логотипов, описание канала и URL-адрес "Ознакомительной Страницы". Дополнительная информация о том, как поместить ваш канал в путеводитель по каналам Internet Explorer 4.0, см. Microsoft SiteBuilder Network Web site , или же сам путеводитель.

Примеры CDF-файлов и разъяснения

В приведенном ниже примере CDF-файла демонстрируется синтаксис, используемый в CDF-файлах, и даны детальные пояснения. Этот пример входит в состав Internet SDK и может быть найден в поддиректории c:inetsdksampleschannel, если SDK был установлен в c:inetsdk. Для того, чтобы подписаться на канал из этого примера, следуйте инструкциям, указанным в файле Readme.txt, который расположен в той же директории. Для того, чтобы подписаться на канал, просто щелкните мышью на логотипе канала в Channel Bar рабочего стола, или вызовите Channel Guide, чтобы просмотреть дополнительный список каналов. Для подписки на канал "Internet Client SDK", используя Internet Explorer 4.0, обратитесь к http://www.microsoft.com/msdn/sdk/inetsdk/help/default.htm, и щелкните мышкой на кнопке "Add Active Channel". Ниже приведен пример CDF-файла, входящего в состав SDK.

<?XML version="1.0"?> <CHANNEL HREF="http://www.mysite.com/Channel/homepage.htm" BASE="http://www.mysite.com/Channel/"> <TITLE>Sample "Color" Channel</TITLE> <ABSTRACT>The sample color channel contains a red, green, and blue page for viewing.</ABSTRACT> <LOGO HREF=837/"logo_big.gif" STYLE="IMAGE-WIDE"/> <LOGO HREF=837/"logo_med.gif" STYLE="IMAGE"/> <SCHEDULE STARTDATE="1997-09-23"> <INTERVALTIME DAY="1" /> <EARLIESTTIME HOUR="2" /> <LATESTTIME HOUR="6" /> </SCHEDULE> <ITEM HREF="page1.htm"> <LOGO HREF=837/"red.gif" STYLE="ICON"/> <TITLE>The Red Page</TITLE> <ABSTRACT>This is the abstract description for the red page.</ABSTRACT> </ITEM> <ITEM HREF="page2.htm"> <LOGO HREF=837/"green.gif" STYLE="ICON"/> <TITLE>The Green Page</TITLE> <ABSTRACT>This is the abstract description for the green page.</ABSTRACT> </ITEM> <ITEM HREF="page3.htm"> <LOGO HREF=837/"blue.gif" STYLE="ICON"/> <TITLE>The Blue Page</TITLE> <ABSTRACT>This is the abstract description for the blue page.</ABSTRACT> </ITEM> <ITEM HREF="scrnsave.htm"> <USAGE VALUE="ScreenSaver"></USAGE> </ITEM> </CHANNEL>

Далее приводятся выдержки из CDF-файла с описанием назначения каждого элемента и соответствующих ему атрибутов.

<CHANNEL HREF="http://www.mysite.com/Channel/homepage.htm" BASE="http://www.mysite.com/Channel/">

Здесь элемент CHANNEL определяет канал верхнего уровня. Все элементы, следующие до закрывающего тэга </CHANNEL>, являются подчиненными элементами. Атрибут HREF определяет Web-страницу, которая будет показана в браузере, если канал был выбран из Channel Bar рабочего стола или из Channels Explorer Bar. Атрибут BASE определяет URL-адрес, где находятся ресурсы канала. Этот атрибут позволяет Web-публикаторам указывать другие URL относительно этого базового адреса.

<TITLE>Sample "Color" Channel</TITLE> <ABSTRACT>The sample color channel contains a red, green, and blue page for viewing.</ABSTRACT>

Элемент TITLE задает текст, который будет отображаться на панели браузера. Элемент ABSTRACT задает текст, который будет показываться в всплывающем окне подсказки всякий раз, когда курсор мыши будет расположен на изображении канала.

<LOGO HREF=837/"logo_big.gif" STYLE="IMAGE-WIDE"/> <LOGO HREF=837/"logo_med.gif" STYLE="IMAGE"/>

Элемент LOGO , имеющий атрибут "IMAGE-WIDE", показывается в Channels Explorer Bar, а имеющий атрибут "IMAGE" будет показываться на Channel Bar рабочей области. Щелкнув по этой картинке пользователь увидит или страницу с URL, указанным в элементе CHANNEL верхнего уровня, или же иерархическую структуру канала.

<SCHEDULE STARTDATE="1997-09-23" ENDDATE="1997-11-23"> <INTERVALTIME DAY="1" /> <EARLIESTTIME HOUR="2" /> <LATESTTIME HOUR="6" /> </SCHEDULE>

Элемент SCHEDULE указывает то, как часто и в какие временные интервалы необходимо обновлять канал. Этот элемент специально придуман для того, чтобы управлять нагрузкой на Web сервер. В приведенном примере устанавливается, что обновление должно происходить каждый день между 2 и 6 часами утра и длиться до 23 ноября 1997.

<ITEM HREF="page1.htm"> <LOGO HREF=837/"red.gif" STYLE="ICON"/> <TITLE>The Red Page</TITLE> <ABSTRACT>This is the abstract description for the red page.</ABSTRACT> </ITEM>

Элемент ITEM определяет HTML страницу, как подэлемент. Эта страница вместе с картинкой "ICON", определенной в элементе LOGO, будет видна в иерархической структуре канала при его просмотре в Channels Explorer Bar.

<ITEM HREF="scrnsave.htm"> <USAGE VALUE="ScreenSaver"></USAGE> </ITEM>

Здесь элементы ITEM и USAGE задают HTML страницу, которая будет изображаться в хранителе экрана (Channel Screen Saver). Эти элементы могут также использоваться для декларации HTML страницы как элемента Активной рабочей области (Active Desktop). Эти элементы могут содержать любые допустимые составляющие HTML страниц, изображения, элементы управления ActiveX, Java-апплеты и т.д., и могут непосредственно быть перенесены в рабочую область (рабочий стол) с помощью Internet Explorer 4.0. За дополнительной информацией о элементах активной рабочей области обратитесь к документации Creating Items for the Active Desktop (Создание элементов активной рабочей области).

</Channel>

Это закрывающий тэг, который указывает на конец определения канала.

Оптимизация Активных каналов

Web-публикаторам настоятельно рекомендуется следовать рекомендациям относительно объема информационного наполнения канала, обсуждавшихся в разделе Рекомендации по проектированию Активных каналов. Кроме учета ограничений линий связи, для устранения передачи ненужных данных и повышения тем самым эффективного использования своих сайтов, Web-публикаторы должны обеспечить поддержку определенных HTTP заголовков:

При получении запроса HEAD и GET, посылайте в ответ заголовок "Last-Modified". Это позволит CDF-клиенту следить за изменениями в канале без загрузки каких-либо ресурсов. Используйте атрибут LASTMOD= элемента ITEM. Таким образом можно указать Internet Explorer исключить обращения на сервер с запросами о последней дате модификации элементов, указанных в CDF-файле. Используйте ответный заголовок "Expires" (Срок истечения) для указания времени жизни ресурсов канала. Если только это не абсолютно необходимо, не посылайте заголовок "Pragma: no-cache". Поддерживайте ответный заголовок "If-Modified-Since". Рекомендации по созданию изображений логотипов Активных каналов

В данном разделе приведены некоторые рекомендации, которые должны помочь Web-публикаторам создать полноценные логотипы, представляющие информационное наполнение канала. При создании изображений обратите внимание на то, что логотипы будут изображаться с помощью фиксированной 256-цветовой палитры, не зависимо от цветовой глубины монитора. Следовательно, если это возможно, рекомендуется использовать полутоновую палитру Microsoft Windows. Высота (H) и ширина (W) картинок, которые приведены в этом разделе, указаны в пикселях.

Логотипы Активного канала

Как уже обсуждалось выше, Internet Explorer 4.0 использует разные размеры для изображения логотипов каналов в зависимости от того, показывается ли канал из окна браузера или на поверхности рабочего стола. Логотип Channel Bar рабочего стола имеет размер 32H x 80W, а логотип в браузере (Channels Explorer Bar) 32H x 194W. Если пользователь растянет окно Channels Explorer Bar до ширины больше, чем 194 пикселя, остающееся пространство с правой стороны изображения будет заполнено самым правым верхним пикселем. Если авторы канала предоставили изображение только размером 32H x 80W, эта картинка будет использоваться и на поверхности рабочего стола, и в панели браузера Channels Explorer Bar. Остающееся пространство с правой стороны логотипа будет заполнена тем же цветом, что и правый верхний пиксель. Логотип 32H x 80W для рабочего стола должен иметь черный фон, а логотип для браузера должен использовать цветной фон. Для декларации логотипов в CDF-файле используются следующие конструкции:

Для логотипа 32H x 80W:

<LOGO HREF=837/"example.gif" STYLE="Image">

Для логотипа 32H x 194W:

<LOGO HREF=837/"example-wide.gif" STYLE="Image-Wide">

Для иконки 16H x 16W:

<LOGO HREF=837/"example-icon.gif" STYLE="Icon">

Логотипы Channel Bar рабочего стола

Channel Bar рабочего стола отображает маленькие логотипы (32H x 80W) для каждого канала. Для того, чтобы согласовать визуальные элементы, используемые на рабочем столе, фон для логотипов должен быть черным. Все логотипы в Channel Bar рабочего стола показываются одновременно. Приводимая ниже иллюстрация демонстрирует интерактивное отслеживание перемещения мыши по поверхности логотипа. Как только курсор будет установлен на изображении логотипа, обрамление логотипа принимает 3-D вид, так же как большинство других кнопок управления Internet Explorer 4.0. Тем самым Channel Bar выглядит как хорошо интегрированная часть приложения.

Логотипы для Channels Explorer Bar

Внутри окна браузера в Channels Explorer Bar, Internet Explorer 4.0 использует логотип на всю ширину (32H x 194W). По умолчанию, для каждого канала отображается только название канала - текст белым цветом по черному фону. Однако, как только пользователь подведет курсор мыши к одному из элементов, появляется логотип данного канала. Мы рекомендуем для больших логотипов использовать цветную подложку (фон). Если пользователь щелкнет мышкой по логотипу для активации канала, логотип не исчезнет. Это позволяет пользователю легко ориентироваться во множестве каналов, и помнить, в каком канале он находится сейчас.

Иконки (Icons with Visual Clues)

При разработке иконок, предназначенных для индикации какой элемент является контейнером, а какой нет, используйте разные изображения, цвета, или форму иконок. Это поможет пользователю ориентироваться в структуре вашего канала.

Маячки обновлений (Update Gleams)

Панель каждого канала для индикации об изменениях в его содержании использует 14H x 14W "маячки". Маячок располагается в левом верхнем углу логотипа. Поэтому в этой области не следует располагать важный текст или визуальные элементы, поскольку они будут скрыты маячком. Маячки также всегда находятся сверху всех 16H x 16W иконок, представляющих иерархию канала. Размер маячка на иконке 7H x 7W.

Резюме по созданию изображений для Активного канала Логотипы канала обязательно должны использовать черный фон. Панель должна вписываться в поверхность Активного рабочего стола, который использует черный фон. Это помогает интеграции логотипов в пользовательский интерфейс. При создании больших логотипов не перестарайтесь с цветовым наполнением по правому краю. При увеличении размера панели Channels Explorer Bar область справа от логотипа заполняется тем же цветом, что и правый верхний пиксель. Помните об этом. Provide consistent elements in both large logo sizes. When creating these logos, we recommend including a visual tie-in so users can recognize the channel in the transition from desktop to browser. When users click on your desktop logo, they should be able to easily recognize its larger counterpart inside the browser. Provide consistent elements in icons for pages and folders. Иконки для страниц и папок должны визуально согласовываться с логотипом. Постарайтесь избежать использования большого количества иконок, поскольку пользователю может быть трудно их различать. Помните о маячках обновлений. Избегайте располагать в верхнем левом углу важный текст или визуальные элементы, поскольку они будут скрыты маячком. Использование Dynamic HTML с Активными Каналами

Для того, чтобы менять изображение и текст Web страниц, можно использовать богатый арсенал, предлагаемый Dynamic HTML. Например, ниже показывается, как можно использовать метод window.external.isSubscribed(), для того, чтобы спрятать логотип кнопки "Add Active Channel", если пользователь уже подписан на данный канал.

Предполагая, что кнопка "Add Active Channel" установлена на Web странице так, как было описано выше, код может выглядеть так:

<a name="channelA" href="http://www.microsoft.com/ie/ie40/download/?/ie/ie40/download/redirect.htm"> <img src=837/a> <script language="JavaScript"> if ( isMsie4orGreater()) { channelA.href ="urlToCDF"; } </script>

Шаг 1. Добавьте атрибут ID к элементу. Его значение должно быть уникальным.

<a name="channelA" id="idA" href="http://www.microsoft.com/ie/ie40/download/?/ie/ie40/download/redirect.htm"> <img src=837/a> <script language="JavaScript"> if ( isMsie4orGreater()) { channelA.href ="urlToCDF"; } </script>

Шаг 2. Вставьте следующий скрипт между тегами <HEAD></HEAD>. Помните, что функция isMsie4orGreater() должна быть уже определена в головной секции HEAD этой страницы.

<SCRIPT LANGUAGE="JavaScript"> function HideIfSubscribed(elementID, urlToCDF){ if (window.external.isSubscribed(urlToCDF)) {ss.addRule("#"+ elementID,"visibility: hidden");}} var ss = null; ss = document.createStyleSheet() if(isMsie4orGreater()){ //Test if the browser is IE // For each element you wish to conditionally hide, include the following line // (uniqueID is the unique value for the ID attribute of the element and // urlToCDF is the URL to the channel's CDF). HideIfSubscribed("uniqueID","urlToCDF"); } </SCRIPT>

При использовании таких скриптов помните, что URL-адреса канала должны использовать тот же протокол и то же "secondary domain name", что и страницы, содержащие скрипты.
Любой элемент Dynamic HTML, имеющий свойство быть видимым, может быть спрятан, используя тот же код.

Приведенная ниже HTML страница демонстрирует законченный пример использования скриптов, показанный выше.

<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> function isMsie4orGreater() { var ua = window.navigator.userAgent; var msie = ua.indexOf ( "MSIE " ); if (msie > 0) {return (parseInt ( ua.substring ( msie+5, ua.indexOf ( ".", msie ) ) ) >=4) && (ua.indexOf("MSIE 4.0b") <0) ;} else {return false;}} function HideIfSubscribed(elementID, urlToCDF){ if (window.external.isSubscribed(urlToCDF)) {ss.addRule("#"+ elementID,"visibility: hidden");}} var ss = null; if(isMsie4orGreater()){ //Test if the browser is IE ss = document.createStyleSheet() HideIfSubscribed("idA","http://www.mycorp.com/channelA.cdf"); } </SCRIPT> </HEAD> <BODY> <a name="channelA" id="idA" href="http://www.microsoft.com/ie/ie40/download/?/ie/ie40/download/redirect.htm"> <img src=837/a> <script language="JavaScript"> if ( isMsie4orGreater()) { channelA.href ="urlToCDF"; } </script> </BODY> </HTML>

Если Web страница содержит больше одной кнопки типа "Add Active Channel" или "Add to Active Desktop", то имена и ID атрибуты должны быть уникальными.

О совместимости CDF и Netcaster

Поскольку форматы CDF и HTML во многом схожи, браузеры, отличные от IE4.0, для "прочесывания" сайта тоже могут использовать CDF-файл. Этот раздел посвящен вопросу совместимости CDF-фала по отношению к Netscape Netcaster. Для получения информации относительно CDF-файлов и применения этого стандарта, см. Webcasting White Paper.

"Прочесывание" сайта с применением CDF-файла

Прочесывание сайта - это процесс, требующий от браузера выполнения следующих шагов:

Получить HTML страницу. Сохранить ее локально на компьютере пользователя. Найти переходы по ссылкам. Повторить процесс снова от шага 1 для каждой найденной ссылки. Завершить процесс в случае, когда браузер обработал все ссылки, или если процесс повторялся достаточно долго по какому-либо критерию. Получить непосредственное содержимое для каждой ссылки на не HTML-документы, такие как файлы изображений и текстовые файлы.

Netcaster не может полноценно обработать CDF-файл, но может использовать его для навигационных целей. Для этого Netcaster должен воспринимать CDF-файл так, как будто это обычная HTML страница. Ключевым местом здесь является использование опорного элемента <A> , определяющего переходы в HTML.

<A HREF="http://www.microsoft.com/">Visit Microsoft!</A>

Данный элемент определяет переходы, по которым должен следовать браузер при "прочесывании" сайта. <A> элемент может находиться внутри элементов ITEM и CHANNEL . Элемент HREF этих опорных элементов <A> указывает на HTML страницу, которая будет отображаться на экране компьютера пользователя.

<CHANNEL> <A HREF="http://www.microsoft.com/cover.htm"></A> <ITEM> <A HREF="http://www.microsoft.com/page1.htm"></A> <TITLE>Page 1</TITLE> </ITEM> </CHANNEL>

При обработке браузером приведенного выше фрагмента CDF-файла, он определяет следующие переходы: "http://www.microsoft.com/cover.htm" и "http://www.microsoft.com/page1.htm". Как именно интерпретирует браузер остальную часть CDF-файла, не так важно, часть будет понята браузером, часть проигнорирована. В большинстве случаев CDF-файл не будет отображаться как HTML документ; он будет просто использоваться для прочесывания сайта.

Важно заметить, что поскольку Netcaster не понимает такой хорошей штучки, как атрибут BASE , Netcaster будет воспринимать URL-адреса относительно базового URL самого CDF-файла, а не относительно URL, указанного в атрибуте BASE. Поэтому если планируется, что CDF-файл должен обрабатываться как Netcaster так и Internet Explorer, то предлагается или не использовать атрибут BASE или установить его в URL самого CDF файла. Например, если в CDF-файле http://msn.com/channels/channel2.cdf содержится атрибуты BASE, они должны иметь значение "http://msn.com/channels/".

MIME типы и расширения (MIME Types and Extensions)

Для того, чтобы Netcaster мог использовать CDF-файл для прочесывания сайта, он должен понимать его как некий HTML файл. Для того, чтобы обрабатывать его как HTML файл, должно быть выполнено одно из трех условий:

Копия оригинала CDF файла должна иметь расширение "htm" или "html". Для браузеров, не имеющих полной поддержки CDF-файлов, HTTP сервер должен вернуть для CDF-файла тип MIME "text/html", а для клиентов с полной поддержкой CDF-формата - тип "application/x-cdf". На клиентской стороне браузер должен быть сконфигурирован так, что MIME типы "cdf" и "application/x-cdf" должны открываться как документ HTML.

Если выполнено хотя бы одно из этих условий, пользователь Netcaster имеет возможность подписаться на канал, определенный CDF-файлом. Пользователь просто выполняет обычную процедуру подписки на любую Web страницу, за исключением того, что необходимо ввести URL CDF-файла.

Подписка на CDF-канал в Netcaster

В Netcaster при оформлении подписки на канал пользователь должен указать URL CDF-файла, поэтому начальная страница не будет нормальной HTML страницей. Это будет CDF-файл, рассматриваемый как HTML страница, и эта страница не будет иметь желаемого вида. Для того, чтобы избежать данной ситуации, можно создать промежуточную HTML страницу, которая будет представлять содержание канала и иметь ссылку на CDF-файл. Этого можно добиться, использовав тег Netscape LAYER. Невидимый тэг LAYER, ссылающийся на CDF-файл, в такой начальной странице может иметь вид:

<LAYER SRC=837/LAYER>

Это позволяет пользователю Netcaster в момент подписки указывать URL этой промежуточной страницы, а не URL CDF-файла. Для того, чтобы Netcaster мог автоматически осуществлять подписку, можно в промежуточной странице использовать скрипты, как описано в документации Netscape. Это даст возможность подписаться на канал, просто щелкнув мышкой на соответствующей кнопке, расположенной на промежуточной HTML странице. Вот пример, демонстрирующий CDF-файл и промежуточную страницу, которую можно использовать с Netcaster.

CDF файл "cdf_file.cdf":

<?XML VERSION="1.0"?> <CHANNEL HREF="http://msn.com/default.htm"> <ABSTRACT>This channel was created using the proposed CDF standard.</ABSTRACT> <LOGO HREF=837/logo.gif" STYLE="IMAGE" > <SCHEDULE> <INTERVALTIME DAY="1" /> </SCHEDULE> <!-- the following items are needed for offline use --> <ITEM> <A HREF="http://msn.com/page1.html"></A> </ITEM> <ITEM> <A HREF="http://msn.com/page2.html"></A> </ITEM> <ITEM> <A HREF="http://msn.com/page3.html"></A> </ITEM> </CHANNEL>

Промежуточная, совместимая с Netcaster HTML страница "channel.htm" показана ниже. На этой странице имеется ссылка на копию вышеприведенного CDF-файла "cdf_file.htm".

<HTML> <BODY> <LAYER SRC=837/LAYER> <SCRIPT language="JavaScript1.2" > var nc = components["netcaster"]; nc.activate(); var chan = nc.GetChannelObject(); chan.url = "http://msn.com/channel.htm"; chan.name = "My Channel"; chan.desc = "This Channel was created using JavaScript API extensions"; chan.cardURL = "http://msn.com/logo.gif"; function openDialog() { nc.AddChannelObject(chan); } </SCRIPT> </BODY> </HTML>

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.

В начало страницы



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте