Extension:MediaWiki Bulletin Board

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
MediaWiki Bulletin Board

Release status: beta

Implementation Special page
Description MWBB is MediaWiki Bulletin Board, a message board or forum extension for MediaWiki.
Author(s) Ridwan Al Iqbal
License GPL 2.0
Download http://sourceforge.net/projects/mwbb/

If you have MediaWiki 1.12 or Higher, click here.
Added rights

see below

Check usage and version matrix

MWBB is MediaWiki Bulletin Board, a message board or forum extension for MediaWiki software. MWBB is released under GNU GPL 2.0 and is editable, distributable by anyone. MWBB is at beta stage.

Contents

Features [edit]

  • Forum specific permissions with Moderator, Forum administrator, Special Member rights.
  • Topic moderation: Closed, Sticky, Global Announcement topics.
  • Full wikitext support in posts.
  • Forum administration with the ability to create/edit category and forums and forum/category position system.
  • Full Private Message system with wikitext support and specific inbox size.

Example [edit]

Download [edit]

Download the MediaWiki Bulletin Board at http://sourceforge.net/projects/mwbb/ .

Installation [edit]

  • Decompress the zipped archive.
  • Upload mwbb folder in the MediaWiki extensions/ folder.
  • Upload install.php in the wiki root.
  • Run the install.php from browser and install the necessary database tables.
  • Edit LocalSettings.php and add the following line at the bottom:
require_once("$IP/extensions/mwbb/mwbb.php");
  • Browse to Special:Forum on your wiki.
  • Enjoy!

MediaWiki 1.12 Fix [edit]

There has been some "errors" shown whenever someone tries to post in a topic, or make one. This can be fixed by just changing a line in a file called EditPage.php in the includes folder.

To fix it, all you have to do is just go to /includes/EditPage.php, and then search for the line:

$this->mTitle = $article->getTitle();

Now, just change that line to:

global $wgTitle;
$this->mTitle = $wgTitle;
It's as simple as that!

Installing PM System [edit]

To enable PM, you need to edit an extra file. Edit includes/SkinTemplate.php. Go to this area

 $href = $this->makeSpecialUrl("Contributions/$this->username");
                        $personal_urls['mycontris'] = array(
                                'text' => wfMsg('mycontris'),
                                'href' => $href
                                # FIXME #  'active' => ( $href == $pageurl . '/' . $this->username )
                                );

After this line, add:

wfRunHooks( 'PersonalTabsbeforelogout', array( &$this, &$personal_urls ) ); //The hook for adding new personal link, for MWBB PM extension

then save file.

Administration [edit]

All the administration is either done in the admin panel or by editing mwbb.php.

mwbb.php [edit]

mwbb.php holds all the site wide configuration.

Permissions [edit]

Here is all the available permissions in mwbb.

1. bb_view: Viewing of forum/topic/post. If not given to guests. they will see "Access denied" message.

                 default: all

2. bb_post: Ability to post.

                  default: registered users
                  restriction; guests can't post even if they are given this permission.

3. bb_mod: Should be given to Moderator and sysops. This Gives rights to use Topic moderation options such as sticky posts. Mods can't announce.

                  default: sysops

4. bb_admin: Forum administration power and Announcements. Announcements Appear on all forums.

                   default: sysops

5. bb_special: Any special group. No mod/admin powers. just to distinguish normal users. They can access forums that are marked as "Special only".

                   default:none
                   Note: this rights is for those who are special members of wiki but not eligible for mod.

How to give permission to a group? [edit]

Just add the following line in the LocalSettings.php. Change GROUPNAME and PERMISSION_NAME with your desired group and permission.

$wgGroupPermissions['GROUP_NAME']['PERMISSION_NAME'] = true;

example:

$wgGroupPermissions['forum_mod']['bb_mod'] = true;

See Manual:$wgGroupPermissions and Manual:User rights for more information.

Site Config [edit]

To change site specific configs such as "topics per page", edit the mwbb.php file.

Admin Panel [edit]

Admin Panel is the place to add/edit/delete forums and categories. Just follow the link in the bottom of forum index.

Moderation [edit]

Moderation is provided on the bottom of every topic. Just select the apropriate option. Topic type can also be changed by clicking "edit" on the first post of a topic and Selecting the right type. topic types: Sticky, Announcement, Normal. Note: only mods can stick topics while admins can announce.

Private message [edit]

PM system has notification that will give a message box telling how many new messages are there in the inbox.

Changing Inbox Size Limit [edit]

Add this to the LocalSettings.php file.

$wgInbox_size = 999999;

Modifications [edit]

Click here for modifications for MWBB.

Bugs/help [edit]

For help/patches and bug releases, go to http://sourceforge.net/projects/mwbb/ .

SQLite Changes [edit]

The supplied files do not work with SQLite. However, they can be made to work with a few changes (see below). Backup your database before you start!

schema.sql

  • Remove all '%s' references from the start of the table names (in CREATE TABLE and INSERT statements)
  • Remove 'ENGINE=MyISAM' clause from all CREATE TABLE statements
  • Remove PRIMARY KEY table clause
  • Add PRIMARY KEY column clause

The diff extract below shows the changes required for the first table (bbcategory). The others are similar.

1,2c1,2
< CREATE TABLE IF NOT EXISTS %sbbcategory (
<   `cat_id` INT(11) NOT NULL AUTO_INCREMENT,
---
> CREATE TABLE IF NOT EXISTS `bbcategory` (
>   `cat_id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
5,7c5,6
<   `cat_order` INT(5) NOT NULL DEFAULT '0',
<   PRIMARY KEY  (`cat_id`)
< ) ENGINE=MyISAM ;
---
>   `cat_order` INT(5) NOT NULL DEFAULT '0'
> )  ;
9c8
< INSERT INTO `%sbbcategory` (`cat_id`, `cat_name`, `cat_desc`, `cat_order`) VALUES (1, 'Hallo world', 'This is a test  Cat', 1);
---
> INSERT INTO `bbcategory` (`cat_id`, `cat_name`, `cat_desc`, `cat_order`) VALUES (1, 'Hallo world', 'This is a test  Cat', 1);
11,12c10,11

PHP files

The SQLite UPDATE and DELETE verbs do not support a LIMIT clause. This needs to be removed from the files:

  • admin.php
  • mod.php
  • topic.php
  • SpecialPm.php

The diff extract below shows the changes to admin.php. The others are similar.


See also [edit]