Difference between revisions of "Wikilog"

From Wiki4Intranet
Jump to: navigation, search
m (typo)
 
Line 135: Line 135:
  
 
Always run <tt>php maintenance/update.php</tt> when you're updating Wikilog. Some of the updates
 
Always run <tt>php maintenance/update.php</tt> when you're updating Wikilog. Some of the updates
may not need it, bun an extra run will never harm :)
+
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
 
If you are upgrading from one of previous versions of Wikilog, you should also run

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.