Difference between revisions of "Wikilog/ru"
(5 intermediate revisions 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-оповещения о новых записях для следящих (через watchlist) за корневой страницей блога | ||
+ | * RSS/Atom-ленты комментариев | ||
+ | * Подписка/отписка на все комментарии к одному или даже ко всем блогам сразу (последнее на основе пользовательской настройки) | ||
+ | * Форма создания новой записи на спецстранице Wikilog (в агрегаторе) | ||
+ | * Календарь постов для [[MediaWiki:Sidebar]]'а | ||
+ | * Автоматическое «схлопывание» дискуссий из древовидного вида в линейный, если ответы не ветвятся — предотвращает слишком глубокую вложенность без потерь иерархичности | ||
+ | * Улучшенная бинарная кодировка материализованных путей к комментариям, позволяющая хранить до 250 уровней вложенности комментариев без нарушения сортировки | ||
+ | * Постраничная навигация, сохраняющая ветви дискуссий (ветвь никогда не разбивается на две посередине, как это было в старом Wikilog’е) | ||
+ | * Различные исправления мелких багов | ||
+ | |||
+ | По пути доработок, очевидно, локализацию никто не дополнял, поэтому полная поддержка есть только для английского и русского языков. | ||
+ | |||
+ | == TODO == | ||
+ | |||
+ | * Постараться либо структурировать и отправить доработки в upstream, либо принять апстрим на себя — автор дальнейшую разработку прекратил. | ||
+ | *: Есть подозрение, что отправлять доработки через Gerrit бесполезно, так как процесс ревью занимает нереально долгое время. | ||
+ | * Оптимизировать по скорости работу страниц с комментариями. | ||
+ | *: Возможно, что вместо оптимизации Wikilog’овские комментарии будут выпилены и заменены расширением [[TreeTalk]], которое будет хранить комментарии не на отдельных страницах каждый, а все на одной странице, и отображать их за один проход, что однозначно приведёт к сильному ускорению работы. | ||
+ | * Проверить совместимость с [[IntraACL]] — то есть проверить, что права на отдельные блоги/посты/комменты ничего не ломают. | ||
+ | |||
+ | == Установка == | ||
+ | |||
+ | Требует обновления БД. '''Сначала''' добавьте следующие строки в свой 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 раз.