Слава Україні
Glory to Ukraine
Save the World
Жыве Беларусь
Live Belarus



Урок - Модуль Aggregator в Drupal7

Главная » Курсы » Курс Drupal 7, Управление » Урок - Модуль Aggregator в Drupal7

Обучающий онлайн курс
Drupal 7, Управление

Лицензия: Копирование запрещено.

Модуль Aggregator

Модуль Aggregator позволяет собирать информацию с других сайтов используя RSS-, RDF-, и Atom-ленты и публиковать на своем сайте.

Терминология

  • RSS — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п.
  • Atom — общее название двух связанных веб-технологий: формата для описания ресурсов на веб-сайтах и протокола для их публикации.
  • Resource Description Framework (RDF) — это разработанная консорциумом Всемирной паутины модель для представления данных

Использование модуля Aggregator

Для того, что бы упростить навигацию, ссылки в тексте даны с указанием на домен http://drupal7.local/. Установив Drupal7 на локальной машине по адресу http://drupal7.local/ облегчит переход с текщего урока. Надеюсь это будет удобно.
  • Устанавливаем модулель Aggregator на странице Модули(Modules).
  • После установки модуля Aggregator, справа повится ссылка на страницу разрешений - переходим на страницу Разрешения(Permissions) и добавляем разрешение "Просмотр новостных лент"(View news feeds) для всех ролей.
  • Теперь перейдем к добавлению категорий. На странице Сборщик RSS-лент (Feed aggregator) мы будем видеть общую информацию: список категорий и список лент.
    Переходим на страницу Добавить категорию (Add category). Добавим несколько категорий: "Спорт", жмем "Сохранить" - снова откроется страница "Добавить категорию"(Add category) - добавляем очередную категорию "Здоровье". После ввода информации возвращаемся на основную страницу модуля Aggregator через обратную навигацию. Теперь у нас в списке две категории.
  • Следующий шаг - добавление новостных лент. Добавим ленту спортивной тематики, например с сайта http://sport-express.ru/ (http://ss.sport-express.ru/rss/public_news.rss). Откройте в браузере страницу http://ss.sport-express.ru/rss/public_news.rss и убедитесь, что страница доступна и представляет собой RSS-ленту.
    Переходим на страницу Добавить новостную ленту (Add feed). Вводим Название(Title) и URL новостной ленты: http://ss.sport-express.ru/rss/public_news.rss
    Также помечаем категорию "Спорт". Сохраняем.
    После ввода информации возвращаемся на основную страницу модуля Aggregator через обратную навигацию. Теперь у нас в списке есть новостная лента.
    Для новостной ленты доступна следующая информация:
    • Элементы(Items) - количество полученных элементов из новостной ленты.
    • Последнее обновление(Last update) - дата и время последнего обновления.
    • Следующее обновление(Next update) - дата и время следующего обновления.
    • изменить(edit) - перейти к редактированию ленты.
    • удалить пункты(remove items) - удалить элементы добавленные текущей лентой.
    • обновить элементы(update items) - обновить ленту.
    Жмем обновить элементы(update items) - запускаем процесс получения информации с ленты http://ss.sport-express.ru/rss/public_news.rss.
    Результатом должно быть что-то типа:
    • Элементы(Items): 416 пунктов
    • Последнее обновление(Last update): 19 сек назад
    • Следующее обновление(Next update): через 59 мин 41 сек
    Обратите вниманиее, что категория "Здоровье" пуста, а в категории "Спорт" столько же элементов, как и в ленте "From sport-express.ru".
Теперь мы можем просматривать ленты:
  • Нажимайте на "From sport-express.ru" - и видим всю ленту но уже с нашего сайта.
  • по ссылке "Здорровье" - увидим пустую страницу, так как в категории "Здоровье" нет назначенных лент.
  • по ссылке "Спорт" - увидим страницу, с элементами из ленты "From sport-express.ru".
Список всех доступных ссылок модуля Aggregator:
  • /aggregator/ - основная страница агрегатора, содержит все элементы из всех лент.
  • Ссылки для просмотра лент имеют вид: http://drupal7.local/aggregator/sources/%, где % - ID ленты.
  • На странице: http://drupal7.local/aggregator/sources/%/categorize (% - ID ленты) можно указать категорию для конкретного элемента из ленты.
  • Ссылки для просмотра категорий имеют вид: http://drupal7.local/aggregator/categories/%, где % - ID категории.
  • На странице: http://drupal7.local/aggregator/categories/%/categorize (% - ID категории) можно указать категорию для конкретного элемента.

Блоки

Для каждой добавленной ленты генерируется свой блок. Зайдите на страницу Блоки (Blocks) и расположите блоки лент/категорий так как необходимо.

! Для изменения количества элементов в блоке ленты настройка находится на странице редактирования ленты. Например "From sport-express.ru"
! Для изменения количества элементов в блоке категорий настройка находится на странице редактирования соответствующего блока.

Настройки

На странице редактирования лент можно указывать интервал обновленияы ленты. Что бы лента обновлялась в соответствии с указанным параметром период запуска крона должен быть меньше или равен указанному интервалу.

Интеграция OPML

Формат OPML (англ. Outline Processor Markup Language) — язык разметки структуры, основанный на формате XML, служащий для переноса в стандартную электронную форму информации о потоках, которые могут группироваться в ленты. Этот стандарт пригоден для создания списков, включающих как RSS-потоки, так и потоки других форматов — RDF, Atom и так далее. © http://ru.wikipedia.org/wiki/OPML На странице /aggregator/opml можно получить OPML-файл:
<?xml version="1.0" encoding="utf-8"?>
<opml version="1.1">
<head>
<title>drupal7</title>
<dateModified>Thu, 13 Oct 2011 11:57:40 +0000</dateModified>
</head>
<body>
<outline text="From sport-express.ru" xmlUrl="http://ss.sport-express.ru/rss/public_news.rss" />
</body>
</opml>

Итог

Минусы:
  • По слухам: В drupal 8 модуль Aggregator не будет поставляться с ядром системы.
  • Модуль Aggregator хранит информацию о категориях, лентах и элементах в своих таблицах, что не позволяет расширять отображение за счет Field и использовать Views и Taxonomy.
  • Ссылки в элементах ведут на сайт источник.
Плюсы:
  • Быстрая возможность настроить ленту на сайте.
  • Удобно для личных нужд.
  • Разделение по категориям.
  • В Drupal 7 модуль поставляется в ядре, что гарантирует его работу на 99%.
  • Модуль Aggregator удобно использовать как этап на котором собираются элементы лент. а далее дополнительным функционалом переносить информацию на свой сайт. Хотя зачем? когда это умеет делать модуль Feeds. О нем поговорим в следующий раз.