Это старая версия документа!
Содержание
Новостные ленты XML
DokuWiki предоставляет некоторые свои данные для новостных лент XML с помощью файла feed.php. На новостную ленту можно подписаться в агрегаторе.
Функциональность XML-рассылки1) реализована в замечательном классе Feed Creator, написанном Kai Blankenhorn.
Опции заданные в конфигурации или переданные в URL
То, каким образом происходит рассылка, настраивается с помощью определенных опций. При вызове feed.php без аргументов он использует эти опции для работы. Значения всех опций могут быть переписаны параметрами переданными в URL.
Ссылки
Каждый элемент в созданной ленте имеет ссылку; эта опция определяет, куда эта ссылка указывает.
- Опция конфигурации: rss_linkto
- Параметр URL: linkto
- По умолчанию: diff
- Возможные значения:
Значение | Ссылка |
---|---|
page | версия статьи на момент создания рассылки |
current | наиболее свежая версия статьи |
rev | страница со списком версий статьи |
diff | вид diff изменений статей |
Содержание новостной ленты
Этой опцией определяется, что показывается в теле элемента новостной ленты.
- Опция конфигурации: rss_content
- Параметр URL: content
- По умолчанию: abstract
- Возможные значения:
Значение | Содержимое элемента |
---|---|
abstract | Первый параграф статьи |
diff | diff изменений статьи в виде простого текста |
htmldiff | diff изменений статьи в виде таблице в формате HTML |
html | все содержание статьи в виде HTML |
Формат новостной ленты
DokuWiki может создавать XML-рассылки в нескольких форматах.
- Опция конфигурации: 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
. Вместо этого вы можете ограничить пространство имен в запросе (используя символ @
), однако, при этом будут включены подпространства.
Ограничение числа элементов
Здесь может быть определено число статей в рассылке новостей.
- Опция конфигурации: recent
- Параметр URL: num
- По умолчанию: 20
- Возможные значения: целое число
Включение малых правок
По умолчанию малые правок2) будут отражаться в рассылке. Это может быть изменено в параметре URL.
- Опция конфигурации: none
- Параметр URL: minor
- По умолчанию: 0
- Возможные значения: 0 или 1
Кэширование
Рассылки XML кэшируются для уменьшения нагрузки на wiki. Эта опция контролирует, насколько долго кэши новостей считаются валидными.
- Опция конфигурации: rss_update
- Параметр URL: нет
- По умолчанию: 5*60
- Возможные значения: время в секундах
Сводки изменений
Сводка3) изменений статьи обычно включается в заголовок элемента новостной ленты. Это может быть не желательно и может быть отключено.
- Опция конфигурации: rss_show_summary
- Параметр URL: нет
- По умолчанию: 1
- Возможные значения: 0 или 1
Примеры
- feed.php?type=rss2&num=5 возвращает RSS 2.0-рассылку 5-ти наиболее свежих изменений
- feed.php?mode=list&type=atom&linkto=page&ns=wiki перечисляет все статьи в пространстве имен wiki в формате ATOM 0.3-рассылки, в которой каждый элемент связан непосредственно со статьей
[[this>feed.php?type=rss2&num=5]] возвращает RSS 2.0-рассылку 5-ти наиболее свежих изменений [[this>feed.php?mode=list&type=atom&linkto=page&ns=wiki]] перечисляет все статьи в пространстве имен wiki в формате ATOM 0.3-рассылки, в которой каждый элемент связан непосредственно со статьей
Новостные ленты и списки доступа
Когда включены списки доступа (ACL), статьи с ограниченным доступом по чтению НЕ будут включены в публичные ленты новостей.
Если вы хотите получить доступ к рассылкам ограниченных статей, вам нужно передать ваши имя пользователя и пароль в URL, как показано здесь: ''http://example.com/dokuwiki/feed.php?u=username&p=password''.
Это не очень безопасно и может привести к утечке ваших персональных данных.
Но в тоже время, это может работать, когда DokuWiki работает поверх mod_php
, который передает логин/пароль через схему аутентификации 'HTTP Basic Auth', и некоторые агрегаторы поддерживают ее.
Подход, использующий .htusers
В моей конфигурации (dokuwiki 2008-05-05 и Liferea) аутентификация HTTP Basic Auth не работала «из коробки». Оказалось, что аутентификация не проходила потому, что веб-сервер ее не запрашивал ее. Поэтому я принудил ее совершаться, создав файл .htusers ( For my configuration (dokuwiki 2008-05-05 and Liferea) the HTTP Basic Auth approach did not work out of the box. It seems that the authentication was not happening because the web server did not ask for it. So I forced this by creating a .htusers file (из информации по пользователям dokuwiki) и ограничил доступ к feed.php:
Я использовал следующий простой скрипт для генерации файла .htusers (используемый Apache) из данных пользователей dokuwikis:
user@host# cat update_htusers #!/bin/sh grep -v '^#' users.auth.php | cut -sd\: -f1,2 > .htusers
Добавьте к существующему файлу .htaccess в основной директории dokuwiki:
AuthType Basic AuthName "feed" AuthUserFile path-to-your-htusers-file <Files feed.php> Order deny,allow require valid-user </Files>
См. также
- Агрегация рассылок RSS/ATOM для добавления внешних лент в ваши статьи «ДокуВики»
- Советы по установке рассылки, если хотите вести блог с помощью своей «ДокуВики»