Wikilog
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.