6.4. RSS-канал как источник данных

6.4.1. Синдикация данных

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

Для поддержки механизма синдикации было разработано несколько стандартов, из которых в настоящее время используются два: Really Simple Syndication (RSS) и Atom Publishing Protocol (Atom).

RSS — это семейство стандартов формирования XML-документа, в который сохраняется информация об обновлениях. (Этот документ называется потоком или фидом от англ. feed — питание, кормить.) В подавляющем большинстве случаев речь идет об обновлении в новостной ленте, но в принципе это могут быть любые изменения. Взаимоотношения между отдельными версиями RSS довольно запутаны. Представители семейства частично несовместимы друг с другом, но для конечного пользователя это практически не имеет значения — любая современная программа для работы с RSS понимает все его версии.

Формат Atom тоже предназначен для агрегирования информации об обновлениях, в первую очередь с веб-сайтов.

Важным плюсом синдикации для разработчиков является тот факт, что потоки не накладывают ограничение на характер передаваемой информации и ее адресата. Через канал вы можете информировать пользователей о чем угодно — о публикации новостей и статей, о появлении на ftp-сервере нового файла, об изменении страницы в wiki и т.п. Главное, что произошло изменение, информация о котором вносится в поток.

6.4.2. Использование RSS-потоков

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

Для получения потока необходимо использовать специальное программное обеспечение — RSS-клиент. Аналогично, для создания RSS-потока используется RSS-сервер.

[Внимание]Внимание

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

6.4.3. Получение RSS-контента

Для подписки на RSS-поток и отображения его содержимого в состав Plone включен специальный RSS-портлет (см. Рис. 6.7).

RSS-портлет

Рисунок 6.7. RSS-портлет

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

Портлет добавляется обычным способом — через ссылку Добавление портлетов.

Поведение портлета может быть изменено через форму настройки портлета (см. Рис. 6.8).

Настройка RSS-портлета

Рисунок 6.8. Настройка RSS-портлета

В форме необходимо установить значения следующих полей:

Число элементов для отображения

Определяет число элементов на странице. Если общее число элементов превышает указанное, то будет создано несколько дополнительных страниц со ссылками на них, расположенными в нижней части портлета.

URL of RSS feed

Указывается URL-адрес источника RSS-потока

Feed reload timeout

Указывается время в минутах, по прошествии которого производится обновление содержимого портлета.

6.4.4. Создание RSS-потоков в Plone

В Plone включена возможность формировать RSS-потоки и предоставлять их для подписки другим сайтам. Потоки могут формироваться из содержимого коллекций и поисковых запросов.

6.4.4.1. Создание RSS-потока из коллекции

RSS-поток может быть создан из любой существующей коллекции. На странице просмотра коллекции (см. Рис. 6.9) находится ссылка «RSS-feed» (на рисунке выделена рамкой).

Подписка на RSS-поток из страницы просмотра коллекции

Рисунок 6.9. Подписка на RSS-поток из страницы просмотра коллекции

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

6.4.4.2. Создание RSS-потока из поискового запроса

После выполнения поискового запроса на результирующей странице (см. Рис. 6.10) в ее верхней части появляется гиперссылка «Подписка на экспорт автообновляемых результатов поиска в формате RSS» (на рисунке выделена рамкой).

Подписка на RSS-поток из страницы поискового запроса

Рисунок 6.10. Подписка на RSS-поток из страницы поискового запроса

Как и в предыдущем случае, эта гиперссылка производит переход на страницу выбора RSS-клиента.

На странице выбора RSS-клиента публикуется и URL-адрес созданного RSS-потока. Этот адрес можно использовать многими способами, например для внутренней подписки, поместив его в RSS-портлет Plone-сайта.

[Замечание]Замечание

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