Difference between revisions of "Wikilog"

From Wiki4Intranet
Jump to: navigation, search
m (typo)
 
(9 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
{{Extension4info
 
{{Extension4info
 
|name=Wikilog
 
|name=Wikilog
|mediawiki=tested 1.18-1.21, maybe newer
+
|mediawiki=1.18-mw4i, 1.19-1.21
 
|description en=Heavily improved blog and forum system for MediaWiki with hierarchical comments and other features.
 
|description en=Heavily improved blog and forum system for MediaWiki with hierarchical comments and other features.
 
|description ru=Сильно улучшенная система блогов/форумов для MediaWiki с иерархическими комментариями и другими возможностями.
 
|description ru=Сильно улучшенная система блогов/форумов для MediaWiki с иерархическими комментариями и другими возможностями.
 
|created=2008-09-12
 
|created=2008-09-12
 
|included=2009-07-08
 
|included=2009-07-08
 +
|version=2013-10-10
 
|status=fork
 
|status=fork
 
|useful=definitely
 
|useful=definitely
 
}}
 
}}
 
{{ExtensionFromInfo|lang=en|name=Wikilog}}
 
{{ExtensionFromInfo|lang=en|name=Wikilog}}
 +
 +
Wikilog is a MediaWiki extension that enhances the wiki software with some
 +
common blogging features, making it a wiki-blog-forum hybrid.
 +
 +
This is a version heavily modified by Mediawiki4Intranet project. Version control access and issue tracking are available on github:
 +
 +
* https://github.com/mediawiki4intranet/Wikilog
 +
 +
Information about previous versions can be found on:
 +
 +
* http://www.mediawiki.org/wiki/Extension:Wikilog
 +
* http://groups.google.com/group/mediawiki-wikilog
  
 
== Usage ==
 
== Usage ==
 +
 +
Quickstart:
 +
* Install the extension and configure the Blog namespace (see below).
 +
* Create a blog: for example, go to '''Blog:My_blog''' article and put any content on it. This will be your blog header.
 +
* Create a post:
 +
** Click «Wikilog» tab in the top.
 +
** Enter the post title and click «Create» button.
 +
** Enter the post content, mark «Publish» checkbox and save the article.
 +
* Comment on a post:
 +
** Go to Blog:My_blog
 +
** Click «0 comments»
 +
** Enter comment text in the editbox and click «Post comment»
 +
 +
Advanced tips:
 +
* Add link to <tt><your_wiki>/Special:Wikilog?view=archives&show=published&sort=wlp_talk_updated&desc=1</tt> in your [[MediaWiki:Sidebar]] with «WikiForum» title to get a forum view. Or you can just select «Archives» and sort by «Talk updated» column.
 +
* Go to [[Special:Wikilog]] to view all blog posts interleaved. You can subscribe to them via RSS/Atom, and you can subscribe to them by email in [[Special:Preferences|Preferences]].
 +
* Apply some filters on [[Special:Wikilog]] (author, date, wikilog, category…)
 +
* Go to [[Special:WikilogComments]] to view all comments. You can subscribe to all comments via RSS/Atom. You can also subscribe to them by email in [[Special:Preferences|Preferences]].
 +
* Go to the main page of a blog, click «Discussion» tab — you’ll see all comments to that blog and also subscribe to them via RSS/Atom.
 +
* Enable Wikilog-style comments on normal pages (<tt>$wgWikilogCommentNamespaces = true;</tt>). You'll receive email notifications if that page is on your watchlist.
  
 
== Our improvements ==
 
== Our improvements ==
Line 19: Line 52:
 
*: {{Tip}} Add link to <tt><your_wiki>/Special:Wikilog?view=archives&show=published&sort=wlp_talk_updated&desc=1</tt> in your [[MediaWiki:Sidebar]] with «WikiForum» title to get a forum view.
 
*: {{Tip}} Add link to <tt><your_wiki>/Special:Wikilog?view=archives&show=published&sort=wlp_talk_updated&desc=1</tt> in your [[MediaWiki:Sidebar]] with «WikiForum» title to get a forum view.
 
* '''(!)''' Wikilog-style hierarchical talk support for normal pages, not just for the blogs.
 
* '''(!)''' Wikilog-style hierarchical talk support for normal pages, not just for the blogs.
* Comment email-notifications
+
* Comment email notifications
* New blog entry email-notifications for main blog page watchers
+
* New blog entry email notifications for main blog page watchers
 
* RSS/Atom comment feeds
 
* RSS/Atom comment feeds
 
* Subscribing/unsubscribing to all comments in a blog, or even in all blogs in a wiki (the last is a user preference)
 
* Subscribing/unsubscribing to all comments in a blog, or even in all blogs in a wiki (the last is a user preference)
Line 41: Line 74:
 
* Optimize comment pages performance
 
* Optimize comment pages performance
 
*: Maybe it would be good to remove comments from Wikilog at all, and implement them as a separate [[TreeTalk]] extension storing all comments on a single page instead of separate pages for all comments — it would work much faster. But maybe it’s not needed.
 
*: Maybe it would be good to remove comments from Wikilog at all, and implement them as a separate [[TreeTalk]] extension storing all comments on a single page instead of separate pages for all comments — it would work much faster. But maybe it’s not needed.
 +
* Check [[IntraACL]] compatibility — i.e. check that rights for individual pages/comments/blogs don’t break anything.
  
 
== Installation ==
 
== Installation ==
Line 48: Line 82:
 
<code-php>
 
<code-php>
 
# Minimal configuration
 
# Minimal configuration
 +
# 100 must be the first unused in your wiki namespace number
 
require_once "$IP/extensions/Wikilog/Wikilog.php";
 
require_once "$IP/extensions/Wikilog/Wikilog.php";
 
Wikilog::setupBlogNamespace(100);
 
Wikilog::setupBlogNamespace(100);
Line 92: Line 127:
 
And '''then''' run {{cmd|php maintenance/update.php}} to apply DB changes.
 
And '''then''' run {{cmd|php maintenance/update.php}} to apply DB changes.
  
[[Category:Incomplete extension descriptions]]
+
== Requirements ==
 +
 
 +
* MediaWiki 1.19-1.21 or higher, or Mediawiki4Intranet 1.18.
 +
* A MySQL database backend.
 +
 
 +
=== Upgrading ===
 +
 
 +
Always run <tt>php maintenance/update.php</tt> when you're updating Wikilog. Some of the updates
 +
may not need it, but an extra run will never harm :)
 +
 
 +
If you are upgrading from one of previous versions of Wikilog, you should also run
 +
 
 +
  php maintenance/patchSql.php extensions/Wikilog/archives/fill-wikilog-comment-meta.sql
 +
 
 +
in your Wiki document root. This command should be only run once.

Latest revision as of 16:24, 11 July 2014

Wikilog is a MediaWiki extension.

  • Main purpose: Heavily improved blog and forum system for MediaWiki with hierarchical comments and other features.
  • Repository: https://github.com/mediawiki4intranet/Wikilog
  • Homepage: Wikilog on mediawiki.org 
  • Compatible MediaWiki versions: guaranteed 1.18-mw4i, 1.19-1.21, maybe others
  • License: GPLv2.0+ 
  • Created: 2008-09-12 
  • Last version: 2013-10-10 
  • Our rating: Definitely useful (5)

Status for Mediawiki4Intranet distribution:

  • Inclusion date: 2009-07-08
  • Included version: newest available
  • Improvement status: Forked in MediaWiki4Intranet with major improvements

Wikilog is a MediaWiki extension that enhances the wiki software with some common blogging features, making it a wiki-blog-forum hybrid.

This is a version heavily modified by Mediawiki4Intranet project. Version control access and issue tracking are available on github:

Information about previous versions can be found on:

Usage

Quickstart:

  • Install the extension and configure the Blog namespace (see below).
  • Create a blog: for example, go to Blog:My_blog article and put any content on it. This will be your blog header.
  • Create a post:
    • Click «Wikilog» tab in the top.
    • Enter the post title and click «Create» button.
    • Enter the post content, mark «Publish» checkbox and save the article.
  • Comment on a post:
    • Go to Blog:My_blog
    • Click «0 comments»
    • Enter comment text in the editbox and click «Post comment»

Advanced tips:

  • Add link to <your_wiki>/Special:Wikilog?view=archives&show=published&sort=wlp_talk_updated&desc=1 in your MediaWiki:Sidebar with «WikiForum» title to get a forum view. Or you can just select «Archives» and sort by «Talk updated» column.
  • Go to Special:Wikilog to view all blog posts interleaved. You can subscribe to them via RSS/Atom, and you can subscribe to them by email in Preferences.
  • Apply some filters on Special:Wikilog (author, date, wikilog, category…)
  • Go to Special:WikilogComments to view all comments. You can subscribe to all comments via RSS/Atom. You can also subscribe to them by email in Preferences.
  • Go to the main page of a blog, click «Discussion» tab — you’ll see all comments to that blog and also subscribe to them via RSS/Atom.
  • Enable Wikilog-style comments on normal pages ($wgWikilogCommentNamespaces = true;). You'll receive email notifications if that page is on your watchlist.

Our improvements

Our Wikilog version is heavily improved; there is a lot of new big features:

  • «Forum» view — i.e. sorting of entries by the date of last comment in «archives» mode, and unread comment count tracking
    Add link to <your_wiki>/Special:Wikilog?view=archives&show=published&sort=wlp_talk_updated&desc=1 in your MediaWiki:Sidebar with «WikiForum» title to get a forum view.
  • (!) Wikilog-style hierarchical talk support for normal pages, not just for the blogs.
  • Comment email notifications
  • New blog entry email notifications for main blog page watchers
  • RSS/Atom comment feeds
  • Subscribing/unsubscribing to all comments in a blog, or even in all blogs in a wiki (the last is a user preference)
  • New post creation form on Special:Wikilog (in the «blog agregator»)
  • Drop-down lists for wikilog/author/category fields on Special:Wikilog
  • Post calendar for MediaWiki:Sidebar
    Add «* wikilogcalendar» to MediaWiki:Sidebar to enable it
  • Automatic folding of non-branching comments to the linear view — this prevents too many nesting levels without any loss of hierarchy
  • Improved binary encoding of materialized paths to comments, allowing to store up to 250 nesting levels, versus 36 in old Wikilog
  • Pagination which never breaks discussion threads
  • Experimental support for importing dumps from blogger.com
  • Various bug fixes

The localisation was of course broken in the meantime — there is full support only for English and Russian :)

TODO

  • Try to structurize improvements and send them to upstream, or just become the real upstream, because the original author has stopped the development.
    I suppose it would be very hard to push changes via Gerrit because the review process takes incredibly long times.
  • Optimize comment pages performance
    Maybe it would be good to remove comments from Wikilog at all, and implement them as a separate TreeTalk extension storing all comments on a single page instead of separate pages for all comments — it would work much faster. But maybe it’s not needed.
  • Check IntraACL compatibility — i.e. check that rights for individual pages/comments/blogs don’t break anything.

Installation

Requires DB update. First add the following into your LocalSettings.php:

# Minimal configuration
# 100 must be the first unused in your wiki namespace number
require_once "$IP/extensions/Wikilog/Wikilog.php";
Wikilog::setupBlogNamespace(100);
 
# You can enable search in Wikilog namespace by default
$wgNamespacesToBeSearchedDefault[NS_BLOG] = 1;
 
# Then you can override some settings from WikilogDefaultSettings.php
# Not all of them are listed here, just the basic ones

# 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;

And then run php maintenance/update.php to apply DB changes.

Requirements

  • MediaWiki 1.19-1.21 or higher, or Mediawiki4Intranet 1.18.
  • A MySQL database backend.

Upgrading

Always run php maintenance/update.php when you're updating Wikilog. Some of the updates may not need it, but an extra run will never harm :)

If you are upgrading from one of previous versions of Wikilog, you should also run

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

in your Wiki document root. This command should be only run once.