Multi-user Environment in MediaWiki 1.1

Exclusive offer: get 50% off this eBook here
MediaWiki 1.1 Beginner's Guide

MediaWiki 1.1 Beginner's Guide — Save 50%

Install, manage, and customize your own MediaWiki-based site

$23.99    $12.00
by Jeff Orlof Mizanur Rahman | March 2010 | Open Source

In this article by Mizanur Rahman and Jeffrey T. Orloff, we will learn how to modify our profiles and change the editing preferences. It also explains how administrators, or sysops, can view a page's history to view previous edits made to the page.

This article will be broken into three sections: User Accounts, Administration, and Community. Under these three sections, we will look specifically at:

  • How the user can change their profile
  • How the user can change editing preferences
  • How the administrator can monitor content
  • How to block users
  • How to revert to an original page
  • Setting up and using talk pages
  • Resolving editing conflicts

Many organizations use MediaWiki as the platform to deliver content with no option for editing or creating. Even though these options exist, in its truest form, a wiki is a collaborative environment. This means we may have multiple users accessing the system and participating in building the wiki. The count might be more than few thousands for a given moment if the site is popular. With any platform that caters to a diverse group of people, issues are bound to arise. Contributors may make mistakes in their articles, there may be conflicts over changes made to a page, and many other issues can arise when dealing with people. Working in a multi-user environment definitely has its advantages, but as a wiki administrator, it is important to keep in mind that not all users have good intentions. As the system is open, anyone—including malicious users with bad intentions—can partake in any activity on the site. An open system can face a lot of user-related problems. The first major problem is that anyone can edit or add contents. This can be dangerous if the added content is not legal or if it is copyrighted. As the user can avoid being tracked, the site has to take the responsibility for such acts. Another major attack can be on the content itself—people with bad intentions can change content without any reason or present false information. Vandalism is also a common occurrence on such sites, and the concerns regarding false information have plagued even the most well-respected of sites—Wikipedia.

In this article, we will take a detailed look at these issues and learn how we can address them.

MediaWiki 1.1 Beginner's Guide Install, manage, and customize your own MediaWiki-based site
Published: March 2010
eBook Price: $23.99
Book Price: $39.99
See more
Select your format and quantity:

Let's take a look at how we can manage a wiki where there will be multiple users so we can make it a community where people are encouraged to visit.

Users

We can restrict what the users can do on our wiki. While preventing guests from creating articles and making edits takes away from the spirit of the wiki, it is sometimes a necessity. Requiring users to be registered is known as privileged access. If the site is protected by privileged access, then it is obvious that the site will be more secure than an open system. Most of the privileged access is provided by having user accounts with different levels of access type. A username separates one identity from those of other people. There are many advantages of user accounts and privileges; some of them are as follows:

  • The system can be set such that adding, editing, and deleting content may be performed only by registered users who are logged in to the system.
  • Users can set their preferences such as skins, time zones, file format, and so on.
  • User can be identified by a name rather than the IP address of the user's machine. So even if a single user accesses from multiple machines, he or she will be identified by his or her username rather than IP addresses.
  • Usernames are easier to remember than IP addresses.
  • Users can have their personal profile pages based on their user account names, and this helps others to learn about them.
  • User accounts give more flexibility when accessing content. Sometimes an administrator may block an IP address in order to stop malicious users from vandalizing a site. However, if the IP address is shared between multiple users, then it is not very wise to block it as this would stop more than one person from accessing the site. However, if we block a user account instead, then other users from the same IP address can still access the system.
  • Users can create their own preferences for articles and monitor different topics, and even get notified about certain changes to the site.

You can see from this list that not only do user accounts help make our wiki more secure and manageable, but they give the user more options as well. In the following exercises, we will look at how the user can benefit from having a registered account.

Preferences

When it comes to how an individual user sees and uses your wiki, quite a bit can be changed from the user's Preferences page. Clicking on the my preferences link users can alter their preferences in any one of the following tabs:

  • User profile
  • Skin
  • Math
  • Files
  • Date and time
  • Editing
  • Recent changes
  • Watchlist
  • Search
  • Misc

With changes in the version of the soft ware, the preferences can change too. However, these are the common preferences that you will find upon clicking my preferences on the top navigation panel once you are logged in.

User profile

The User profile details the user's personal information. The profile can be accessed when a user first creates an account because once they click on the Create account butt on, they are taken to a page confirming their account as shown in the following screenshot:

By clicking on the link shown in the previous screenshot, the user is taken immediately to their Preferences page. However, if the user needs to make changes to their profile at a laterdate, they have to go through a different route.

Time for action - changing the user profile

In this exercise, we are going to update our user profile to include our real name and e-mail address so we can receive notifications when certain things are done to pages that we are watching or have created. We are also going to learn how to change the signature for our profile so that when we use the syntax to insert our signature on a page, it will appear differently than our username which is the default.

  1. Open your wiki and sign in as the user whose profile you need to change.
  2. When you are at the Main page, click on the my preferences tab at the top of the screen:
  3. After clicking on the tab, you will be taken to the Preferences page. This page is broken down into three sections, User profile, Change password, and E-mail.
  4. If you have not done so, you can enter your Real name and E-mail address to your  profile. These are optional fields, however, you have to provide an e-mail address if you want notification on changes made to pages and your user talk page, or even on  simple or minor edits (such as spelling change, missed words, and so on) made on your created or watch page.
  5. In the Signature box, define what you want your signature to be when you enter ~~~ or ~~~~ in an article. Using ~~~ will display only the signature while using ~~~~ will display the signature and timestamp. For example purposes, we will enter Jeff as Floss User in the textbox. For your user account, enter whatever you wish. If you leave this blank, your user name will appear when you add the signature syntax in the wiki.
  6. Treat signature as wikitext
    If Treat signature as wikitext (without automatic link) is unchecked, then:

    • The soft ware enters [[User:Name| in front of your nickname text,and ]] after it.
    • Any characters in your nickname that would otherwise constitute wiki markup and HTML markup are escaped as HTML character entities. A nickname of ]] | [[User talk:Name|Talk will thus produce a signature of ]] | [[User talk:Name|Talk, which is probably not what you want.

    If Treat signature as wikitext (without automatic link) is checked, then:

    • Nothing is added to the text that you specify. What you specify is what is used between the two dashes and the timestamp.
    • Wiki markup and HTML markup are not escaped, allowing you to include links, font tags, images, and templates in your signature.

  7. Make any changes to the E-mail section. For the example, we added a check to E-mail me when a page on my watchlist is changed.
  8. When your changes have been made, click on Save. If you provided an e-mail address, you will be notified that the confirmation will be sent to this address. The following screenshot shows the changes we made:

After saving, you may have to bypass your browser's cache to see the changes.

  • Mozilla / Firefox / Safari: Hold down Shift while clicking Reload, or press Ctrl+ Shift +R (Cmd + Shift +R on Apple Mac).
  • IE: Hold Ctrl while clicking Refresh, or press Ctrl+F5.
  • Konqueror: Simply click the Reload button, or press F5.
  • Opera: Completely clear their cache in Tools | Preferences.

MediaWiki 1.1 Beginner's Guide Install, manage, and customize your own MediaWiki-based site
Published: March 2010
eBook Price: $23.99
Book Price: $39.99
See more
Select your format and quantity:

What just happened?

After creating a user account, we went into the Preferences page using the my preferences link, to update our User profile and tell MediaWiki how and when to notify us when using our e-mail address. After completing this exercise, we can begin to see how the users can control what they can do with MediaWiki. Also, we were able to see where we can change our password should we need to do that at a later date.

You can also change your Gender and the preferred Language on this page. Should you make any changes that you later regret, simply click on the Restore all default settings button.

Skins

A MediaWiki skin is the style in which a page is displayed. Different stylesheets are used to define the different skins so it's not the body of the page that changes, but rather the HTML code. The default skin used is the MonoBook skin. This is what we have been viewing in our wiki site all this time. From the Preferences section, you can click the Skin tab to show all the skins available for your wiki. You can preview the skins by clicking the Preview link just beside each skin's name. When you install MediaWiki, there are eight skins that are installed by default:

  • Chick
  • Classic
  • Cologne Blue
  • Modern
  • MonoBook
  • MySkin
  • Nostalgia
  • Simple

Time for action - changing the skin

Changing the skin is extremely easy to do. Before you go ahead and make a change, preview each of the skins to see which one you prefer. When you click on the Preview link, a new window will open displaying your Main page using the selected skin. Don't worry, no changes have been made yet! Once you find a skin you like, follow these steps to make the change permanent:

  1. If you have not done so, open your wiki and log in.
  2. Navigate to the skins page by clicking the my preferences link and then the Skins tab.
  3. Select the radio butt on for the skin you would like to use. For the example, we will be using Cologne Blue.
  4. Click on Save.

If you are following along, you should see your Preferences page with the new skin applied as shown in the following screenshot:

What just happened?

With a quick click of the mouse, we were able to change the way our wiki looks. To clarify things, this is the way the wiki will appear to the individual user. Changing the skin will not change how the wiki appears to other visitors.

To prevent users from changing their skins, you can remove the Skin tab from the Preferences page by setting the $wgAllowUserSkin option in LocalSettings.php to false.

Editing preferences

The Editing tab allows the user to change the different options available when editing content on a page. While most of the changes made only require you to use a check box, you also have the option of setting the number of Rows and Columns in the edit box by changing the default numbers. It is important to note that certain features; Enable section editing by right clicking on section titles, Edit pages on double click, and Show edit toolbar all require JavaScript to be enabled in order for them to work.

Time for action - changing the editing preferences

So far, making changes to the preferences has been relatively easy. Changing the editing preferences is simple as well. In this exercise, we are going to set the editing preferences so that we see a preview on the first edit and we are prompted every time we leave the summary section blank.

  1. If you haven't done so, open your wiki and log in.
  2. Click on the my preferences link. When you are on the Preferences page, select the Editing tab.
  3. In the Editing section, locate the line that reads: Show preview on first edit and place a check next to it.
  4. Locate the line that reads: Prompt me when entering a blank edit summary and place a check next to it.
  5. Click on Save.

Before you click on Save, your screen should look similar to the following screenshot:

Once you click on the Save butt on, you will be taken back to the main Preferences screen and a box will inform you that Your preferences have been saved.

What just happened?

When adjusting the preferences for the user, we changed the default editing settings. Now, whenever we edit a page for the first time, we will automatically see a preview of the changes. Also, whenever we leave the editing summary blank, we will be notified as shown in the following screenshot:

Have a go hero

We have seen how easy it is to change the preferences of a user. As we have only looked at three of the available tabs, take some time to look through the remaining sections. Whileyou are exploring these, make whatever changes you feel are necessary for your account. Remember, if you change things and need to revert to the default settings, you can always click on the Restore all default settings butt on.

Administration

Users have it easy in the multi-user environment. All they have to do is change the preferences on their account to differentiate themselves from the rest of the group. As a sysop, the management of a multi-user wiki is not so simple.

To make sure your wiki runs smoothly and provides up-to-date, accurate content to your visitors, you have to be on top of things. One of the most difficult tasks is the monitoring of content. As stated before, it is unfortunate that a public wiki is always at risk for vandalism and inaccurate content. Even corporate wikis that only allow certain individuals to create and edit content requires diligence on the part of the sysop. While vandalism is less of a concern, working with multiple authors can present many challenges, especially when it comes to editing pages.

All the exercises we perform in this section of the article will all help the sysop maintain the integrity of their wiki's content.

Page history

There will be times when you need to view all of the edits that have taken place on a particular page. Perhaps you have a corporate wiki and someone made a change to a policy that effects an upcoming lawsuit against your company. Your boss may be interested when this took place. Perhaps you have a public wiki and someone came in vandalized a few pages. The page history can help you locate the culprit and block them from access (this is coming up later in this section).

Each page, except Special pages, contains a history of all the changes made to that page. This is known as the page history, though it is also called edit history. It consists of the old versions of the wiki text, as well as a record of the date and time of each edit, the user name or IP address of the user who edited it, and the edit summary they included. This history tool can be used to track changes very easily and is accessed by clicking the history tab at the top of the page. Page history is the most suitable option for tracking changes related to the page. We can also revert changes from the history which we will learn later in the Community section of this article. Having a solid understanding of the way the page history functions will help the sysop in many different ways.

 

Time for action - viewing the page history

When viewing the page history, you will see that edits are listed from newest to oldest. Also, each edit will take up one line to show the time and date of the edit, the contributor's name (or IP address if they are a guest), the edit summary, and other information helpful to the sysop. In this exercise, we are going to see how we can view this information, but more importantly, how we can use this information.

  1. Open your wiki and log in. Open up a document that you have made some changes to.
  2. Click on the history tab at the top of the page. You will be taken to a page that looks similar the following screenshot. Notice that we have separated this page into three different sections: one area where you can search the page history by year and month, one area where you can determine how many results are displayed, and the list of page edits.
  3. In the list of page edits, you can see that the edit summary is included. For example, in the first line dated 21:39, 14 September 2009 the words I added my signature to the page are in parenthesis and italicized, designating them as the edit summary.

  4. Looking at the page history section, you will see the words (cur) and (prev) . These are used to take you to a new page called diff page, as seen in the following screenshot. A diff page is a page where the difference between the two versions is shown. The first item on the line, (cur) , shows you the current revision that appears below the changes, so you can see how the page is now rendered. On the other hand, (prev) takes you to a diff page showing the changes between that edit and the previous version. The later version (the one on the same line as the last you clicked on) appears below the changes; so you can see how the page was rendered. The two columns of radio buttons can be used to select and compare any two versions of the page. As we proceed through this exercise, we will compare the version from 21:39, 14 September 2009 to the one from 01:21, 23 August 2009.
  5. Click the left -column radio butt on next to the line for 01:21, 23 August 2009. The right column is then populated with buttons till the row before this line.
  6. Click the right-column butt on next to the line that reads 21:39, 14 September 2009.
  7. Now, click Compare selected versions. This takes you to a diff page showing the changes between the two versions. The more recent version (in this case, line 21:39, 14 September 2009) appears below the changes, so you can see how the page was rendered as shown in the following screenshot:

What just happened?

By clicking on the history tab for a page, we are able to see a history of all edits made to that page. We are able to see the date and time each edit took place, and also the user who made the change. If we know that a specific user vandalized pages on our site, we can look through the page history of other pages as well to see if he or she made any edits to them.

We also saw that we can compare the changes between versions of a page as well. By selecting the version we want and clicking on the Compare selected revisions butt on, we are presented with a side-by-side comparison of how the pages are different.

Having this available to us can make our job as the sysop of a multi-user wiki much easier because we can see exactly which users have contributed to a page and when. Of course, how this information is put to use can serve endless possibilities.

Recent changes

By clicking on the Recent changes link in the navigation box, you are taken to a page that gives you the whole list of changes made in the wiki site, aptly named Recent changes. This page is great for sysop because it gives you a listing of newly-added pages, changes and edits, reverted pages with history, differences, and a lot of other options. Using this page, users can monitor and review the work of other users. Regular checks of this page by the wiki administrator means mistakes can be corrected and vandalism can be eliminated more quickly.

You can also create a link to the page as [[Special:Recentchanges]].

Recent changes page looks as shown in the following screenshot:

The previous screenshot shows recent changes occurred over two days. Let's look at what what each entry means, from left to right:

  • The first thing on the list is a diff link. This links to the diff page for this edit; it is not available for new pages or for page moves. The entry under 14 September 2009 for GIMP is a new page, however the diff is not a link.
  • The hist link corresponds to the page history on the edited page; it shows not just this edit but also older and newer ones. For page moves, the hist link leads to the history of the new page title.
  • A bold m indicates that the user marked the edit minor. Only logged-in users can mark an edit as minor to avoid abuse. An example of a minor edit is seen in the entry for Top 3 Applications by Operating Systems on September 14.
  • A bold N indicates that the page is new. It is possible for a change to possess both the minor and new indicators; this is typically used for new redirects. In the example, the page for GIMP created on September 14 is a new page.
  • A bold ! indicates that the page is unpatrolled. We will focus on patrolled and unpatrolled edits at the end of this article.
  • The next link is a link to the current version of the page.
  • Next is the ti me in UTC format. You can change the ti me to your ti me zone using the preferences that we have just learned.
  • The next link is a link to the user's home page. Note this is not a link to your home page, rather the user who edited or created the page's.
  • The next link points to the user's talk page.
  • The contribs link points to the User contribution page listi ng all of his or her contributi ons.

When we do a page move, a link is provided for the old as well as the new title after the user talk link in Recent changes.

We can also filter our Recent changes list with the options provided in the page. We can hide minor edits from being shown in the Recent changes list. We can also hide patrolled edit and logged-in-user information. We can filter the changed list by namespace. We can also choose the number of edits and days for the Recent changes list.

It is always important and good practice to go through the Recent changes page in order to view latest changes made to the site. The topic you are going to add may be found there. Maybe somebody else has just added that; you can reduce redundancy here. You can also view the list to check if any page has been changed.

Pop quiz - Recent changes

Now, it's ti me to see how much you learned about Recent changes.

  1. Which designates a new page?
    1. !
    2. N
    3. NEW
    4. m
  2. A lowercase m (m) signifies:
    1. a minor edit
    2. a major edit
    3. a malicious user
    4. a moniker
  3. Vandalized pages are signified by a:
    1. V
    2. X
    3. !
    4. nothing
  4. You can change your timezone from the Recent changes page.
    1. True
    2. False
  5. The maximum number of changes you can show at one time is:
    1. 25
    2. 100
    3. 250
    4. 500

Watching pages

Even the smallest of wikis can easily grow to hundreds of pages. This being said, it is easy to see how it can become nearly impossible to find all the changes made to your edits, or to pages that you created. MediaWiki has a wonderful feature to address this problem. It is called watching a page. You can watch any page you want, even if you didn't create it or edit it in any way.

If you watch a page, that page will be added to your watchlist. When the page has been changed, edited, or added to, you will get an automatic notificati on from the system based on your preference setting (remember when we added our e-mail address). Also, on your watchlist page, all the pages that have been modified since your last visit will be shown in bold so you can easily identify the changes.

Time for action - watch a page and revert

In this exercise, we are going to watch a page that is very important to us. As the administrator, there will most likely be certain pages you need to keep an eye on. Users too may want to watch certain pages for changes, such as a page that addresses workplace policies in a corporate wiki, or perhaps you follow a wiki like Joomla!'s documentation site. Wouldn't it be nice to know when the documentation has been updated to match their latest version?

  1. Open your wiki and log in.
  2. Navigate to the page you wish to watch.
  3. Click on the watch tab at the top of the page. You will now be told that the page you selected has been added to your watchlist as seen in the following screenshot:

When you visit the page again, there will be an unwatch tab instead of watch. If you wish to stop watching the page, click this tab and you will no longer be watching the page.

Another way to watch
You can also choose to watch a page when you create or edit it. At the bottom of the page in the editing window, you have the option to Watch this page. Simply check this box before you save the page.

What just happened?

Simply clicking on the watch tab of a page adds it to our watchlist. Now, we can keep a close eye on any changes made to that page. We may do this because we are the page creator, the wiki administrator, or just an interested reader.

Once we have added pages to our watchlist, we simply click the my watchlist link at the top of the screen. When we are taken to our watchlist, it will look similar to the following screenshot:

Revert changes

So, what happens if somebody completely destroys your page? Or if another user edits someone's article, but all the grammar is wrong. Or perhaps you went in to change a bunch of dates on your wiki only to realize later that you entered the wrong year in your edits. Have no fear; MediaWiki can help fix any one of these scenarios. Any time you need to go back to the original content of a page, you can revert. When we use the revert function, the page goes back to its original form.

>> Continue Reading: Multi-user Environment in MediaWiki 1.1- A Sequel

About the Author :


Jeff Orlof

Jeff Orloff is a Technology Coordinator with the School District of Palm Beach County and has worked bringing technology solutions to the education forefront for over ten years. In addition to his work with education, Jeff is a consultant with Sequoia Media Services helping businesses install, configure, and use social media tools and create engaging content for their Web presence.

Mizanur Rahman

Mizanur Rahman from Bangladesh is a Senior Software Engineer at Relisource Technologies (http://www.relisource.com). He loves to work with Java, PHP and other web-based technologies and is a moderator of PHPXperts, the largest PHP user group in Bangladesh.

Contact Mizanur Rahman

Books From Packt

Plone 3.3 Multimedia
Plone 3.3 Multimedia

WordPress 2.8 Themes Cookbook
WordPress 2.8 Themes Cookbook

Spring Python 1.1
Spring Python 1.1

Joomla! 1.5 Content Administration
Joomla! 1.5 Content Administration

Joomla! 1.5 SEO
Joomla! 1.5 SEO

MySQL Admin Cookbook
MySQL Admin Cookbook

JavaFX 1.2 Application Development Cookbook
JavaFX 1.2 Application Development Cookbook

Moodle 1.9 Theme Design: Beginner's Guide
Moodle 1.9 Theme Design: Beginner's Guide

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software