Difference between revisions of "Wikilog/ru"

From Wiki4Intranet
Jump to: navigation, search
(Наши доработки)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
{{ExtensionFromInfo|lang=ru|name=Wikilog}}
 
{{ExtensionFromInfo|lang=ru|name=Wikilog}}
 +
 +
Данная версия Wikilog очень сильно доработана нами (проектом Mediawiki4Intranet).
  
 
== Использование ==
 
== Использование ==
 +
 +
С чего начать?
 +
* Установите расширение и настройте пространство имён (см. ниже)
 +
* Создайте блог: например, откройте статью '''Blog:My_blog''' и напишите туда что-нибудь — это будет заголовок вашего блога.
 +
* Напишите пост:
 +
** Кликните вкладку «Викилог» наверху.
 +
** Введите название поста и нажмите «Создать».
 +
** Введите текст, отметьте флажок «Опубликовать» и сохраните статью.
 +
* Оставьте комментарий:
 +
** Откройте страницу блога Blog:My_blog
 +
** Нажмите «0 комментариев»
 +
** Введите текст комментария и нажмите «Отправить».
 +
 +
Более продвинутые фичи:
 +
* Добавьте ссылку на <tt><ваша_вики>/Special:Wikilog?view=archives&show=published&sort=wlp_talk_updated&desc=1</tt> в [[MediaWiki:Sidebar]] с заголовком «WikiForum» — это будет ссылка на «форумный» вид. Либо на [[Special:Wikilog]] можете просто выбрать вид: «Архивы» и отсортировать по дате обновления обсуждения.
 +
* Откройте [[Special:Wikilog]] и увидите все записи блогов вперемешку. На них можно подписаться по RSS/Atom, и также на все блоги можно подписаться в [[Special:Preferences|настройках]]. На отдельные блоги можно подписаться, просто нажав «Следить» вверху страницы блога.
 +
* Примените какие-нибудь фильтры на [[Special:Wikilog]] (по автору, дате, викилогу, категории…)
 +
* Посмотрите все комментарии ко всем блогам на [[Special:WikilogComments]]. На них тоже можно подписаться по RSS/Atom, либо по почте через [[Special:Preferences|настройки]].
 +
* Откройте главную страницу блога, нажмите вкладку «Обсуждение», и увидите все комментарии к этому блогу. На них тоже можно подписаться через RSS/Atom, либо по почте, см. ссылку «Сейчас вы подписываетесь отдельно на комментарии к каждой записи данного викилога. Включить подписку на все комментарии по умолчанию».
 +
* Включите комментарии на обычных страницах (<tt>$wgWikilogCommentNamespaces = true;</tt>). Вы будете получать email оповещения, если следите за страницей через обычный список наблюдения.
  
 
== Наши доработки ==
 
== Наши доработки ==
  
Доработок много и достаточно крупных.
+
Доработок много и достаточно крупных:
 
* «Форумный» вид — сортировка по дате последнего комментария и отслеживание количества непрочитанных комментариев
 
* «Форумный» вид — сортировка по дате последнего комментария и отслеживание количества непрочитанных комментариев
 +
* '''(!)''' Поддержка Wikilog-style иерархических обсуждений для обычных страниц
 
* Email-оповещения о комментариях
 
* Email-оповещения о комментариях
 +
* Email-оповещения о новых записях для следящих (через watchlist) за корневой страницей блога
 
* RSS/Atom-ленты комментариев
 
* RSS/Atom-ленты комментариев
 
* Подписка/отписка на все комментарии к одному или даже ко всем блогам сразу (последнее на основе пользовательской настройки)
 
* Подписка/отписка на все комментарии к одному или даже ко всем блогам сразу (последнее на основе пользовательской настройки)
* Форма создания новой записи на спецстранице Wikilog (то есть в агрегаторе)
+
* Форма создания новой записи на спецстранице Wikilog (в агрегаторе)
 
* Календарь постов для [[MediaWiki:Sidebar]]'а
 
* Календарь постов для [[MediaWiki:Sidebar]]'а
* Автоматическое «схлопывание» дискуссий из древовидного вида в линейный, если ответы не ветвятся
+
* Автоматическое «схлопывание» дискуссий из древовидного вида в линейный, если ответы не ветвятся — предотвращает слишком глубокую вложенность без потерь иерархичности
* Код иерархических комментариев частично развязан от остального кода, дабы далее иметь возможность поддержать Wikilog-style обсуждения на обычных страницах
+
* Улучшенная бинарная кодировка материализованных путей к комментариям, позволяющая хранить до 250 уровней вложенности комментариев без нарушения сортировки
 +
* Постраничная навигация, сохраняющая ветви дискуссий (ветвь никогда не разбивается на две посередине, как это было в старом Wikilog’е)
 
* Различные исправления мелких багов
 
* Различные исправления мелких багов
 +
 +
По пути доработок, очевидно, локализацию никто не дополнял, поэтому полная поддержка есть только для английского и русского языков.
  
 
== TODO ==
 
== TODO ==
  
* Оптимизировать по скорости работу страниц с комментариями
+
* Постараться либо структурировать и отправить доработки в upstream, либо принять апстрим на себя — автор дальнейшую разработку прекратил.
*: Вполне вероятно, что вместо оптимизации Wikilog’овские комментарии будут выпилены и заменены расширением [[TreeTalk]], которое будет работать для всех пространств имён (а не только для блогов), храня при этом комментарии не на отдельных страницах каждый, а все на одной странице, и отображать их за один проход — это сразу приведёт к сильному ускорению работы.
+
*: Есть подозрение, что отправлять доработки через Gerrit бесполезно, так как процесс ревью занимает нереально долгое время.
* Сделать-таки поддержку Wikilog-style иерархических обсуждений для обычных страниц
+
* Оптимизировать по скорости работу страниц с комментариями.
* Доработок накопилось много, их нужно структурировать и поотправлять в апстрим, особенно с учётом того, что автор прекратил дальнейшую разработку.
+
*: Возможно, что вместо оптимизации Wikilog’овские комментарии будут выпилены и заменены расширением [[TreeTalk]], которое будет хранить комментарии не на отдельных страницах каждый, а все на одной странице, и отображать их за один проход, что однозначно приведёт к сильному ускорению работы.
 +
* Проверить совместимость с [[IntraACL]] — то есть проверить, что права на отдельные блоги/посты/комменты ничего не ломают.
  
 
== Установка ==
 
== Установка ==
  
[[Category:Неполные описания расширений]]
+
Требует обновления БД. '''Сначала''' добавьте следующие строки в свой LocalSettings.php:
 +
 
 +
<code-php>
 +
# Минимальная конфигурация
 +
# 100 должен быть первым свободным номером пространства имён в вашей Wiki
 +
require_once "$IP/extensions/Wikilog/Wikilog.php";
 +
Wikilog::setupBlogNamespace(100);
 +
 
 +
# You can enable search in Wikilog namespace by default
 +
$wgNamespacesToBeSearchedDefault[NS_BLOG] = 1;
 +
 
 +
# Далее вы можете переопределить часть настроек из WikilogDefaultSettings.php
 +
# Здесь перечислены не все, но остальные вам могут и не пригодиться.
 +
 
 +
# Default number of articles to list in the wikilog front page and in
 +
$wgWikilogNumArticles = 20;
 +
 
 +
# Default number of comments to list in wikilog comment pages.
 +
$wgWikilogNumComments = 50;
 +
 
 +
# This should be >= either of previous two settings
 +
$wgWikilogExpensiveLimit = 100;
 +
 
 +
# Publish new articles by default.
 +
$wgWikilogSignAndPublishDefault = false;
 +
 
 +
# Set to array(NS_TALK => true, NS_<something>_TALK => true)
 +
# to enable threaded Wikilog-style comments in these namespaces.
 +
#
 +
# Set to boolean 'true' to enable such comments in ALL Talk namespaces.
 +
$wgWikilogCommentNamespaces = array();
 +
 
 +
# Date format to use for entries and comments
 +
# Should be set to one of MW date format options, for example 'ymd hms'
 +
# (see $datePreferences in languages/messages/Messages??.php)
 +
$wgWikilogPagerDateFormat = 'ymd hms';
 +
 
 +
# Default value for "not in category" field
 +
# You can set for example to some "Hidden" category so your users
 +
# can "soft-hide" some of their entries in the aggregated view
 +
$wgWikilogDefaultNotCategory = false;
 +
 
 +
# Show existing comments on each item page just below the post content
 +
# Turn off with 'false'
 +
$wgWikilogCommentsOnItemPage = true;
 +
</code-php>
 +
 
 +
После чего запустите {{cmd|php maintenance/update.php}}, чтобы применить обновления БД.
 +
 
 +
== Требования ==
 +
 
 +
* MediaWiki 1.19-1.21 или новее, либо Mediawiki4Intranet 1.18.
 +
* MySQL база данных.
 +
 
 +
=== Обновление ===
 +
 
 +
Всегда запускайте <tt>php maintenance/update.php</tt> при обновлении Wikilog’а. Это не всегда надо, но никогда не повредит :)
 +
 
 +
Если вы обновляетесь со старой версии Wikilog’а (нашей или не нашей) и у вас уже есть комментарии — также запустите:
 +
 
 +
  php maintenance/patchSql.php extensions/Wikilog/archives/fill-wikilog-comment-meta.sql
 +
 
 +
Это нужно сделать только 1 раз.

Latest revision as of 17:56, 10 October 2013

Wikilog — расширение MediaWiki.

  • Назначение: Сильно улучшенная система блогов/форумов для MediaWiki с иерархическими комментариями и другими возможностями.
  • Репозиторий: https://github.com/mediawiki4intranet/Wikilog
  • Домашняя страница: Wikilog на mediawiki.org 
  • Версия MediaWiki: гарантирована совместимость с 1.18-mw4i, 1.19-1.21, возможна с другими
  • Лицензия: GPLv2.0+ 
  • Дата создания: 2008-09-12 
  • Последняя версия: 2013-10-10 
  • Оценка расширения: Очень полезное (5)

Включение в сборку Mediawiki4Intranet:

  • Дата включения: 2009-07-08
  • Включённая версия: последняя
  • Состояние доработок: Значительно доработано в сборке MediaWiki4Intranet

Данная версия Wikilog очень сильно доработана нами (проектом Mediawiki4Intranet).

Использование

С чего начать?

  • Установите расширение и настройте пространство имён (см. ниже)
  • Создайте блог: например, откройте статью Blog:My_blog и напишите туда что-нибудь — это будет заголовок вашего блога.
  • Напишите пост:
    • Кликните вкладку «Викилог» наверху.
    • Введите название поста и нажмите «Создать».
    • Введите текст, отметьте флажок «Опубликовать» и сохраните статью.
  • Оставьте комментарий:
    • Откройте страницу блога Blog:My_blog
    • Нажмите «0 комментариев»
    • Введите текст комментария и нажмите «Отправить».

Более продвинутые фичи:

  • Добавьте ссылку на <ваша_вики>/Special:Wikilog?view=archives&show=published&sort=wlp_talk_updated&desc=1 в MediaWiki:Sidebar с заголовком «WikiForum» — это будет ссылка на «форумный» вид. Либо на Special:Wikilog можете просто выбрать вид: «Архивы» и отсортировать по дате обновления обсуждения.
  • Откройте Special:Wikilog и увидите все записи блогов вперемешку. На них можно подписаться по RSS/Atom, и также на все блоги можно подписаться в настройках. На отдельные блоги можно подписаться, просто нажав «Следить» вверху страницы блога.
  • Примените какие-нибудь фильтры на Special:Wikilog (по автору, дате, викилогу, категории…)
  • Посмотрите все комментарии ко всем блогам на Special:WikilogComments. На них тоже можно подписаться по RSS/Atom, либо по почте через настройки.
  • Откройте главную страницу блога, нажмите вкладку «Обсуждение», и увидите все комментарии к этому блогу. На них тоже можно подписаться через RSS/Atom, либо по почте, см. ссылку «Сейчас вы подписываетесь отдельно на комментарии к каждой записи данного викилога. Включить подписку на все комментарии по умолчанию».
  • Включите комментарии на обычных страницах ($wgWikilogCommentNamespaces = true;). Вы будете получать email оповещения, если следите за страницей через обычный список наблюдения.

Наши доработки

Доработок много и достаточно крупных:

  • «Форумный» вид — сортировка по дате последнего комментария и отслеживание количества непрочитанных комментариев
  • (!) Поддержка Wikilog-style иерархических обсуждений для обычных страниц
  • Email-оповещения о комментариях
  • Email-оповещения о новых записях для следящих (через watchlist) за корневой страницей блога
  • RSS/Atom-ленты комментариев
  • Подписка/отписка на все комментарии к одному или даже ко всем блогам сразу (последнее на основе пользовательской настройки)
  • Форма создания новой записи на спецстранице Wikilog (в агрегаторе)
  • Календарь постов для MediaWiki:Sidebar
  • Автоматическое «схлопывание» дискуссий из древовидного вида в линейный, если ответы не ветвятся — предотвращает слишком глубокую вложенность без потерь иерархичности
  • Улучшенная бинарная кодировка материализованных путей к комментариям, позволяющая хранить до 250 уровней вложенности комментариев без нарушения сортировки
  • Постраничная навигация, сохраняющая ветви дискуссий (ветвь никогда не разбивается на две посередине, как это было в старом Wikilog’е)
  • Различные исправления мелких багов

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

TODO

  • Постараться либо структурировать и отправить доработки в upstream, либо принять апстрим на себя — автор дальнейшую разработку прекратил.
    Есть подозрение, что отправлять доработки через Gerrit бесполезно, так как процесс ревью занимает нереально долгое время.
  • Оптимизировать по скорости работу страниц с комментариями.
    Возможно, что вместо оптимизации Wikilog’овские комментарии будут выпилены и заменены расширением TreeTalk, которое будет хранить комментарии не на отдельных страницах каждый, а все на одной странице, и отображать их за один проход, что однозначно приведёт к сильному ускорению работы.
  • Проверить совместимость с IntraACL — то есть проверить, что права на отдельные блоги/посты/комменты ничего не ломают.

Установка

Требует обновления БД. Сначала добавьте следующие строки в свой LocalSettings.php:

# Минимальная конфигурация
# 100 должен быть первым свободным номером пространства имён в вашей Wiki
require_once "$IP/extensions/Wikilog/Wikilog.php";
Wikilog::setupBlogNamespace(100);
 
# You can enable search in Wikilog namespace by default
$wgNamespacesToBeSearchedDefault[NS_BLOG] = 1;
 
# Далее вы можете переопределить часть настроек из WikilogDefaultSettings.php
# Здесь перечислены не все, но остальные вам могут и не пригодиться.

# Default number of articles to list in the wikilog front page and in
$wgWikilogNumArticles = 20;
 
# Default number of comments to list in wikilog comment pages.
$wgWikilogNumComments = 50;
 
# This should be >= either of previous two settings
$wgWikilogExpensiveLimit = 100;
 
# Publish new articles by default.
$wgWikilogSignAndPublishDefault = false;
 
# Set to array(NS_TALK => true, NS_<something>_TALK => true)
# to enable threaded Wikilog-style comments in these namespaces.
#
# Set to boolean 'true' to enable such comments in ALL Talk namespaces.
$wgWikilogCommentNamespaces = array();
 
# Date format to use for entries and comments
# Should be set to one of MW date format options, for example 'ymd hms'
# (see $datePreferences in languages/messages/Messages??.php)
$wgWikilogPagerDateFormat = 'ymd hms';
 
# Default value for "not in category" field
# You can set for example to some "Hidden" category so your users
# can "soft-hide" some of their entries in the aggregated view
$wgWikilogDefaultNotCategory = false;
 
# Show existing comments on each item page just below the post content
# Turn off with 'false'
$wgWikilogCommentsOnItemPage = true;

После чего запустите php maintenance/update.php, чтобы применить обновления БД.

Требования

  • MediaWiki 1.19-1.21 или новее, либо Mediawiki4Intranet 1.18.
  • MySQL база данных.

Обновление

Всегда запускайте php maintenance/update.php при обновлении Wikilog’а. Это не всегда надо, но никогда не повредит :)

Если вы обновляетесь со старой версии Wikilog’а (нашей или не нашей) и у вас уже есть комментарии — также запустите:

 php maintenance/patchSql.php extensions/Wikilog/archives/fill-wikilog-comment-meta.sql

Это нужно сделать только 1 раз.