Project:Support desk

Jump to: navigation, search

About this board

vde   Welcome to's Support desk, where you can ask MediaWiki questions!

There are also other places where to askCommunication: IRCCommunication#Chat, mailing listsMailing lists, Wikimedia Developer Support, Q&A, mwusers (unofficial forum) etc.

Before you post

Post a new question

  1. To help us answer your questions, please always indicate which versions you are using (reported by your wiki's Special:Version page):
    • MediaWiki
    • PHP
    • Database
  2. Please include the URL of your wiki unless you absolutely can't. It's often a lot easier for us to identify the source of the problem if we can look for ourselves.
  3. To start a new thread, click "Start a new topic".

How to apply wgNamespaceContentModels to ALL namespaces in a single statement?

Johnywhy (talkcontribs)

Flow manual says i must apply the following to localsettings.php, for each namespace.

$wgNamespaceContentModels[NS_TALK] = 'flow-board';
$wgNamespaceContentModels[NS_USER_TALK] = 'flow-board';
# Do not reassign the global ($wgNamespaceContentModels =)

Extension:StructuredDiscussions#Enabling or disabling StructuredDiscussions

How can i apply wgNamespaceContentModels to ALL namespaces in a single statement?

星耀晨曦 (talkcontribs)

To enable Flow for all namespaces is a bad idea. If you want to use your wiki as a social site:

$needFlow = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
foreach ( array_keys( $wgExtraNamespaces ) as $key ) {
    $needFlow[] = $key;
foreach ( $needFlow as $value ) {
    $wgNamespaceContentModels[$value] = 'flow-board';

put it to the bottom of your LocalSettings.php.

Johnywhy (talkcontribs)


> To enable Flow for all namespaces is a bad idea.


Bawolff (talkcontribs)

Typically people dont want flow on all namespaces as usually some namespaces are for content and others are for talking. But its really up to you.

Johnywhy (talkcontribs)


How does Flow behave Without Parsoid? It doesn't seem to do anything.

Bawolff (talkcontribs)

A shorter version of that is

$wgNamespaceContentModels = array_fill( 0, 16, true );

[That said, 星耀晨曦's is a better solution because it takes extra namespaces into account and is less hacky. Although you can do the same with array_fill by replacing 16 with 2000 (since invalid namespaces are ignored)]

Reply to "How to apply wgNamespaceContentModels to ALL namespaces in a single statement?" (talkcontribs)

In my wiki, I can search for topics but the content ist not displayed. I only can see my text in the edit mode.

Does anyone has an idea what the problem could be?

Reply to "Content is not displayed"

Error 500 when a new, non-default skin is added to Localsettings.php

Newman2 (talkcontribs)

I got an error 500 after adding new skins to my LocalSettings.php. This has only occurred with additional skins that are NOT one of four default skins (Cologne Blue, Modern, MonoBook, Vector), and I appeared to have used the correct skin addition method for my current MediaWiki version. I made this wiki with Webhostface, and it runs on a currently supported version. However, I had no problems with adding user rights or enabling extensions.

I have not found a solution to fix this error, and I need some help fixing the error 500 on my wiki. Is there any way to fix this strange error and enable the skins without getting any more errors? Thank you.

2001:16B8:1022:4F00:D9C7:A745:8FE2:7F2B (talkcontribs)

It depends... In order to help you further, please answer the following questions:

  • Which skin did you try to add?
  • Which version of MediaWiki are you using?
  • How exactly does the line look like, which you added to LocalSettings.php?
Newman2 (talkcontribs)

-I was adding two skins, one of them being Monaco and another (being a skin I created) called Candy.

-I am using MediaWiki 1.30

-The line looks exactly like this (Candy is the skin that I added):

# Enabled skins.

# The following skins were automatically enabled:

wfLoadSkin( 'Candy' );

wfLoadSkin( 'CologneBlue' );

wfLoadSkin( 'Modern' );

wfLoadSkin( 'MonoBook' );

wfLoadSkin( 'Vector' );

Ciencia Al Poder (talkcontribs)

A 500 error message is not helpful at all. You'll need to look at server error logs to see a meaningful error message. See blank page

This post was hidden by (history)
Newman2 (talkcontribs)

By the way, I could not find enough information on the error 500.

2001:16B8:10A0:DB00:198F:24E4:C3ED:88E5 (talkcontribs)

On which skin did you base the Candy skin? Is it basically a copy of the Vector skin, which you then modified? Or is it based on the Monaco skin?

> I could not find enough information on the error 500.

That is why Ciencia is asking for more information. This information should be in the error log of the webserver.

After looking at the Monaco skin,

this skin does not support the line with wfLoadSkin(), because it is still using the old skin architecture. The Monaco skin has to be included using a line with require_once "$IP/skins/monaco/monaco.php";.

Does the error happen for both skins, Candy and Monaco?

Apart from that, the last changes to the Monaco skin have been done four years ago. Maybe the skin is no longer working with current versions of MediaWiki.

Newman2 (talkcontribs)

Candy is a copy of the MonoBook skin. And yes, the error happens for both Candy and Monaco.

2001:16B8:10AE:AE00:88E9:486B:2ED1:A316 (talkcontribs)

More information about your server error will be in the error log of the server.

Without more information, we will not be able to help you.

Newman2 (talkcontribs)

Okay. How do I debug the error then?

Newman2 (talkcontribs)

I also get an error 500 when attempting to debug and log the errors.

Ciencia Al Poder (talkcontribs)

The error log of the webserver should contain the information about the error.

Newman2 (talkcontribs)

How do you open the error log then? It wouldn't show up on my wiki.

Ciencia Al Poder (talkcontribs)
Newman2 (talkcontribs)

What do I need to type in to debug the error?

Newman2 (talkcontribs)

^^Look at the post above

Ciencia Al Poder (talkcontribs)

You already have the tools to debug the error. Nobody can tell you what do you need to type in to debug the error, because there are so many environments, operating systems, configurations, etc that is impossible to tell you the exact commands to type.

If you don't plan to take a bit of time to locate the error logs by yourself, interpret them to at least post here the relevant information, feel free to spend some money by hiring someone from Professional development and consulting.

Newman2 (talkcontribs)

The error looks like this:

PHP Fatal error:  Uncaught exception 'Exception' with message '/home/gjlxrtap/public_html/mw19/skins/Candy/skin.json does not exist!' in /home/gjlxrtap/public_html/mw19/includes/registration/ExtensionRegistry.php:99

Stack trace:

#0 /home/gjlxrtap/public_html/mw19/includes/GlobalFunctions.php(157): ExtensionRegistry->queue('/home/gjlxrtap/...')

#1 /home/gjlxrtap/public_html/mw19/LocalSettings.php(126): wfLoadSkin('Candy')

#2 /home/gjlxrtap/public_html/mw19/includes/WebStart.php(102): require_once('/home/gjlxrtap/...')

#3 /home/gjlxrtap/public_html/mw19/index.php(40): require('/home/gjlxrtap/...')

#4 {main}

  thrown in /home/gjlxrtap/public_html/mw19/includes/registration/ExtensionRegistry.php on line 99

Ciencia Al Poder (talkcontribs)

Look, a useful error message after all :)

Looks like Candy skin doesn't support extension registration. You should use require_once "$IP/skins/Candy/Candy.php"; or similar instead of wfLoadSkin

Newman2 (talkcontribs)

I get the same error, even with the require_once setup. Even if the message is useful, is there a way that I could fix this?

Newman2 (talkcontribs)

Now I've got this error:

PHP Fatal error:  Class 'MonoBookTemplate' not found in /home/gjlxrtap/public_html/mw19/skins/Modern/SkinModern.php on line 51

AhmadF.Cheema (talkcontribs)

Does your Skin:Modern version correspond to your MediaWiki core version? How did you download this skin?

Newman2 (talkcontribs)

I'm pretty sure my Modern skin version corresponds with the core version because the skin was built into the installation. Even if these messages are useful, I still need a way to get around this error and make my site run better.

This post was hidden by Newman2 (history)
This post was hidden by 2001:16B8:10A1:2100:3C43:EE16:CDE1:BE37 (history)
2001:16B8:10A1:2100:3C43:EE16:CDE1:BE37 (talkcontribs)

You are using MediaWiki 1.30, which is fine.

The skins, which are coming with MediaWiki 1.30, are Cologne Blue, Modern, MonoBook and Vector. These four skins all do have a skin.json file. Also the Modern skin should be working without the error "Class 'MonoBookTemplate' not found".

I think that something is wrong with the content of the four folders of these skins in the skins/ folder. I would delete these four folders and extract them again from the MediaWiki 1.30 tarball.

If the Candy skin is based on MonoBook from MediaWiki 1.30, it should be working.

Newman2 (talkcontribs)

Thanks for the info. But what software that is easy to download can debug any error including these ones?

2001:16B8:106D:2800:50C0:AF40:FC95:293B (talkcontribs)

You must enable error reporting - and obviously you have done that already as you already know the error message.

You should now replace the folders as detailed in my last post!

Newman2 (talkcontribs)

How do I extract those folders and enable error reporting? The fatal error occurs when I use the Modern skin, and the error 500 occurs when I add Candy to the site.

Now that I have enabled error reporting, now what do I do to debug this error? If the error reports and debugs are enabled, then how do I view and debug the errors if the error still occurs on my page? Where are the error displays located? I need some assistance on viewing the error reports.

星耀晨曦 (talkcontribs)
Newman2 (talkcontribs)

Yes, I saw the page on debugging. The problem is that I do not know whether or not HHVM has debugging on my wiki's database. Also, I do not know where MediaWiki Vagrant would be located. If they are on there, then would they be in the maintenance folder, the includes folder, or what location in MediaWiki? Thank you for reading this.

Ciencia Al Poder (talkcontribs)
Newman2 (talkcontribs)

I added the debug log file to my Localsettings.php, and it caused a 404 error. Does something else need to be send up, or does the $wgDBname have to be changed to the name of the database? There is something that needs to be done.

星耀晨曦 (talkcontribs)

The value of $wgDebugLogFile is the path you want to save. Name the file as you like, do not necessarily name the file by the example code.

> I added the debug log file to my Localsettings.php, and it caused a 404 error.

Very strange, it is likely that you misconfigured.

Newman2 (talkcontribs)

How would I have misconfigured? If so, then how do I fix the error that occurred with adding the debug log file?

Reply to "Error 500 when a new, non-default skin is added to Localsettings.php" (talkcontribs)


Whenever anyone on our private wiki tries to sign in, it redirects to the index.php page and then when you try to do anything else it redirects to another login page. I already verified that our $wgServer variable is set properly and I don't know what else to do.

It's really annoying, hopefully there's a fix.

Cheers o/

Ciencia Al Poder (talkcontribs)

Are you using "short" or "pretty" URLs? I mean viewing articles have a different URL structure than when editing (/wiki/ vs /index.php or similar). Because cookie path may be the problem here. See Manual:$wgCookiePath (talkcontribs)

Oops, forgot to use the reply button. But, for a little more information, when you visit it goes to If you go to it still works the same. (talkcontribs)

Hi, I'm a little confused on what you mean. Our Wiki is on, but the directory is on /wiki. When I tried setting $wgCookiePath, the Wiki didn't load at all.

Ciencia Al Poder (talkcontribs)

If the wiki doesn't load at all, you made a typo when adding that configuration.


$wgCookiePath = '/';

Still, this is the default value and should work for you unless you changed it. (talkcontribs)


When I did that, it said the following message when I tried logging in: "There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking. Go back to the previous page, reload that page and then try again."

Reply to "Private Wiki Requires Two Logins"

Search function in File list doesn't work properly

Zioalex (talkcontribs)
Fereal (talkcontribs)

I've always thought the File List search needed some sort of option to activate since it never worked for me.

Checking the file, the query generated attempts to convert both the image names and the search query to lowercase before using a LIKE comparison. I've checked the database and apparently the image name column is set as VARBINARY, preventing the lowercase conversion of the image name thus botching the comparison.

TL;DR Go to includes\specials\SpecialListfiles.php. On Line 84, change:

$this->mQueryConds[] = 'LOWER(img_name)' .


$this->mQueryConds[] = 'CONVERT(img_name USING latin1)' .

Necrobumping since this problem still persists in 1.19.

kthxbye. (talkcontribs)

It appears that somewhere around v1.22 they introduced a new function to replace the mQueryConds member variable. When they did this, the patch above recommended stopped working. I believe this is because the new function, "protected fuction buildQueryConds" handles this task now.

TL;DR Go to includes/specials/SpecialListfiles.php, Line 138:

 $conds[] = 'LOWER(' . $prefix . '_name)' .

I'm not sure what to change this to.

For the full function, see here:

 protected function buildQueryConds( $table ) {
               $prefix = $table === 'image' ? 'img' : 'oi';
               $conds = array();

               if ( !is_null( $this->mUserName ) ) {
                       $conds[ $prefix . '_user_text' ] = $this->mUserName;

               if ( $this->mSearch !==  ) {
                       $nt = Title::newFromURL( $this->mSearch );
                       if ( $nt ) {
                               $dbr = wfGetDB( DB_SLAVE );
                               $conds[] = 'LOWER(' . $prefix . '_name)' .
                                       $dbr->buildLike( $dbr->anyString(),
                                               strtolower( $nt->getDBkey() ), $dbr->anyString() );

               if ( $table === 'oldimage' ) {
                       // Don't want to deal with revdel.
                       // Future fixme: Show partial information as appropriate.
                       // Would have to be careful about filtering by username when username is deleted.
                       $conds['oi_deleted'] = 0;

               // Add mQueryConds in case anyone was subclassing and using the old variable.
               return $conds + $this->mQueryConds;
       } (talkcontribs)

Nevermind, I figured it out.

TL;DR Go to includes/specials/SpecialListfiles.php, Line 138 change:

$conds[] = 'LOWER(' . $prefix . '_name)' .


$conds[] = 'CONVERT(' . $prefix . '_name USING latin1)' .
Ciencia Al Poder (talkcontribs) (talkcontribs)

Unless i'm reading it wrong, that bug seems to be more based on an error in handling non standard characters. They couldn't search because the db table was not accepting UTF8.

With the issue described above, its not a special character but just a capital letter. I didn't need to change the db table format, just how the query was being submitted to the db. (talkcontribs)

nevermind, both issues are related to the VARBINARY column type. In the resolution above we changed the query, in the resolution in the bug, they changed the column type. either way would resolve it I guess.

Ciencia Al Poder (talkcontribs)

The efficient way is to convert the database field, specially if it's part of an index, because searching for that column would use the index. If you need to convert the value for searching, then the index won't be used and the database engine would need to do a full table scan instead. (talkcontribs)

I am A newbie here. I accidently changed the subject of the thread. I actually wanted to start a new one. Please change it back. Sorry. (talkcontribs)
Loman87 (talkcontribs)

Hi everybody,

sorry but I am facing this same issue in 1.27.1. In Special:ListFiles I can't retrieve any file using letters (either upper and lower case) in the query; if I use only numbers I get results.

The solution proposed in this thread, seems not to be still valid for newer versions of MW. Maybe is this another bug?

Thanks for your collaboration!

Ciencia Al Poder (talkcontribs)

Can you check the datatype of the column img_name from the image table? It should be varbinary.

Loman87 (talkcontribs)


I am not sure if the following is what you asked, however this is what I find in tables.sql for the image table:

CREATE TABLE /*_*/image (

  -- Filename.

  -- This is also the title of the associated description page,

  -- which will be in namespace 6 (NS_FILE).

  img_name varchar(255) binary NOT NULL default '' PRIMARY KEY,

  -- File size in bytes.

  img_size int unsigned NOT NULL default 0,

  -- For images, size in pixels.

  img_width int NOT NULL default 0,

  img_height int NOT NULL default 0,

  -- Extracted Exif metadata stored as a serialized PHP array.

  img_metadata mediumblob NOT NULL,

  -- For images, bits per pixel if known.

  img_bits int NOT NULL default 0,

  -- Media type as defined by the MEDIATYPE_xxx constants


  -- major part of a MIME media type as defined by IANA

  -- see

  -- for "chemical" cf. by the ACS

  img_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart", "chemical") NOT NULL default "unknown",

  -- minor part of a MIME media type as defined by IANA

  -- the minor parts are not required to adher to any standard

  -- but should be consistent throughout the database

  -- see

  img_minor_mime varbinary(100) NOT NULL default "unknown",

 -- Description field as entered by the uploader.

  -- This is displayed in image upload history and logs.

  img_description varbinary(767) NOT NULL,

  -- user_id and user_name of uploader.

  img_user int unsigned NOT NULL default 0,

  img_user_text varchar(255) binary NOT NULL,

  -- Time of the upload.

  img_timestamp varbinary(14) NOT NULL default '',

  -- SHA-1 content hash in base-36

  img_sha1 varbinary(32) NOT NULL default ''

) /*$wgDBTableOptions*/;

Loman87 (talkcontribs)

Ok, maybe I understand now. I have to change  

img_name varchar(255) binary NOT NULL default '' PRIMARY KEY,


  img_name varbinary(255) NOT NULL default '' PRIMARY KEY,

is that right?

Loman87 (talkcontribs)

I made this change but the result is the same...any other idea?

Ciencia Al Poder (talkcontribs)

tables.sql is how the tables are created, and they should already exist on your installation. Changing the script will do nothing unless you install MediaWiki on a new database. Also, you should not be editing MediaWiki files directly.

What I asked is to check the type and collation of the actual tables on your database. The tables.sql may be changed on each upgrade, and if your wiki is old it may have the wrong datatype.

In any case, varchar(X) binary is not equivalent to varbinary(X) (see this) and I didn't check the actual type of those columns in tables.sql, so this were mostly instructions for you to check rather than changes to do to your database.

Collations other than *_bin are probably wrong. This feature is probably still broken since task T34207 is still open. I wonder why using this instead of Special:Search.

Loman87 (talkcontribs)

Good morning and thanks for you patience.

I check the actual database and this is the result:


stdClass Object


    [Field] => img_name

    [Type] => varbinary(255)

    [Collation] =>

    [Null] => NO

    [Key] => PRI

    [Default] =>

    [Extra] =>

    [Privileges] => select,insert,update,references

    [Comment] =>

The datatype seems ok; the collation instead is not *_bin as you stated. Do I have to change it? How?

I use Special:ListFiles because the results presentation is cleaner and also because the results have a chronological order (for some purposes pertinence is not always the best choice). For me it is easier to work here, but now I have a lot of files and I need to use the search function.

Thanks again for your collaboration!

Ciencia Al Poder (talkcontribs)

Looks like, in order to be able to search, the field mist be varchar(255) binary, not varbinary(255)

Cascosoft (talkcontribs)


I am experiencing this issue with the following configuration:

MediaWiki 1.30.0
PHP (apache2handler)
MySQL 5.7.22-0ubuntu0.16.04.1

Search in the Special:ListFiles only returns results when using numbers in the search query (and these numbers are present in a file name).

Is this a bug or something broke in my wiki?

Most comments (up) seem to indicate is a known issue from previous versions. If so, is there a patch?

Reply to "Search function in File list doesn't work properly"
Ag3dvr (talkcontribs)

I have a wiki page where the maths rendered perfectly until recently. Now, without any change on my part (either to the wiki text or to LocalSettings.php), it does not.

For example:

now has unrendered text (as I originally inputted it), like:

\( \begin{equation} \vec{r} = \begin{bmatrix} r_{1} \\ r_{2} \\ \vdots \\ r_{n} \end{bmatrix} \end{equation} \)

and I have put a png on the page to show how this used to render. renders the text fine.

Can you tell me what needs to be done to get this to render properly? I have asked my web hosting provider but they have not been able to solve the problem.

MediaWiki 1.25.2

PHP 5.6.33 (litespeed)

MariaDB 10.1.30-MariaDB

The problem occurs on Chrome and Safari on a Mac and on an iPhone. I assume it applies to all browsers.

I am not a programmer, but relevant-looking lines in LocalSettings.php include the following (and there have been no changes in LocalSettings.php since it was working fine):

require_once "$IP/extensions/Math/Math.php";

$wgUseTeX = true;

$wgMathPath = "{$wgUploadPath}/math";

$wgMathDirectory = "{$wgUploadDirectory}/math";

$wgTmpDirectory = "{$wgUploadDirectory}/tmp";

require_once "$IP/extensions/MathJax/MathJax.php";

$wgParserCacheType = CACHE_NONE;

require_once "$IP/extensions/SimpleMathJax/SimpleMathJax.php";

$wgSimpleMathJaxSize = 120;

wfLoadExtension( 'Math' );

2A02:C7F:963F:BA00:4C5F:68F5:DDC5:BCED (talkcontribs)

Please upgrade your MediaWiki version first before getting help.

Bawolff (talkcontribs)

In addition to updated, I'd also mention, You also seem to have 3 different math extensions being loaded, and the Math extension being loaded in 2 different ways. Probably they are stepping over each other and breaking each other.

You should probably check the javascript console for errors in your web browser.

Ag3dvr (talkcontribs)

My web hosting provider has done that now:

Product Version
MediaWiki 1.30.0
PHP 5.6.33 (litespeed)
MariaDB 10.1.30-MariaDB
ICU 4.2.1

... with the result that there are now a lot of red error messages on the wiki (e.g. The messages say: Failed to parse (Missing texvc executable); please see math/README to configure.). but I gather that This feature was removed from MediaWiki core in version 1.18.0 and there is no $wgTexvc in my LocalSettings.php. The extensions installed include:

Math 3.0.0 (ba08a3a)04:38, 1 February 2017


SimpleMathJax 0.7.1

Thanks for your help.

Ag3dvr (talkcontribs)

Thank you Bawollf. The javascript console does show useful errors.

JQMIGRATE: Migrate is installed with logging active, version 3.0.1-pre

/extensions/SimpleMathJax/modules/MathJax/MathJax.js?config=TeX-AMS-MML_CHTML&_=1524499368186 Failed to load resource: the server responded with a status of 404 (Not Found)

Notation:1 Uncaught SyntaxError: Unexpected token <

at DOMEval (load.php:1)

at Function.globalEval (load.php:4)

at text script (load.php:130)

at ajaxConvert (load.php:120)

at done (load.php:125)

at XMLHttpRequest.<anonymous> (load.php:129)

I then commented out SimpleMathJax from LocalSettings.php and this seems to get rid of the errors in the javascript console but the wiki looks the same (same red error messages). I am no expert, as you can tell. I may have to move providers to get more help. I have now commented out all math lines except wfLoadExtension( 'Math' ); but with no effect. This math extension remains:

3.0.0 (ba08a3a)04:38, 1 February 2017

Thanks again.

Ciencia Al Poder (talkcontribs)
Ag3dvr (talkcontribs)

You are right. That folder (SimpleMathJax/modules/MathJax/) is empty. I will talk to my provider and see if they can install SimpleMathJax properly. Thank you for your help. It is still odd that math on the wiki worked fine before and it broke without me touching anything. Anyway, thank you, I am very grateful for your help.

Reply to "Help with math rendering"
Andrea.bozzano87 (talkcontribs)

Hi everyone,

for my project, i need that my bots could upload images on my wiki. reading the manual, i found that i can use the Upload API for this purpose. To do so, i do a call for APIs with a post request that i send to my MW installation:


I'm using content type multipart/form-data because i know, from the manual, that application/x-www-form-urlencoded wouldn't work.

The problem is that, even though my Bot is allowed from user group rights to upload files, i cant upload files with it. What did i miss?

Any suggestion would be helpful, thanks for your time and happy development!

Reply to "Bots Uploading images on MW Projects" (talkcontribs)

I can not add global users to my privat wiki.

In "Global accounts list" the member is mentioned, but at "User rights" I can not find him. How can I add the member? Sometimes it succeeds but that seems coincidence.

Reply to "Adding members to my privat wiki"
Dog1994 (talkcontribs)

I substitute my infoboxes because that's easier for me.

I can't for the life of me figure out how to change the alignment without basically creating an entirely new infobox to call upon, which would be super annoying.

I've tried adding |align        ="left" and |style =leftto the infobox afterward and nothing changes. What can I do? i also do not want to edit common.css

Ciencia Al Poder (talkcontribs)
Dog1994 (talkcontribs)

they're not copied, no. completely built from scratch.

I have a CSS override so that they all align=right but I want some of them to align=left, and that's my problem.

AhmadF.Cheema (talkcontribs)

If you are using local CSS overrides, than I assume those CSS rules are implemented on-to the Infobox through a class. In which case, can't just two separate classes be made, one for left-alignment and the other for right-alignment?

Dog1994 (talkcontribs)

They can, how would I accomplish that?

To make it clear: i have one page that I am attempting to use multiple infoboxes on and it looks awful with all of them on the same alignment. I want to change it so that every other box is aligned left.

Reply to "substitution alignment"

Is SemanticWiki the only way to get Topic Tagging?

Johnywhy (talkcontribs)

We want to tag our articles (topic-tags, not revision-tags).

And then display "Related Articles", based on those tags.

This article describes a method using SemanticWiki,

but that seems a heavy solution, since we don't need any other SemanticWiki features.

Any simpler or, preferably, native method?

Can't use Categories, as we're already using Categories as Categories, for organizing and TOC.


Ciencia Al Poder (talkcontribs)

Categories is the way to go if you don't want SMW. This is exactly the purpose of categories, group similar pages.

Johnywhy (talkcontribs)

We consider Categories and Tags to be different concepts. That Folksonomy article agrees.


  • Category is Fruit.
  • Title is Oranges.
  • Tags are citrus, segmented, juicy, vitamin C, cold prevention, breakfast


  • Category: Books
  • Title: Cien Años de Soledad
  • Tags: Spanish, surrealism, Colombia, magical realism, Latin American

We use Category as a hierarchical organizing structure. We want articles to appear in only one Category in TOC, but articles can have multiple tags. Tags are non-hierarchical, and can apply across different Categories. We really want tags independent of Categories.

Bawolff (talkcontribs)

Then create a prefix to the category name, to distinguish between your "real" categories and "tags". E.g. have "Category:Tag:Spanish"

The differences you cite between tags and categories is all in how you use the feature, and none in how the feature is actually implemented. If it makes you feel better, you can even do $wgExtraNamespaces[NS_CATEGORY] = 'Tag'; $wgExtraNamespaces[NS_CATEGORY_TALK] = "Tag_talk"; and then change the pages MediaWiki:nstab-category , MediaWiki:categories, MediaWiki:pagecategories, etc to use the word "Tag".

Johnywhy (talkcontribs)
> "create a prefix to the category name", E.g. have "Category:Tag:Spanish"

Thx, but that seems like a complicated, non-intuitive workaround.

Tree: This will put all the tags into the CategoryTree. We don't want the tags in the CategoryTree.

Entry: We want to apply Tags by simply entering "Spanish" in a "Tags" box. Don't want to enter "Category:Tag:Spanish".

Cross-Reference: We want a given tag to apply to multiple Categories. Then show "Related pages" based on Tags. I don't see how to do that with this method.

Subcategories: Maybe there's a way to do this with sub-categories.

Pro: Tree: CategoryTree has "depth" parameter, which would hide that subcategory "tags" which is good.

Con: No, subcategories would be difficult, if we want to allow same tag for multiple categories. That would require adding same subcategory to multiiple categories.

Con: I don't see how to cross-reference subcategories across different categories (to show "Related Pages" at bottom of every page, based on subcategory).

> "do $wgExtraNamespaces[NS_CATEGORY] = 'Tag'; $wgExtraNamespaces[NS_CATEGORY_TALK] = "Tag_talk"; and then change the pages MediaWiki:nstab-category , MediaWiki:categories, MediaWiki:pagecategories, etc to use the word "Tag".

That throws out Categories, and uses the word "Tag" instead of "Category". Correct? We don't want to throw out the word Category. We want both tags and categories.

Extension:RelatedArticles might help.


Bawolff (talkcontribs)

Your description still sounds like you basically just want the category system

  • tree: just make sure the tags dont have the same parent as your "real" categories
  • entry: just make a page named Template:Tag containing <includeonly>[[category:Tag:{{{1}}}]]</includeonly>. Then you can simply add pages to tags by doing {{tag|Spanish}}
  • cross-reference: if you mean you want to add a category to a tag to imply that all members in that category should also be in that tag (for the purposes of Special:Recentchangeslinked) thats a little harder. There are some work arounds with extensions that do "deep category intersection". Some people also work around it by using templates to add things to categories that automatically specify the right additional tags, but there really arent great solutions to this. Basically for this method "real categories" and "tags" are entirely separate, and if you want all pages in a specific category to have a specific tag you have to tag them all individually.

Re subcategory - Im kind of confused by this-if you were tagging a category, it would be the parent of the category, not the child (subcategory). CategoryTree would ignore it as it doesnt look at backedges i the category graph.

Re tags namespace: yeah, thats just renaming category to tag.

Reply to "Is SemanticWiki the only way to get Topic Tagging?"