Wikilog
From Wiki4Intranet
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
Contents
Usage
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.
Installation
Requires DB update. First add the following into your LocalSettings.php:
# Minimal configuration 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.