NPJ next: Документация/ChannelsRSSAgitator ...

Главная | Каталог | Изменения | НовыеКомментарии | Пользователи | Вам запрещён доступРегистрация | Вход:  Пароль:  

Channels — RSS+ Aggregator v.1.0


Оглавление документа

1. Что это такое?


Модуль Channels — это унифицированный агрегатор потоков сообщений для НПЖ.
Он предназначен для автоматической синдикации в пространство НПЖ информации из других систем посредством создания «трансляционных аккаунтов», в которые направляются «каналы».

В настоящее время модуль позволяет создавать «трансляционные аккаунты» для следующих форматов:


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

1.1. Условия использования и лицензия


Модуль Channels может быть свободно использован на любом узле НПЖ.
Код модуля и его фрагменты могут быть использованы в других проектах с указанием авторства и копирайта согласно Лицензии, приложенной к дистрибутиву.
Пожалуйста, проконсультируйтесь с разработчиками (например, в комментариях ниже) по вопросам доработки модуля — мы будем рады, если вы возьмётесь за написание какого-либо «канала».

1.2. Авторы


Модуль Channels разработан командой npjdev@npj, в том числе:

2. Где скачать?


Дистрибутив доступен для скачивания:


Если вы — продвинутый разработчик, вы можете воспользоваться и репозиторием кода:

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

3. Требования и инструкция по установке


Для того, чтобы установить на вашем узле НПЖ модуль Channels вам необходимо выполнить следующие условия/действия:

  1. Обновить свой узел до версии R1.7 или выше (необходима поддержка архитектуры «модуль-как-фантомный-узел»).
  2. Скачать дистрибутив модуля.
  3. Развернуть дистрибутив в ту же папку, что и дистрибутив НПЖ (рядом с папками npj/ и core/ должна появиться папка channels/.
  4. Отредактировать конфигурацию модуля, установив подходящие значения периодов и интенсивности агрегации, доступа и прочее (см. раздел Документация )
  5. Открыть с помощью браузера адрес http://you.node.ru/channels/startup (на вашем узле) для инициализации модуля (построения таблиц в БД, настройки хт-крона)
  6. Вновь отредактировать конфигурацию модуля, установив block_startup в единицу (чтобы запретить случайную повторную инициализацию).

4. Инструкция по обновлению версии


В настоящее время нет способа обновления между старшими версиями (потому что их пока нет).
Переустановка модуля по инструкции по установке приводит к сбросу всех каналов и пересозданию базы данных.

По мере появления старших версий (или версий, требующих изменений БД), будет подготовлен скрипт обновления.


5. Документация


Здесь изложена краткая документация по модулю.
Надеюсь, со временем она станет более полной =)

5.1. Что такое «канал» или «трансляционный аккаунт»


В настоящий момент «канал» и «трансляционный аккаунт» нераздельны.

Канал — это «поток сообщений» определённого формата с определёнными параметрами, соответствующий какому-то определённому источнику агрегатора. Например, RSS-канал — это поток сообщений, которые агрегатор получает из rss, — например, из http://npj.ru/fif/rss.

Трансляционный аккаунт — это аккаунт (со специальным адресом), который связан с соответствующим каналом и в журнал которого направляются все сообщения из канала. Адреса трансляционных аккаунтов имеют такой формат:


Примеры подобных адресов:


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

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

Владелец трансляционного аккаунта (т.е. тот, кто его создал) может рубрицировать входящие сообщения, настраивать правила автоматизации (обеспечивая публикацию в сообщества или настройку прав доступа). Редактировать сообщения он не может.

5.2. Создание новых каналов


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


Кроме того, для других типов аккаунтов адреса выглядят примерно так:


Если вы пробуете это на своём узле, то вместо @npj используйте имя вашего узла.

При создании канала у вас попросят НПЖ-адрес трансляционного аккаунта и параметры канала, которые вы сможете без труда указать.
Там же вы можете задать шаблон, по которому будут формироваться сообщения.

5.3. Администрирование каналов


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

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

Владелец может настроить правила «автоматизации», чтобы новые сообщения автоматически меняли уровень доступа или публиковались в сообщества. Подробнее об автоматизации тут Об Автоматическом назначении свойств записи — kuso@npj:72934.

5.4. Настройка конфигурации модуля


Ниже приведены те настройки конфигурации, которые имеет смысл менять.
Остальные — опущены, т.е. нижеследующий фрагмент не является полноценной конфигурацией модуля.
<?
  $this
->modules["channels"] = array(
        
// ... skipped ...
        
"channels_per_aggregate" => 100,
        
"aggregate_timeout"      => 25// in seconds
        // start-up only:
        
"aggregate_cron"         => "1 * * * *",  // each hour, in xx:01
        
"aggregate_cron_error"   => "22 4 * * *"// each day,  in 04:22
        
"block_startup"          => 0// set this to "1" after startup
        // security_block
        
"security_acl"             => "*"// independent security models
        
"security_account_classes" => array( "team" => 1, ),
                                  );
  
$this->modules["channels-integration"]["as_foreign"] = array( "rss""mailbox""file" );
?>

Сейчас чуть подробнее о каждой:




 
Один файл. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]
Поделиться ссылкой