====== Новостные ленты XML ====== «[[dokuwiki|Докувики]]» предоставляет некоторые свои данные для новостных лент XML с помощью файла [[this>feed.php]]. На новостную ленту можно подписаться в [[wp>Aggregator|агрегаторе]]. Функциональность XML-рассылки((XML Syndication)) реализована в замечательном классе [[http://www.bitfolge.de/rsscreator-en.html|Feed Creator]], написанном Каем Блэнкенхорном (Kai Blankenhorn). ===== Опции, заданные в конфигурации или переданные в URL ===== То, каким образом происходит рассылка, настраивается с помощью определённых опций. При вызове ''feed.php'' без аргументов, он использует эти опции для работы. Значения всех опций могут быть переписаны параметрами, переданными в URL. ==== Ссылки ==== Каждый элемент в созданной ленте имеет ссылку; эта опция определяет, куда эта ссылка указывает. * Опция конфигурации: [[wiki:config:rss_linkto]] * Параметр URL: linkto * По умолчанию: diff * Возможные значения: ^ Значение ^ Ссылка ^ | page | Версия статьи на момент создания рассылки. | | current | Наиболее свежая версия статьи. | | rev | Страница со списком версий статьи. | | diff | [[wiki:diff]]-вид изменений статей. | ==== Содержание новостной ленты ==== Этой опцией определяется, что показывается в теле элемента новостной ленты. * Опция конфигурации: [[wiki:config:rss_content]] * Параметр URL: content * По умолчанию: abstract * Возможные значения: ^ Значение ^ Содержимое элемента ^ | abstract | Первый параграф статьи | | diff | diff-вид изменений статьи в виде простого текста. | | htmldiff | diff-вид изменений статьи в виде таблице в формате HTML. | | html | Всё содержание статьи в виде HTML. | ==== Формат новостной ленты ==== «ДокуВики» может создавать XML-рассылки в нескольких форматах. * Опция конфигурации: [[wiki:config:rss_type]] * Параметр URL: type * По умолчанию: rss1 * Возможные значения: ^ Значение ^ Формат рассылки ^ | rss | RSS 0.91 | | rss1 | RSS 1.0 | | rss2 | RSS 2.0 | | atom | ATOM 0.3 | | atom1 | ATOM 1.0 | ==== Режим списков ==== feed.php может быть использован для экспорта списка последних изменений (по умолчанию), но на ряду с этим может использоваться и для других списков. * Опция конфигурации: none * Параметр URL: mode * По умолчанию: recent * Возможные значения: ^ Значение ^ Режим списка ^ | recent | Список наиболее свежих статей, самые свежие сверху. | | list | Простой список всех статей в пространстве имён (какого имени --- см. ниже) | | search | Список статей, соответствующих запросу поиска, заданного в дополнительном параметре ''q'' | ==== Фильтр пространств имён ==== Лента новостей может быть ограничена статьями только конкретного пространства имён. * Опция конфигурации: none * Параметр URL: ns * По умолчанию: * * Возможные значения: любое допустимое пространство имён В [[#Режим списков|режиме списков]] ''list'' лента будет содержать статьи только из данного пространства имён, но не из его подпространств. В [[#Режим списков|режиме списков]] ''recent'' подпространства включаются. Ограничение пространства имён напрямую не поддерживается для [[#Режим списков|режима списков]] ''search''. Вместо этого вы можете ограничить пространство имён в запросе, используя символ «@», однако при этом будут включены подпространства. ==== Ограничение числа элементов ==== Здесь может быть определено число статей в рассылке новостей. * Опция конфигурации: [[wiki:config:recent]] * Параметр URL: num * По умолчанию: 20 * Возможные значения: целое число ==== Включение малых правок ==== По умолчанию малые правок (minor edits) будут отражаться в рассылке. Это может быть изменено в параметре URL. * Опция конфигурации: none * Параметр URL: minor * По умолчанию: 0 * Возможные значения: 0 или 1 ==== Кэширование ==== Рассылки XML кэшируются для уменьшения нагрузки на вики. Эта опция контролирует, насколько долго кэши новостей считаются валидными. * Опция конфигурации: [[wiki:config:rss_update]] * Параметр URL: нет * По умолчанию: 5*60 * Возможные значения: время в секундах ==== Сводки изменений ==== [[summary|Сводка]] изменений статьи обычно включается в заголовок элемента новостной ленты. Это может быть нежелательно и может быть отключено. * Опция конфигурации: [[wiki:config:rss_show_summary]] * Параметр URL: нет * По умолчанию: 1 * Возможные значения: 0 или 1 ===== Примеры ===== * [[this>feed.php?type=rss2&num=5]] возвращает RSS-2.0-рассылку пяти наиболее свежих изменений; * [[this>feed.php?mode=list&type=atom&linkto=page&ns=wiki]] перечисляет все статьи в пространстве имён «wiki» в формате ATOM-0.3-рассылки, в которой каждый элемент связан непосредственно со статьёй. ===== Новостные ленты и списки доступа ===== Когда включены [[wiki:acl|списки доступа]] (ACL), статьи с ограниченным доступом по чтению **не** будут включены в публичные ленты новостей. Если вы хотите получить доступ к рассылкам ограниченных статей, вам нужно передать ваши имя пользователя и пароль в URL, как показано здесь: ''http://example.com/dokuwiki/feed.php?u=username&p=password'' :!: Это не очень безопасно и может привести к утечке ваших персональных данных. Но в тоже время, это может работать, когда «ДокуВики» работает поверх ''mod_php'', который передаёт логин/пароль через схему аутентификации «HTTP Basic Auth», и некоторые агрегаторы поддерживают её. ==== Подход, использующий .htusers ==== В моей конфигурации (dokuwiki 2008-05-05 и [[http://liferea.sourceforge.net/|Liferea]]) аутентификация «HTTP Basic Auth» не работала «из коробки». Оказалось, что аутентификация не проходила потому, что веб-сервер не запрашивал её. Поэтому я принудил её совершаться, создав файл .htusers (из информации по пользователям «ДокуВики») и ограничил доступ к feed.php: Я использовал следующий простой скрипт для генерации файла .htusers, используемый Apache, из данных пользователей «ДокуВики»: user@host# cat update_htusers #!/bin/sh grep -v '^#' users.auth.php | cut -sd\: -f1,2 > .htusers Добавьте к существующему файлу .htaccess в основной директории «ДокуВики»: AuthType Basic AuthName "feed" AuthUserFile path-to-your-htusers-file Order deny,allow require valid-user ===== См. также ===== * [[wiki:rss|Агрегация рассылок RSS/ATOM]] для добавления внешних лент в ваши статьи «ДокуВики». * Плагин [[plugin:feed|Feed]] для других способов экспортировать посты вашего [[plugin:blog|блога]] через RSS. * Советы по [[wiki:tips:blogging#feed_setup|установке рассылки]], если хотите вести блог с помощью своей «ДокуВики».