Open main menu

User talk:Brion VIBBER/Archive 1

Moin Brion, here's just, eh, for fun ... something weird and cute that you may enjoy. Please note especially the comment directly below the license box – I could not withhold this shot from you ;-) --:Bdk: 09:57, 19 March 2006 (UTC)


Undeletion Bug?

Hi Brion, I tried to restore some old edits of Project:Help. The log for this action says that I restored 44 edits, but they have not been restored - the page still shows its previous content, and the history has just the single item. If you look at the history, you still have the 'restore 44 deleted edits' link, but when you click on it, none of the old versions are shown. This could be something to do with the prior page moves, or with the fact that there was already content when the page was restored, or possibly that it was a redirect, but whatever the cause, something fishy is definitely going on... any ideas, and can you fix it? --HappyDog 02:12, 12 September 2006 (UTC)

They're all there. It's just cached. --Brion VIBBER 19:21, 12 September 2006 (UTC)
Cheers - was that a browser or server caching issue? If it was a server cache problem, is there any way it can be avoided/worked around. It was very confusing and somewhat alarming to see the old edits just vanish! --HappyDog 23:50, 12 September 2006 (UTC)

Changes on release

Hi Brion - do you think we should move the 'pages to upgrade on a release' section of your page to a dedicated page in the Project: namespace? I know Bdk has a similar page. Perhaps a central repository would be useful (I always feel a bit wierd editing somebody's user page...) --HappyDog 12:44, 11 October 2006 (UTC)

News pages

Hi Brion. Your change to the main page completely broke it's design, but I understand your reasons - you should not have to add the same news in several places on the same wiki. I rolled-back your change and instead transcluded the news template whilst keeping the wrapping divs (removing the divs from the news template). I also restored the old news that you deleted, but moved it to an 'older news' section. This is not included on the main page (by using an invisible div - if you can think of a better method then please let me know), but will show up on the News page.

So, in summary, you still only need to update Template:MediaWiki News, and old news should be kept (just moved down the page).

Please let me know if you have a problem with any of this. --HappyDog 10:01, 12 October 2006 (UTC)

Looks awesome, thanks! --Brion VIBBER 00:15, 14 October 2006 (UTC)

Brion: As a chemist, I just love Greek and other characters, hence interest in your CharInsert. But I have clearly fallen into a blind spot, since despite much searching, I cannot find out how to switch it on in edit boxes for our site. (I note for example the one I am typing into here does not display it).--Rzepa 08:39, 5 December 2006 (UTC)

You need to add some markup to MediaWiki:Edittools. For example, the following will produce a nice little box which allows insertion of letters of the alphabet:
<charinsert>a b c d e f g h i k l m n o p q r s t u v w x y z</charinsert>
This was documented on CharInsert last time I checked, but perhaps it's not too clear. robchurch | talk 10:54, 5 December 2006 (UTC)

PS In the process of shibbolizing our site, so that collaborators can enter using their local credentials. Is this something that is taking off?


Hi Brion,

is there somewhere more Information about what CentralAuth is? I ask because we plan to implement an openSSO extension for the mediawiki. The intend is that the user has to sign in on only one mediawiki with this extension and can then be redirected to all openSSO Apps. The user will be signed in automatically with the User Page URL of the "Home Wiki" as UserID. So the user can follow interwiki links always being signed in on the target wiki without doing anything. Purpose is to support a network of personal mediawikis as knowledgemanagenet tools, where every user signs in on its own wiki, but can surf other wikis with this identity. If the solution would be implemented in core mediawiki a wikipedia user could just click on a link to any other mediawiki and take their identity URL of wikipedia with them. Feedback would be great.


From the description, you should probably look at the OpenID stuff rather than CentralAuth for this.
CentralAuth is basically a big workaround for the fact that we didn't start with a shared user table on our site years ago (which has been supported for some time for new multi-wiki sites). --Brion VIBBER 22:23, 18 December 2006 (UTC)


Hi Brion,

is this page going to be extended: Extension:CentralAuth? --GunterS 15:11, 10 April 2007 (UTC)

Prolly. -- 15:53, 10 April 2007 (UTC)

Hi Brion

how are you?

i am working with multiples wikis, using same database, same host and using tables prefixes to identify which tables belong to each wiki.

exist any way for force to use the same table user for all wikis and any user can log into any wiki?

or where i can modify source code for to do this

i have do it automatically?


sorry for my english :( !!

-- 21:08, 7 August 2008 (UTC)

Nuke extension

Hello Brion!

There's any possibility to have the Nuke extension do mass-revert and delete only uploaded files? Also... It would be good to have that extension on all projects not just meta (after all, all wikis -should- trust their sysop!) Thank you -- 01:32, 28 December 2006 (UTC)

Restricted Access

Hi Brion,

Could you and/or whomever compiles the new versions of MediaWiki please include the latest bug fixes w/ it? I'm having a problem trying to go through putting the bug fixes in all of the files, and then running my wiki to find out that I missed a character in such and such a file...that is preventing me to view the wiki.

Thanks and have a Happy New Year (Gracias, y tienes Feliz Año Nuevo),
Qsheets 06:29, 1 January 2007 (UTC)

I haven't the slightest clue what that means? --Brion VIBBER 09:30, 7 January 2007 (UTC)
Presumably the request is for something equivalent to a patch file, as there is already a list of bug fixes. I guess Qsheets has modified his/her version of MW and so can't just install a new version over the top. If so, then the answer is clearly going to be no.
My suggestion to Qsheets would be to get hold of a good diff tool (e.g. I use WinMerge), or learn to update/diff using Subversion. --HappyDog 02:32, 8 January 2007 (UTC)

Don't delete redirects

Please don't delete redirects; it leaves broken links on local sites, foreign sites, documentation, source code comments, etc. I've restored a bunch you deleted on December 12. --Brion VIBBER 22:51, 22 December 2006 (UTC)

I wish you had mentioned this beforehand! There was a bold red notice on the front page for two weeks, plus messages on various forum/portal pages indicating that these pages would be deleted after a fortnight, including details about where and how to lodge any objections. That was about 45 minutes of my life wasted - are there really that many external links to these pages, particularly given the brief length of time some of them have been in existence for? The main namespace is just becoming a mess.
Sorry Brion - I don't mean to rant so much, when most of what you do is so brilliant, but I can't believe that you didn't see the notices (though checking your contributions, you may only have been to the site once during that time...). Anyway </rant>. --HappyDog 02:02, 8 January 2007 (UTC)
This isn't really an active community wiki so much [at least for me]; I never saw any such notices.
But I've always, for years, recommended against deleting redirects without a dire reason, and I did the undeletions after finding actual broken links when I followed links from source code documentation. --Brion VIBBER 10:06, 8 January 2007 (UTC)
I didn't realise they were used externally. Does that mean we're stuck with them forever? :( --HappyDog 01:04, 9 January 2007 (UTC)
That's the idea -- you should keep links working forever if you're a good web citizen. Cool URIs don't change! :) --Brion VIBBER 02:29, 9 January 2007 (UTC)

Micro-sized, but extremely annoying bug

Hey Brion,

In every version that I have downloaded (1.6.8 to 1.9.0) there has been a one-letter error. In DefaultSettings.php, there is a section as follows...

(2083 to 2093)

$wgTrustedMediaFormats= array(
	MEDIATYPE_BITMAP, //all bitmap formats
	MEDIATYPE_AUDIO,  //all audio formats
	MEDIATYPE_VIDEO,  //all plain video formats
	"image/svg",  //svg (only needed if inline rendering of svg is not supported)
	"application/pdf",  //PDF files
	#"application/x-shockwafe-flash", //flash/shockwave movie


The last format should say "application/x-shockwave-flash" not shockwafe. When I saw it the first few times, I just glanced right over it and couldn't figure out why the file icon wouldn't show up on the page. It is that one spelling error that did it.

Please have the staff update this in the revisions to come. I'm 99.99% positive that it will be greatly appreciated. --Quentin Sheets 05:06, 15 January 2007 (UTC)

Hardly a major issue since it's in a comment anyway, so you could correct it when uncommenting, but...fixed in r19289. robchurch | talk 06:54, 15 January 2007 (UTC)


How do I get it to work like the Wikimedia wikis: e.g Testuser set rights for User:Testuser@testwiki1.

Thanks, -- 18:47, 27 January 2007 (UTC)

Question about Main Page

I'm somewhat new to wiki's and I'm trying to emulate what you have done on the mediawiki main page. All I'm really looking for is recreating the look you have with the boxes ( divs ). For the life of me I cant figure out what {{{1}}}} is in some of the wiki code you have. IF I simply wanted a blank page that had 2 boxes such as the News and current versions box, and in that format how would i implement that. I understand templates, but the embedded htm l and that reference to {{{1}}}} is killin me! any help would be appreciated.

Wasn't me; the front page of this wiki is a horrible example -- while pretty, the code is completely illegible. I have no clue how to update it except for the couple of templates I have linked myself. --brion 00:26, 13 February 2007 (UTC)
The {{{1}}} is the language code, to call e.g. one of the templates [1]. With a single language you don't need it.--Patrick 01:16, 13 February 2007 (UTC)

developer access to svn -- DPL extension

Hi Brion,

over the last two months I tried to improve a mediawiki extension called DynamicPageList (DPL) ( I was in contact with one of the former authors (Cyril Dangerville) who has got no more time to care for that extension.

I set up a demo website for DPL and put the latest source code there. Maybe you want to have a short look at an example of what DPL can do ... Now I think it would be the point in time to check the source code in to svn.

I am an IT professional and have some experience with cvs (but not with subversion so far). I read the articles about developer access via svn but still some things are not very clear to me. As far as I understand I must get a user account and publish an rsa key. Can you help me with some information of how to proceed?

--Algorithmix 07:20, 6 March 2007 (UTC)

I'd recommend you post some of your patches on bugzilla first and get some review. --brion 13:53, 6 March 2007 (UTC)
See bugzilla:9203 --Algorithmix 08:43, 7 March 2007 (UTC)

Spanish support in Highliht Extension

The following patch add spanish support to the Highliht Extension:

--- SyntaxHighlight.i18n.php.orig       2007-03-19 11:23:36.172531420 -0600
+++ SyntaxHighlight.i18n.php    2007-03-19 11:32:20.798853153 -0600
@@ -79,6 +79,13 @@
 'syntaxhighlight-err-loading' => '(支援語言清單載入錯誤)',

+/* Spanish (Elias Torres) */
+'es' => array(
+'syntaxhighlight-specify' => 'Ud debe especificar un lenguaje así:',
+'syntaxhighlight-supported' => 'Lenguajes implementados para marcado de sintaxis:',
+'syntaxhighlight-err-loading' => '(error cargando la lista de lenguajes implementados)',

Thank you for that simple and great extension.

btw, this is the only way to contact you?

--EliasTorres 17:43, 19 March 2007 (UTC)

Thanks for the translation!
I can also be contacted by email, my address should be in the code up at the top, usually... the best place to make sure patches don't get lost is our bug tracker at :) --brion 21:49, 19 March 2007 (UTC)

Fancy Captcha Problems


I have been working for days to try to get Fancy Captcha's working on my wiki. I have the php extension installed, and i think it should be working if there were any proper images in my captcha images folder. Unfortunatly my server does not have the python library needed installed, and I know almost nothing about python and so i doubt i will be able to get it to work on my own computer either. Is there any place I can go to download an already generated set of captcha images? If I knew how they were laid out in the folder and how the hash-stuff worked i would make them by hand. I am nearly ready to give up and just use simple captcha (which i have working great), but i would really like to get the images working. Please let me know if there is any pre-made set of captcha's i can get somewhere. I will keep this page up and check back for any ideas you have. Thanks! -- Thomas: 10:53, 27 April 2007 (UTC)

That would make them trivial to defeat since they could be precalculated. --brion 23:32, 30 April 2007 (UTC)


Hi Brion. You imported this from Meta into the Help: namespace, but unfortunately the licenses are incompatible. It should either be moved to the Manual: namespace (if appropriate) or deleted and rewritten according to the PD license. Also, there is a lot of Wikimedia-specific information there which doesn't really belong on, so it will also need some reworking. Cheers. --HappyDog 01:52, 2 May 2007 (UTC)

Feel free! Enjoy. --brion 13:39, 2 May 2007 (UTC)
Have deleted, with the following message:
This page already exists at Extension:CheckUser. If required, the current version at meta:Help:CheckUser should manually have its text merged with that version, then have its history merged by importing it to Extension:CheckUser, and finally made into a redirect.
If the page on meta does not need to be merged with the current version and the current version did not come from a manual copy/paste of the meta content, then it can just be replaced with a redirect to Extension:CheckUser. If either of those are not the case then it needs to be merged/imported/redirected as described above, in order to comply with the GFDL and to ensure that no information is lost. Also, any such import should include the talk page as well. --HappyDog 00:58, 7 May 2007 (UTC)

ConfirmEdit Bug Report

Hello Brion, I want to call your attention to a bug I filed on ConfirmEdit. 22664 on Mediawiki 1.6.10 throws T_BOOLEAN_AND error.


Thanks in advance.

Extension:Labeled Section Transclusion

Thanks a million!

Maybe it would be a good idea to describe performance concerns on the talk page so that people will be aware of the issues and maybe even help solve them. Dovi 21:25, 23 June 2007 (UTC)


What do you think of this? Please comment here. --HappyDog 01:30, 28 June 2007 (UTC)

redirects and SEO

Hi, I'm curious about redirects and search engine indexing -- on a (pointless) bug I opened, you noted that Redirects need to appear for proper indexing, and I was hoping you could explain why. I'm trying to improve my wiki's rankings (just like everyone else...) but don't know a ton about it, and can't think of why redirects would be necessary for indexing. Thanks -- Alxndr 01:05, 15 September 2007 (UTC)

So that when you search for them, they show up. --brion 16:26, 15 September 2007 (UTC)
The problem I see is that for a given search term, the engine's indexing a page that has no real content except a link, and will probably not rank it very high even if the redirected-to page has a high ranking. What if instead of listing redirects, each redirected-to page had a list of the titles that redirected to it, so the content you're looking for shows up in the first place? —alxndr (t) 17:40, 15 September 2007 (UTC)
....? A redirect doesn't display as a page with a link on it. --brion 18:34, 17 September 2007 (UTC)
Hoo boy. Good point. Thanks for answering my dumb questions. —alxndr (t) 20:47, 17 September 2007 (UTC)

Mediawiki Development

Is there a board where I can post projects for mediawiki extension development for pay? I am trying to build a site that requires a mediawiki expert. All code that is built will be open source and can be used in the community after.

Try this: --HappyDog 13:56, 22 November 2007 (UTC)

Unused release templates

Hi Brion, there are a few release templates that are currently unused. There are the 4 'test' release templates ({{MW test release date}}, {{MW test release link}}, {{MW test release number}} and {{MW test release svn}}) and the template {{MW stable release number-short}}. This last one may have been created in error as it is not in the list on your user page. Can you please let me know whether any of these should be kept, or if they are now obsolete (in which case they will be deleted). Thanks for your time. --HappyDog 13:55, 22 November 2007 (UTC)

new code to Special:MovePage

Do you can test this code in Test MediaWiki Project? and if this code is good, do you can upload its to any MediaWiki Project?
The New code is add Link to the old page.
The Code:

 * @addtogroup SpecialPage

 * Constructor
function wfSpecialMovepage( $par = null ) {
    global $wgUser, $wgOut, $wgRequest, $action;

    # Check rights
    if ( !$wgUser->isAllowed( 'move' ) ) {
        $wgOut->showPermissionsErrorPage( array( $wgUser->isAnon() ? 'movenologintext' : 'movenotallowed' ) );

    # Don't allow blocked users to move pages
    if ( $wgUser->isBlocked() ) {

    # Check for database lock
    if ( wfReadOnly() ) {

    $f = new MovePageForm( $par );

    if ( 'success' == $action ) {
    } else if ( 'submit' == $action && $wgRequest->wasPosted()
        && $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) ) {
    } else {
        $f->showForm( '' );

 * HTML form for Special:Movepage
 * @addtogroup SpecialPage
class MovePageForm {
    var $oldTitle, $newTitle, $reason; # Text input
    var $moveTalk, $deleteAndMove;
    private $watch = false;

    function MovePageForm( $par ) {
        global $wgRequest;
        $target = isset($par) ? $par : $wgRequest->getVal( 'target' );
        $this->oldTitle = $wgRequest->getText( 'wpOldTitle', $target );
        $this->newTitle = $wgRequest->getText( 'wpNewTitle' );
        $this->reason = $wgRequest->getText( 'wpReason' );
        if ( $wgRequest->wasPosted() ) {
            $this->moveTalk = $wgRequest->getBool( 'wpMovetalk', false );
        } else {
            $this->moveTalk = $wgRequest->getBool( 'wpMovetalk', true );
        $this->deleteAndMove = $wgRequest->getBool( 'wpDeleteAndMove' ) && $wgRequest->getBool( 'wpConfirm' );
        $this->watch = $wgRequest->getCheck( 'wpWatch' );

    function showForm( $err, $hookErr = '' ) {
        global $wgOut, $wgUser, $wgContLang;
        $start = $wgContLang->isRTL() ? 'right' : 'left';
        $end = $wgContLang->isRTL() ? 'left' : 'right';

        $wgOut->setPagetitle( wfMsg( 'movepage' ) );

        $ot = Title::newFromURL( $this->oldTitle );
        if( is_null( $ot ) ) {
            $wgOut->showErrorPage( 'notargettitle', 'notargettext' );
        $oldTitle = $ot->getPrefixedText();

        $encOldTitle = htmlspecialchars( $oldTitle );
        if( $this->newTitle == '' ) {
            # Show the current title as a default
            # when the form is first opened.
            $encNewTitle = $encOldTitle;
        } else {
            if( $err == '' ) {
                $nt = Title::newFromURL( $this->newTitle );
                if( $nt ) {
                    # If a title was supplied, probably from the move log revert
                    # link, check for validity. We can then show some diagnostic
                    # information and save a click.
                    $newerr = $ot->isValidMoveOperation( $nt );
                    if( is_string( $newerr ) ) {
                        $err = $newerr;
            $encNewTitle = htmlspecialchars( $this->newTitle );
        $encReason = htmlspecialchars( $this->reason );

        if ( $err == 'articleexists' && $wgUser->isAllowed( 'delete' ) ) {
            $wgOut->addWikiText( wfMsg( 'delete_and_move_text', $encNewTitle ) );
            $movepagebtn = wfMsgHtml( 'delete_and_move' );
            $submitVar = 'wpDeleteAndMove';
            $confirm = "
                    <td></td><td>" . Xml::checkLabel( wfMsg( 'delete_and_move_confirm' ), 'wpConfirm', 'wpConfirm' ) . "</td>
            $err = '';
        } else {
            $wgOut->addWikiText( wfMsg( 'movepagetext' ) );
            $movepagebtn = wfMsgHtml( 'movepagebtn' );
            $submitVar = 'wpMove';
            $confirm = false;

        $oldTalk = $ot->getTalkPage();
        $considerTalk = ( !$ot->isTalkPage() && $oldTalk->exists() );

        if ( $considerTalk ) {
            $wgOut->addWikiText( wfMsg( 'movepagetalktext' ) );

        $movearticle = wfMsgHtml( 'movearticle' );
        $newtitle = wfMsgHtml( 'newtitle' );
        $movereason = wfMsgHtml( 'movereason' );

        $titleObj = SpecialPage::getTitleFor( 'Movepage' );
        $action = $titleObj->escapeLocalURL( 'action=submit' );
        $token = htmlspecialchars( $wgUser->editToken() );

        if ( $err != '' ) {
            $wgOut->setSubtitle( wfMsg( 'formerror' ) );
            $errMsg = "";
            if( $err == 'hookaborted' ) {
                $errMsg = $hookErr;
            } else {
                $errMsg = '<p class="error">' . wfMsgWikiHtml( $err ) . "</p>\n";
            $wgOut->addHTML( $errMsg );

        $moveTalkChecked = $this->moveTalk ? ' checked="checked"' : '';

        $wgOut->addHTML( "
<form id=\"movepage\" method=\"post\" action=\"{$action}\">
    <table border='0'>
            <td align='$end'>{$movearticle}</td>
            <td align='$start'><strong>" );
        $wgOut->addWikiText( "[[{$oldTitle}]]" );
        $wgOut->addHTML( "</strong></td>
            <td align='$end'><label for='wpNewTitle'>{$newtitle}</label></td>
            <td align='$start'>
                <input type='text' size='40' name='wpNewTitle' id='wpNewTitle' value=\"{$encNewTitle}\" />
                <input type='hidden' name=\"wpOldTitle\" value=\"{$encOldTitle}\" />
            <td align='$end' valign='top'><br /><label for='wpReason'>{$movereason}</label></td>
            <td align='$start' valign='top'><br />
                <textarea cols='60' rows='2' name='wpReason' id='wpReason'>{$encReason}</textarea>
        </tr>" );

        if ( $considerTalk ) {
            $wgOut->addHTML( "
            <td></td><td>" . Xml::checkLabel( wfMsg( 'movetalk' ), 'wpMovetalk', 'wpMovetalk', $moveTalkChecked ) . "</td>
        </tr>" );

        $watchChecked = $this->watch || $wgUser->getBoolOption( 'watchmoves' ) || $ot->userIsWatching();
        $watch  = '<tr>';
        $watch .= '<td></td><td>' . Xml::checkLabel( wfMsg( 'move-watch' ), 'wpWatch', 'watch', $watchChecked ) . '</td>';
        $watch .= '</tr>';
        $wgOut->addHtml( $watch );

        $wgOut->addHTML( "
            <td align='$start'>
                <input type='submit' name=\"{$submitVar}\" value=\"{$movepagebtn}\" />
    <input type='hidden' name='wpEditToken' value=\"{$token}\" />
</form>\n" );

    $this->showLogFragment( $ot, $wgOut );


    function doSubmit() {
        global $wgOut, $wgUser, $wgRequest;

        if ( $wgUser->pingLimiter( 'move' ) ) {

        # Variables beginning with 'o' for old article 'n' for new article

        $ot = Title::newFromText( $this->oldTitle );
        $nt = Title::newFromText( $this->newTitle );

        # Delete to make way if requested
        if ( $wgUser->isAllowed( 'delete' ) && $this->deleteAndMove ) {
            $article = new Article( $nt );
            // This may output an error message and exit
            $article->doDelete( wfMsgForContent( 'delete_and_move_reason' ) );

        # don't allow moving to pages with # in
        if ( !$nt || $nt->getFragment() != '' ) {
            $this->showForm( 'badtitletext' );

        $hookErr = null;
        if( !wfRunHooks( 'AbortMove', array( $ot, $nt, $wgUser, &$hookErr ) ) ) {
            $this->showForm( 'hookaborted', $hookErr );

        $error = $ot->moveTo( $nt, true, $this->reason );
        if ( $error !== true ) {
            $this->showForm( $error );

        wfRunHooks( 'SpecialMovepageAfterMove', array( &$this , &$ot , &$nt ) )    ;

        # Move the talk page if relevant, if it exists, and if we've been told to
        $ott = $ot->getTalkPage();
        if( $ott->exists() ) {
            if( $this->moveTalk && !$ot->isTalkPage() && !$nt->isTalkPage() ) {
                $ntt = $nt->getTalkPage();
                # Attempt the move
                $error = $ott->moveTo( $ntt, true, $this->reason );
                if ( $error === true ) {
                    $talkmoved = 1;
                    wfRunHooks( 'SpecialMovepageAfterMove', array( &$this , &$ott , &$ntt ) )    ;
                } else {
                    $talkmoved = $error;
            } else {
                # Stay silent on the subject of talk.
                $talkmoved = '';
        } else {
            $talkmoved = 'notalkpage';
        # Deal with watches
        if( $this->watch ) {
            $wgUser->addWatch( $ot );
            $wgUser->addWatch( $nt );
        } else {
            $wgUser->removeWatch( $ot );
            $wgUser->removeWatch( $nt );

        # Give back result to user.
        $titleObj = SpecialPage::getTitleFor( 'Movepage' );
        $success = $titleObj->getFullURL(
          'action=success&oldtitle=' . wfUrlencode( $ot->getPrefixedText() ) .
          '&newtitle=' . wfUrlencode( $nt->getPrefixedText() ) .
          '&talkmoved='.$talkmoved );

        $wgOut->redirect( $success );

    function showSuccess() {
        global $wgOut, $wgRequest, $wgUser;
        $old = Title::newFromText( $wgRequest->getVal( 'oldtitle' ) );
        $new = Title::newFromText( $wgRequest->getVal( 'newtitle' ) );
        if( is_null( $old ) || is_null( $new ) ) {
            throw new ErrorPageError( 'badtitle', 'badtitletext' );
        $wgOut->setPagetitle( wfMsg( 'movepage' ) );
        $wgOut->setSubtitle( wfMsg( 'pagemovedsub' ) );

        $talkmoved = $wgRequest->getVal( 'talkmoved' );
        $oldUrl = $old->getFullUrl( 'redirect=no' );
        $newUrl = $new->getFullURl();
        $oldText = wfEscapeWikiText( $old->getPrefixedText() );
        $newText = wfEscapeWikiText( $new->getPrefixedText() );
        $oldLink = "<span class='plainlinks'>[$oldUrl $oldText]</span>";
        $newLink = "<span class='plainlinks'>[$newUrl $newText]</span>";

        $s = wfMsg( 'movepage-moved', $oldLink, $newLink, $oldText, $newText );

        if ( $talkmoved == 1 ) {
            $s .= "\n\n" . wfMsg( 'talkpagemoved' );
        } elseif( 'articleexists' == $talkmoved ) {
            $s .= "\n\n" . wfMsg( 'talkexists' );
        } else {
            if( !$old->isTalkPage() && $talkmoved != 'notalkpage' ) {
                $s .= "\n\n" . wfMsg( 'talkpagenotmoved', wfMsg( $talkmoved ) );
        $wgOut->addWikiText( $s );
    function showLogFragment( $title, &$out ) {
        $out->addHtml( wfElement( 'h2', NULL, LogPage::logName( 'move' ) ) );
        $request = new FauxRequest( array( 'page' => $title->getPrefixedText(), 'type' => 'move' ) );
        $viewer = new LogViewer( new LogReader( $request ) );
        $viewer->showList( $out );

Thanks You! Agbad in hebrew wikipedia

Can you please post this as a diff on bugzilla instead? Aaron 07:54, 18 December 2007 (UTC)

Please answer this question

Hi i ask a question in Extension talk:CharInsert please help me to solve it

How can I commit?

After searching a lot, I found that I should call you!

To introduce myself, I am PHP developer for about 10 years and have access to some other projects (like serendipity) and now want to adding Persian features to MediaWiki (already implemented, only trying to commit).

Now, I want to commit them to the main source, how could I do that? Sending them to someone to test and commit or I can send them to servers or ...?

Regards, Omidmottaghi 09:56, 1 March 2008 (UTC)

1.12.0 release date

Hi, this is just an insignificant detail, but the date for the 1.12.0 release seems incorrect in Template:MediaWiki_News : it says 2008-03-22 instead of 2008-03-20.

Since the page is protected I can't fix it myself. -- Chninkel 12:32, 21 March 2008 (UTC)


How is this extension installed? I placed: ( require_once( "$IP/extensions/Titlekey/titlekey.php" ); ) into the localsettings.php and got this error when trying to make a new page:

A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:

    (SQL query hidden)

from within function "TitleKey::setBatchKeys". MySQL returned error "1146: Table 'wiki.titlekey' doesn't exist (localhost)".

Matt 13:12, 6 May 2008 (UTC)

Run maintenance/update.php to update your DB schema and populate the table. --brion 01:10, 7 May 2008 (UTC)

Hi, I have the same problem. I think I have tried just about everything, see my TitleKey discussion entry. Is there any other scripts to be run? -- 17:04, 23 August 2008 (UTC)

MediaWiki 1.13 & TitleKey not working

I have the same problem with Titlekey extension. I use MediaWiki 1.13 and installed the extensions inclusive the update script for the database. The parameter $wgUseAjax is true and the result is that nothing happens. Is there something else to do? -- 09:14, 4 September 2008 (UTC)

user groups management

Hi there! My name is John, and I was given your name by Sayuri. The reasons I'm contacting you is because I need some help with my small private installation of MediaWiki 1.11.0. I am no longer able to edit it. I asked Sayuri about it; I found him on the MW help desk. He tried to help, but couldn't, so he sent me to the IRC channel. There I found that somehow I no longer belong to the groups I've set to be able to edit.

My account name in the user list looks like this:

   * Anamacha ‎(bureaucrat������, sysop�����������)

and the groups that can edit are (bureaucrat, sysop) -- I have no idea how this happened. It wasn't a change that I had made consciously, and I know (little) enough about php to NOT fool with it.

Someone on the IRC channel walked me though the process of renaming the groups, but all that did was change the spaces after the group names to the unknown characters shown above.

Basically I want to remove the special characters from the group names; I want to be able to edit my wiki again.

If you'd like to see what I've done with Sayuri and where this started, go here: User talk:Sayuri#user rights question

Thanks for your time!

--Anamacha 21:46, 31 May 2008 (UTC)

This is due to the original fixed-size groups column not working properly when you set up the wiki with the binary schema; your data ends up padded with null bytes in later versions of MySQL, and things end up breaking. Change user_groups.ug_group from BINARY to a VARBINARY column, and change the contents to strip out those null bytes. --brion 16:58, 1 June 2008 (UTC)
ooh. Okay ... I can try to do that. But how do I accomplish such a thing? I have access to a command-line, and I have phpMyAdmin as well. Sorry to ask for the details, but as I said above, I know little enough about php to not jump in and mess it up. Thanks so much! --Anamacha 07:07, 2 June 2008 (UTC)
I did some poking around in MyphpAdmin, and I found that user_groups.ug_group is already a VARBINARY. I exported the structure information:
-- phpMyAdmin SQL Dump
-- version 2.11.4
-- Host: localhost
-- Generation Time: Jun 05, 2008 at 08:09 PM
-- Server version: 5.0.45
-- PHP Version: 5.2.3


-- Database: `anamacha_wiki`

-- --------------------------------------------------------

-- Table structure for table `user_groups`

CREATE TABLE `user_groups` (
  `ug_user` int(10) unsigned NOT NULL default '0',
  `ug_group` varbinary(16) NOT NULL default '                ',
  PRIMARY KEY  (`ug_user`,`ug_group`),
  KEY `ug_group` (`ug_group`)

-- Dumping data for table `user_groups`

INSERT INTO `user_groups` VALUES(1, 'bureaucrat\0\0\0\0\0\0');
INSERT INTO `user_groups` VALUES(2, 'bureaucrat\0\0\0\0\0\0');
INSERT INTO `user_groups` VALUES(3, 'bureaucrat\0\0\0\0\0\0');
INSERT INTO `user_groups` VALUES(1, 'sysop\0\0\0\0\0\0\0\0\0\0\0');
INSERT INTO `user_groups` VALUES(2, 'sysop\0\0\0\0\0\0\0\0\0\0\0');
INSERT INTO `user_groups` VALUES(3, 'sysop\0\0\0\0\0\0\0\0\0\0\0');

Then I tried to manually edit the table and remove the padding, but the changes didn't seem to be taking.

--Anamacha 00:20, 6 June 2008 (UTC)

Monobook Skin and Templates for Bugzilla 3.0

I'm looking for the Monobook skin and template files used with the Bugzilla 3.0 install at I understand that you're the person who might know where to find these files. I've attempted due dilegence but "monobook", "skin", "template" and "bugzilla" aren't working too well in google searches.

I'd used the old Monobook templates for Bugzilla 2.2 available at download:bugzilla/ and I was hoping I might obtain Bugzilla 3.0 equivalents.

Thanks for your time.

--TestTube49 21:16, 13 June 2008 (UTC)

I found an existing enhancement request in Bugzilla, bug 9025.
--TestTube49 17:57, 14 June 2008 (UTC)

A Quick Question...

Sorry to bother you, but I wanted to ask you something about the mediawiki software I could not find anywhere in the manual: When a user creates an account, what function, hook, etc. is used to see if the username is too similar to another username? For instance, a username User:Foo exists, and a user cannot create account User:Foo1 because it is too similar. How does the software determine this? I appreciate your help greatly. Parent5446 00:12, 17 June 2008 (UTC)

Extension:AntiSpoof does this; it uses the AbortNewAccount hook. --brion 13:18, 17 June 2008 (UTC)
Thanks. Parent5446 17:42, 17 June 2008 (UTC)

Release of 1.13

Has a date been targeted for the release of 1.13? Will it be in the next two or three weeks, or is it a few months out? -- Prod 20:39, 22 June 2008 (UTC)

they said quarterly which would have put it a couple of weeks ago so I don't think that's right 22:37, 7 July 2008 (UTC)

ConfirmEdit Help

I tried asking for help on the extension's talk page. But I got no response. I described the problem here. An image showing the problem is here. The position of the link is causing problems. We would like to move it to another part of the sentence that it is in. Can this be done at all on our end?--Mjr162006 17:13, 4 July 2008 (UTC)

Answered at Extension_talk:ConfirmEdit#Move_the_Link. --brion 19:48, 4 July 2008 (UTC)

Interwiki SQL error

I installed the latest version successfully on my localhost wiki, for testing. However, interwiki links do not work from the interwiki-sql file. This is the error message I get:

SQL query:

'zh', '$1', 1
), (
'zh-cfr', '$1', 1
), (
'zh-classical', '$1', 1
), (
'zh-cn', '$1', 1
), (
'zh-min-nan', '$1', 1
), (
'zh-tw', '$1', 1
), (
'zh-yue', '$1', 1
), (
'zu', '$1', 1

MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''zh','$1',1),
('zh-cfr','http://zh-min-nan.wikiped' at line 1

I did this via phpMyAdmin, since it is hard for me to use maintenance scripts with XAMPP (the platform I am hosting this on!) If anyone can help me, it's much appreciated!! Thanks, AP aka --Sunstar 20:44, 4 July 2008 (UTC)

There was an error in the updated wikipedia-interwiki.sql file; I've just fixed it in SVN so update and the new version should import correctly. --brion 21:39, 4 July 2008 (UTC)


Hi Brian, I fail to install the Extension:OAIRepository. I realize much else is missing the documentation as well (how to use it exactly), but even the installation instructions are missing. Perhaps 10 minutes of adding some info could help. Many thanks! --Vigilius 22:26, 17 July 2008 (UTC)

Asksql Problem

Hi, Brion! I recently installed Asksql on my 1.12.0 Mediawiki installation. All seems good.. Only problem is that I get a HTTP 500 error everytime I execute a query -- no matter what I enter in the query box. Any ideas? Thanks. -- 18:41, 18 July 2008 (UTC)

Probably a PHP fatal error; perhaps it's misconfigured or there's an incompatibility with the version of the code you've got. Turn on PHP's display_errors setting or check the system error logging to see what's going on. --brion 13:36, 23 July 2008 (UTC)
Just tried to turn display_errors on, and checked my webserver logs as well; nothing. That's really weird. No other ideas as to what could be wrong? Thanks. -- 12:11, 27 August 2008 (UTC)


Hi Brion, I'm wondering if you could expand on the CentralAuth parameters, even just a one sentence explanation and a quick example of the syntax would do, i'm referring to the following parameters that at present do no have any explanation


Many thanks in advance User:Prom3th3an

There should be documentation comments on all of these in the source code. --brion 21:44, 27 July 2008 (UTC)
Hi Brion, yes the parameters are documented in CentralAuth.php. Another question, however: is it true that CentralAuth does not work if multiple wikis are in a single database, distinguished by prefixes? I am missing an example how to set up $wgLocalDatabases and $wgConf in such a case. Google does not retrieve anything either. On User_talk:Marcus_Stöhr I found a negative of non-success, and I am failing myself to set it up. I also asked some questions on Manual_talk:$wgLocalDatabases and Extension_talk:CentralAuth#Single_database_with_prefixed_tables. Many thanks in advance! --Vigilius 20:00, 28 July 2008 (UTC)
Yeah, it probably wouldn't work in that case. --brion 17:57, 30 July 2008 (UTC)

IRC cloaks

There seems to be a lot of interest from the developers for a mediawiki/ cloak. James just wanted you to sign off (or not). Could you leave a comment there, please? :-) --MZMcBride 18:43, 17 August 2008 (UTC)

Question regarding Special:Recentchanges

I just installed the latest SVN trunk version at my wiki here - and when I had a look at Special:RecentChanges I noticed some of them were highlighted in grey.

Why is this?? Is this a bug, and if so, please can you revert it?? Thanks for your help regarding the interwiki.sql that I asked earlier as an IP address.

Thanks, --Sunstar NW XP 21:44, 17 August 2008 (UTC)

It just means you're using a very recent copy of MediaWiki. See bugzilla:14468 and rev:39507. --MZMcBride 21:52, 17 August 2008 (UTC)

MWDumper edit

Hi, I noticed you added this to the importing XML dump page:

The easiest way to fill those tables out is to directly import the rest of the MediaWiki tables provided as gzipped SQL dumps alongside the .xml dump.

Could you point me to where I would go to find out how to do this? Like, where is the SQL dump, and would I use the same MWDumper command, just for a different file? --JaGa 17:38, 19 August 2008 (UTC)

They're on the same download page where you got the XML dumps. Directions should exist in many places for how to read in an SQL dump. --brion 18:36, 21 August 2008 (UTC)
Thanks for the response. I'm looking at download:enwiki/20080724/. But which SQL dump(s) do I choose? All of them? --JaGa 16:40, 22 August 2008 (UTC)

Newer Version

Hey Brion, I was just wondering when do you think a new version like MW 2.0 will come out. The 1.0 version series has been around for a very long time now. Thanks, --'Truetech(Talk)   MediaWiki Support Team 19:02, 28 August 2008 (UTC)

We have no current plans for a 2.0 major version bump; each minor version receives a large amount of refactoring and new features while maintaining a continuous stream of updates to live systems. --brion 18:58, 9 September 2008 (UTC)

Protection bug

This bug occurred in protection:

  • 20:32, 13 September 2008 WikiSysop (Talk | contribs | block) protected "Image:Autowiki-logo.png" [edit=sysop] (indefinite) [move=sysop] (indefinite) ‎ (Site logo, should not be unprotected for any reason without consultation) (hist) (change)
  • 20:27, 13 September 2008 WikiSysop (Talk | contribs | block) protected "Main Page" [edit=sysop] (indefinite) [move=sysop] (indefinite) ‎ (high-visibility) (hist) (change)

Surely it should be:

  • 20:32, 13 September 2008 WikiSysop (Talk | contribs | block) protected "Image:Autowiki-logo.png" [edit=sysop:move=sysop] ‎ (Site logo, should not be unprotected for any reason without consultation) (hist) (change)
  • 20:27, 13 September 2008 WikiSysop (Talk | contribs | block) protected "Main Page" [edit=sysop:move=sysop] (high-visibility) (hist) (change)

Thanks for your work in providing a great piece of software... and please look into this. --Sunstar NW XP 20:43, 13 September 2008 (UTC)

The protection log is rather erratic in italicising text in the trunk version; for protecting pages from creation it italicises them, but protecting articles/images/templates it is in non-italics. I'm not sure the addition of (indefinite) as expiry time for indefinitely protected pages is relevant. Thanks, --Sunstar NW XP 20:51, 13 September 2008 (UTC)

Bugs should be filed at Bugzilla. Cheers. --MZMcBride 23:29, 13 September 2008 (UTC)
The problem was the splitting of the expiry/restriction info to log_params so it wouldn't get cut off in the log if there was a long protection reason. Should be somewhat more consistent as of r40808. Mr.Z-man 03:04, 14 September 2008 (UTC)

¿Como creo un wiki?

¿Como?--Klevar91 02:17, 3 October 2008 (UTC)

Installation/es? --brion 17:51, 10 October 2008 (UTC)


You are the owner of mediawiki if to help me if I want more wiki user groups as: CheckUser, Coders, Importers transwiki, Developers, Oversighters and other groups--Klevar91 04:06, 10 October 2008 (UTC)

You give me the link and answer--Klevar91 04:06, 10 October 2008 (UTC)

Manual:User rights management sounds like a good place to start. --brion 17:50, 10 October 2008 (UTC)


User:Ferrer is suppose to be vandal that broke some Russian wiki projects. His contribution is rather strange, starting with his first ever wiki-edit [2]. Nothing wrong, just learning CheckUser Extension, but next were about 2000 edits, including system messages. I recommend, you to check this user and if there will be a number of proxies in list, then take care on it.--Evgen 22:26, 25 October 2008 (UTC)

Before you do anything, please note that Ferrer's account on ruwiki is not his. --Skizzerz 01:30, 26 October 2008 (UTC)
but his first edit in ruwiki was ask to Ferrer's account usurpation. Supposed vandal have a lot of accounts in different wiki/non-wiki sites, for example in he is ferrer11, silence2008, stammer11,grigoryrektorat, pornoallah, may be zukagoy and so on. In wiki projects he makes vandal edits from one account, than help to clear pages from vandalizm from "normal" account and then say "I need admin rights" for more efficient work, next "I need Check User rights"... --Evgen 08:27, 26 October 2008 (UTC)

Result at ruwiki: User:Ferrer-ru was indefinitely blocked as serial vandal --Evgen 20:18, 29 October 2008 (UTC)

Sounds like an issue for local sysops/bureaucrats/checkusers/stewards. --brion 22:02, 29 October 2008 (UTC)

Extension Requests

Care to comment here? You're a developer, right?.--Matt 22:51, 29 October 2008 (UTC)

There are a couple of extension ideas I'd like to throw your way. I'll copy the text here:

Edit Preview Redirect List
I was editing my wiki when I got an idea. What about having an extension that lists the any redirect pages that are linked to on the current page when previewing an edit? I couldn't seem to find an existing extension like this. Sound good?
List Redirects Expansion
I had an idea just now. How about the Special:ListRedirects page is changed a little to add links next to them just like the page Special:MostLinked has. That will make fixing redirecting links a lot easier and would save a lot of time. That is what I use the list redirects page for anyway.

I think the second one will be the easiest to implement, since all the necessary coding already exists. I'd really like to have the first one, but that might be a lot harder to do. Since the extension request page is practically useless, this is the only way I know of to get these implemented.--Matt 02:36, 2 November 2008 (UTC)

Cite.php work

Dear Brion,

I am not currently a MW dev, and don't have plans to get too involved, but I have reworked some code in the cite.php extension. I wrote about this at w:User_talk:Ævar_Arnfjörð_Bjarmason#Footnotes.2C_clustered_links, but it seems AEvar is unwilling to maintain it anymore. I was not originally planning to ask for SVN access, but if this is to be commited I suppose it might be useful (so that I can monitor and fix any problems I may have caused!). Everything seems to work on my local system, but a bit of testing is probably still needed to weed out corner cases (everything 'theoretically works'). I can see plenty of comments on Bugzilla, and there are a few nice backwards-compatible suggestions which do not seem to have made it upstream. If my work is accepted (or sent back/changed/accepted), then I know my way around cite.php well so I would be happy to sort out the features people seem to want, some of which are very do-able.

Essentially, I suppose I am asking, in a roundabout sort of way, for SVN access, unless you want to manage the patch yourself (the third option for you is to ignore/stall me, which would save us all time at least!). I am currently a student, and have reasonable development experience, so not stupid (but new to the MW codebase), and qualified to write code (I have have had patches and code accepted for example to Amarok and KDE).

-Kan8eDie 14:20, 8 November 2008 (UTC)

PS. The patch is the sort of thing I know you will hate, with three things done at once, so I suppose I could separate them out, but it would be a bit tricky as the old way of counting refs was a bit of a strange hack with too many corner cases. While sorting this out a bit internally, I have made it a bit tricky to isolate changes. As a result, it does not fit well with anything on Bugzilla, so that is why I have not posted the patch there.-Kan8eDie 14:35, 8 November 2008 (UTC)

Sorry to bother you. I have dumped the patch at 16294 (Bugzilla) as per advice on IRC. —Kan8eDie 00:16, 10 November 2008 (UTC)
Thanks, we'll take a look! :D --brion 14:40, 10 November 2008 (UTC)

MediaWiki, r45241

Hi Brion !

Thanks for you revert in MediaWiki Code. This revision non-correct and commited without good faith. This revisions make many problems to non-Wikimedia wiki sites, powered by MediaWiki. This feature should not be enabled by default in MediaWiki.

And happy New Year ! :)

-- 21:33, 31 December 2008 (UTC)

It was made in perfectly good faith -- it's just not ready for trunk. --brion 21:34, 31 December 2008 (UTC)

User account

Dear Brion, I just created the Account Simplicius DE to be allowed to have a look at Special pages → Stewards.

My global account is Simplicius, and de:Simplicius as my mother language in particular.

There is an account User:Simplicius already here. I suppose it was created by me once. However I do not have the password. The account has no mailaddress. There has never been an edit.

I would like to merge this one with my global account and would like to ask whether this were possible.

Yours sincerely, Simplicius DE 11:48, 21 January 2009 (UTC)

fixed, renamed Simplicius > Simplicius (SUL), then Simplicius DE > Simplicius. --:bdk: 08:40, 22 January 2009 (UTC)
thank you very much indeed. -- Simplicius 12:09, 26 January 2009 (UTC)

Commit access for User:Jan Luca


I want to ask for Commit access, because I want to load up extensions. My ssh-key is under

Jan Luca 13:51, 27 January 2009 (UTC)

Protection page

Hello. Can you protect in edit:autoconfirmed ; move:sysop the page "Mediawiki/it", please :)? --Ivocamp96 18:28, 24 February 2009 (UTC)

Done. --MZMcBride 22:25, 25 February 2009 (UTC)

Developer meet-up

Wouldn't this be better as a site notice? I expect a lot of people who are interested in this will bypass the main page (for example, my bookmark goes straight to my watchlist - I only saw the note because I'm watching the main page template and noticed the change...) --HappyDog 01:25, 12 March 2009 (UTC)

  • shrug*

Need emergency update of web servers

I made a terrible mistake on LanguageConverter.php, caused -{A|}- and -{D|}- won't work any more. Now I have patched the bug on rev:48836, but need emergency update of web servers. Can you help me? Thanks. Best Regard, --PhiLiP 10:32, 26 March 2009 (UTC)

Applied. --brion 18:43, 26 March 2009 (UTC)


I found your opensearch extension and wonder if I can use it in my scenario. I have a Drupal site and plan to use the opensearch aggregator module ( So far I looked at the Extension:Opensearch but this one can only provide an ATOM-Feed and the Drupal modul needs RSS. Do you think I can use your extension? --Simon.dueckert 07:28, 28 April 2009 (UTC)

Nope. --brion 17:22, 28 April 2009 (UTC)

Moving of Extension:Intersection to Extensin:DynamicPageList

It seems to as a very unwise move to change the name of Extension:Intersection to Extension:DynamicPageList. One thing is that this seems like an aggressive move to deface a very well-known extension, an other thing is that previously the Wikinews extension was known as Extension:Intersection. The last is perhaps the most troublesome for other users of Mediawiki, as it is not clear which extension they shall use. The first one is clearly the most troublesome for the project as such as it gives a very low standing to do such renaming. I would prefer that the extensions would retain the previous names. Jeblad 04:22, 29 May 2009 (UTC)

Hi Brion, I have to agree with Jeblad on this, the move was quite radical and I have the feeling that it has the potential to increase the confusion around these extensions. For me, Extension:DynamicPageList (third-party) is THE extension for DPL queries; it should simply replace all others and end this confusion. Capmo 05:47, 4 June 2009 (UTC)

Proposed enhancements to table sorting (rowspan/colspan support)

Greetings. My name is Tom and I am a software developer who acquired an interest in Wikipedia a little over a year ago. Writing is not my forte, so I have been looking for other ways to contribute (vandal patrolling, fact checking, and occasionally informal dispute mediation). Lately, I have been working on enhancements to the wikibits.js table sorting code to implement support for tables containing rowspans and colspans (see bug 8028). I currently have a working prototype en:User:Tcncv/sorttables.js and test cases en:User:Tcncv/Table Sort Demo on the English Wikipedia ("importscript" is required to test). I am soliciting feedback from the user community en:Wikipedia:Village pump (proposals)#Proposed enhancements to table sorting (rowspan/colspan support) and expect to be ready to submit my proposed changes for review shortly after cleaning up a few loose ends.

This is where I could use some assistance. Being new to this environment, I am not familiar with the process and could use some pointers to get me on the right track for submitting this proposed change for review. I also would like to know what the best forum is for discussing changes such as this. Being a significant change to the current code, I want to make sure I get it right. Could you provide some direction or refer me to someone who can steer me in the right direction? Thank you. -- Tcncv 01:53, 31 May 2009 (UTC)

Renaming Intersection / DynamicPageList

I would like to confirm Jeblad's note above that what is now moved to Extension:DynamicPageList (third-party) is a very important extension. Without it we could stop using MediaWiki. It is not suitable for sites with anonymous access, but this should not be the sole determination of the worth of MediaWiki. We would wish it could be developed more directly in its SVN directory.

While I believe the aggressive tone is demotivating to mediawiki extension developers, your changes cleaned up the confusion I noted in my bug report - thanks! Unfortunately, the intersection talk page was not properly moved. Currently, Extension:Intersection redirects to Extension:DynamicPageList, but going there and clicking "discussion" brings you to Extension talk:DynamicPageList (third-party), while the talk for Extension:DynamicPageList is still on Extension_talk:Intersection. Trying to fix myself (and not thinking) I created accidentially: Extension talk:DynamicPageList DELETE ME; please delete that as well as Extension talk:DynamicPageList, and move Extension_talk:Intersection there. Thanks! --G.Hagedorn 13:00, 1 June 2009 (UTC)

Hi Hagedorn! I noticed what you were trying to do and placed {{delete}} requests in both redirects you cited. They were already deleted by an admin and I've just moved the Extension_talk:Intersection to the proper place. Capmo 05:44, 4 June 2009 (UTC)


Hello I think as a wiki? q is not understand the guide, I'm Mexican and I speak Spanish: YOU DO NOT UNDERSTAND ANYTHING TO GUIDE OR MediaWiki ESPAÑOL.Ya have my hosting with a subdomain if I need to say right here that I like. Already downloaded the mediawiki (I have WinRAR) I just need you to tell me where to upload it. I HAVE A CONTROL PANEL "hearing panel". I already have a base and I think a MySQL phpMyAdmin. FTP upload control there mediawiki

My msm is, which help me I will install the second in command of my future wiki. For experts and create a subdomain hosting wiki for Help --Klevar97 20:28, 10 July 2009 (UTC)


Hello I think as a wiki? q is not understand the guide, I'm Mexican and I speak Spanish: YOU DO NOT UNDERSTAND ANYTHING TO GUIDE OR MediaWiki ESPAÑOL.Ya have my hosting with a subdomain if I need to say right here that I like. Already downloaded the mediawiki (I have WinRAR) I just need you to tell me where to upload it. I HAVE A CONTROL PANEL "hearing panel". I already have a base and I think a MySQL phpMyAdmin. FTP upload control there mediawiki

My msm is, which help me I will install the second in command of my future wiki. For experts and create a subdomain hosting wiki for Help--Klevar97 20:35, 10 July 2009 (UTC)

Hello there mr local checkuser

Something fisky going on here this morning with new accounts. --Charitwo 17:46, 11 July 2009 (UTC)


Is it possible to disable the DismissableSiteNotice. I am using wikia, thats why. Sachein 21:54, 20 July 2009 (UTC)

You'll have to ask the Wikia site admins. :) --brion 16:28, 21 July 2009 (UTC)

Chinese Conversion Table

Hi, Brion! Can you help to merge the new revision of ZhConversion.php (currently rev:54072) into wmf-deployment? Or can I do it myself? --PhiLiP 14:31, 4 August 2009 (UTC)

Confirmedit version problem

I upgraded to PHP 5.3.0 and the extension stopped working. It's returning an error about a hook not returning a value. This happens every time someone sends in an edit so I had to disable the extension, which caused a large spam problem... Anything to do about that? Joe :) User_talk:Happy Joe 15:15, 23 August 2009 (UTC)


I would like to pay your attention to your extension - CentralNotice. There is a Fatal Error:

Fatal error: Call to undefined method SiteConfiguration::loadFullData() in /var/wwwpub/extensions/CentralNotice/SpecialNoticeText.php on line 213

Also, I maked a note there: Extension talk:CentralNotice Thanks, --Lugerr 11:51, 17 September 2009 (UTC)

(Re)Reverting 52300

Hi Brion, could you please revert Special:Code/MediaWiki/52300 to Special:Code/MediaWiki/51209? Thanks, -- Emdee 18:34, 21 September 2009 (UTC)


Hey Brion,

I was wondering if you wouldn't mind taking a quick pass through commit access requests before you head over to StatusNet. Obviously if you're too busy it's not a problem, but if possible I'd like to have access before the stagnant period during which WikiMedia will be searching for a new CTO :)

Thanks, and enjoy yourself at your new position, MacMed 04:27, 5 October 2009 (UTC)

Yep. :D I poked a couple quick ones today and will do a further pass on Tuesday. --brion 18:35, 5 October 2009 (UTC)

Section querying and outputting

Hey Brion,

I am a newbie to MediaWiki and have been contracted a research project for a big organization. I was finding it a challenge to get started developing MW extensions for the project. I was wondering if I could explain everything to you over a private message medium and you could explain to me how I need to go about it.

I have already gone through the stuff you have on MW for folks who want to get started, but am still very lost.

Thanks, Varunarora 19:24, 25 December 2009 (UTC)

Sorry, didn't know how this thing works. Done! Varunarora 19:25, 25 December 2009 (UTC)

Thank you

Hi Brion, how are you? I'm here to thank you that the bug you stick to Rob's to do list, have successfully fixed by Andrew Garrett. I told you to inform when it get fixed, so i'm here to thanking you. — T@nv!r_ (Talk) 11:52, 12 December 2009 (UTC)


Hi, Brion, and Happy New Year's (& Decade) to you! I have brought this to Tim Starling's attention, too. Constantly when a new edit is being made to any article lately that has categories, (on English Wikipedia) the category box located at the bottom of the page comes into contact (and sometimes conflict) with either the template or some other print that is nearby (see The Beatles for example). Since last early-mid December, this has been happening quite often. Maybe its something to do with the change in parameters lately. So far, nothing has become of the situation. If you could, please have a look into this, and possibly resolve this problem once and for all. Thanks Brion! Best, --Discographer 13:34, 3 January 2010 (UTC)

Account expiration update? (Bug 6614/10299/11202)

One of Wikipedia's largest votes (255 to 18) favored a policy of expiring never-used accounts after 90 days. The idea was abandoned in late 2006 after you commented "Not really, no" at Bug 6614.bugzilla:6614 Has the situation changed since then? Wnt 19:40, 1 August 2010 (UTC)


Hi. You commented on bug 20246 that you were planning to review the extension, but it's been a year now, so I thought I'd poke you =P. If you could please find the time to review it and install the extension on Wiktionary, (or say that you won't) we at en and fr Wiktionary would be very appreciative. This would improve usability on Wiktionary because accurate and up-to-date transliterations could be generated automatically and be changed easily. Thank you, Internoob 22:00, 8 August 2010 (UTC)


Hi, I noticed that you have uploaded File:Svgedit-demo.ogv to this wiki, unfortunately I also noticed that you didn't include any licensing details in the file's description which is required for files uploaded to this wiki. Would it be at all possible for you to go back and correct this so the file doesn't risk deletion? Peachey88 10:27, 2 February 2011 (UTC)

As with all contributions to the wiki not specified otherwise, I "irrevocably release [my] contribution under the Creative Commons Attribution/Share-Alike License 3.0 and the GFDL.". --brion 18:35, 2 February 2011 (UTC)

ConfirmEdit Asirra Plugin: Problems with session tokens.

Hi, as an experience developer, you may be able to help me.

I just wrote that Asirra Plugin for ConfirmEdit. And nearly everything works well. Everything but... registration. When Asirra is enabled, after submitting the form, MW tells me that "There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking. Please hit "back" and reload the page you came from, then try again."

Very bad. I tried to figure that out but... with no success. Maybe it's because Asirra adds hidden fields to the form. Any idea, where to start looking for this error's reason? --Bachsau 03:45, 19 February 2011 (UTC)

Ok, let's add some more information for you. I was able to track down the error's way to SpecialUserlogin.php. Inside this file there's a method called loginform::execute, which makes a wrong decision on how to proceed further, when Asirra's JavaScript was run on the form bevore. This is, because of $this->mCreateaccount being false then. I tried to track it down further, but it got too confusing from there on. I ended up looking on WebRequest::getCheck in WebRequest.php. But starring at that code I was unable to figure out what it does. :( --Bachsau 21:20, 19 February 2011 (UTC)
Found a way to work around this in JavaScript after hours. :[ However, a server side solution for this would be better. --Bachsau 14:58, 20 February 2011 (UTC)

Fixed date Berlin

Hi Brion,

Just a quick reply after your poll vote, although the edit is made by an anonymous and the date may still be subject to change, just letting you know that the date may have been fixed already. I'll ask Daniel for more info. Krinkle 09:05, 3 March 2011 (UTC)

SOLVED: TitleKey not working (correctly installed)

WinServer running MW1.15, PHP5.2, SVN TitleKey + wgEnableMWSuggest (no Lucene, mwsearch, etc.) Followed the instructions to the T. Ran the scripts fine and the table titlekey is filled and everything. No results when I search. It actually breaks the Suggestions feature. What do I do? Thanks, A.M.

Do you get any error messages? Check your web server log, and also check the output of the suggestions. (Try using the network panel in Chrome's dev tools or Firebug add-on for Firefox, makes it fairly easy to grab the AJAX requests) --brion 21:42, 5 April 2011 (UTC)
Thanks, Brion. Under api.php, I get this Error: "Call to undefined method DatabaseMysql::buildLike() in [..extensions]\TitleKey_body.php on line 211"
'tk_namespace' => $ns,
'tk_key ' . $dbr->buildLike( $key, $dbr->anyString() ),

I'm unsure why it's undefined. Your help is appreciated. --- A.M.
That function was introduced in MediaWiki 1.16, so it doesn't exist in 1.15. It sounds like you downloaded a version of TitleKey that's more recent, meant to be used for 1.15 or later. Try re-fetching it from the download helper, but tell it to give you the 1.15 version instead of the latest. --brion 16:37, 6 April 2011 (UTC)
That did it. Thanks for your time, Brion, --- A.M.


Hi, I am writing a book about Wikipedia, which will include its early history. Its early history will include software, obviously. I've looked at the page MediaWiki_history which is useful but I have a few further questions, in particular

  • when the talk-page idea was introduced (looking at 2001, they used subdirectories as talk pages)
  • when the administrator and bureaucrat functionality was introduced.

Grateful for any help. I'm Edward Buckner (known as Edward Ockham here). Edward Ockham 07:38, 7 October 2011 (UTC)

Talk pages (as slash-subpages) were introduced in '01 before I arrived; at the time the [[/Talk]] links had to be manually added. ;) Use of namespacing for discussion and user pages came in with the 'phase 2' predecessor of MediaWiki in 2002.
IIRC basic admin capabilities were added in that timeframe as well (under the original UseModWiki system there was some global admin password which could be used to delete pages without a trace -- ick!) Page deletion, IP blocking, undeletion, logging etc and the local-site bureaucrat and site-to-site steward systems came in over time. I don't recall all the times offhand, but you can dig into SVN if you dare. :) --brion 18:35, 7 October 2011 (UTC)
Thanks - this confirms the discussions on Wikipedia-l. At that time, it seems that everyone who was provably not a vandal could ask to be an admin, and it was given. Blocking was only for IPs. Then around the middle of 2002 they found it was necessary to block other users, i.e. other logged in accounts. The rest is history, I suppose. Many thanks. (Edward, not logged in :) 07:19, 8 October 2011 (UTC)

Were you waiting for that?

Please excuse that I'm several days late, but web fonts? Were you waiting to release your inner B1FF? I sure hope I wasn't the only one that got a chuckle. Just curious if you were waiting for that. Anyhoo, this gives me a chance to say thanks for all your many years of service to the project. You've done an excellent job and been an inspiration to many. Thanks much. - Hydroxonium (TCV) 05:29, 11 October 2011 (UTC)

Pure coincidence, but it certainly brought me a chuckle as well... Thanks for the thanks! :)) --brion 21:49, 11 October 2011 (UTC)

superfluous newline in proofread page

Hi Brion, on Wikisource since the recent update we got an incorrect behaviour: when we save a Page, a new line is inserted at the end of the text body, and when 2+ pages are transcluded in ns0 this creates an ugly interruption in the text. See this page and its transclusion here between page 80 and 83.

Looks like the problem is in this change, right? Can you fix it? Btw, thanks for your work. :-) You can find me here Candalua 22:29, 18 October 2011 (UTC)

Sorry to bother you again, but this problem is really annoying, and we need to know if it's going to be fixed soon, or if we'll have to live with it for some time and find some alternative solution. If you don't have the time, please point me to somebody else who can give me the answer. Thank you. Candalua 08:17, 25 October 2011 (UTC)

How to view private facebook profiles


We've been working on building wiki for a few years now, and now it's so big we're having a hard time managing. Do you have any recommendations for people who'd be willing to work for us? - Kristin McMurray (Kristinpedia(at)

We mostly try to hire those people ourselves! ;) Alas, I don't have any good leads offhand. --brion 15:41, 30 November 2011 (UTC)
I'm available!   Schalice (talk) 03:12, 11 March 2012 (UTC)

Tricky template processing problem

User:Krinkle said you were the man to ask about this. In a nutshell, I want to translate this part of a template's input:


into this invocation of another template:


I used to do it by using a #replace parser function on the two square brackets to generate the template invocation markup; that part still works, but now the output doesn't actually result in a template invocation, because of the way the new preprocessor works. The migration guide mentioned this issue briefly but I didn't see any tips on how to emulate the old behavior. Suggestions appreciated. :) --Spamwise 21:43, 30 November 2011 (UTC)

Request for username usurpation

Hi there, I was wondering if you could help me out with usurping the username Entropy on as part of my SUL. I have provided confirmation that I'm the owner of this account on here. My justification for usurping this username is that the user with this username here has only one contribution dating back to 2007. Thanks! Ecliptica 22:42, 29 December 2011 (UTC)

Bug #30185

Hello Brion,

I just assigned this bug to you as the Extension:CentralAuth page says you're the only dev of this extension. Could you please do something to solve this bug ? Thanks a lot by advance. -- Quentinv57 10:26, 1 January 2012 (UTC)

Not familiar with any of that stuff offhand; deassigning so nobody accidentally thinks I'm working on it at the moment and it can be assigned freely. --brion 19:10, 3 January 2012 (UTC)
The extension page says you are the only developer, that's why I thought it would be better to assign it to you. Do you know who would be able to continue to develop it ? Stewards would really need some improvement on the CentralAuth extension. Thank you. -- Quentinv57 15:52, 8 January 2012 (UTC)


Hi Brion, I would like to know the license of this extension. Whilst I am asking: I case I stumble upon something like that regarding one of your or one of other developers extensions, may I assume public domain or rather GPL v2+. I guess the latter to be on the safe side and since it is the publishing license of this website and thus agreed upon. Public domain will still be possible then. Cheers --[[kgh]] 15:56, 21 January 2012 (UTC)

If it doesn't say otherwise and it's a MediaWiki extension of ours, it's GPLv2+ along with the rest of MediaWiki. --brion 17:49, 21 January 2012 (UTC)
Thank you for the info. Cheers --[[kgh]] 20:55, 21 January 2012 (UTC)


Do you have a recent build that I could download please?   Schalice (talk) 21:32, 10 March 2012 (UTC)

extra pretty please - Schalice (talk) 18:25, 23 April 2012 (UTC)
Alas no I haven't tried building it on Windows in ages. :( Might give it a chance when time permits, but I'm kinda trying to obsolete texvc in favor of client-side MathJax. :) --brion (talk) 18:29, 23 April 2012 (UTC)

File:Parser Playground demo.png

Hi Brion. Perhaps you could add a source, author and license to File:Parser Playground demo.png? I won't delete the file of course, but it would be nice if we could remove the {{Unknown copyright}} template. :) Thanks in advance! Kind regards, Trijnstel (talk) 11:20, 8 April 2012 (UTC)

MathJax redirect

I noticed you added a redirect from MathJax to Extension:Math but there is also an Extension:MathJax; this might be confusing. I would propose removing the redirect as I would guess Extension:Math would show up as a top hit in the search query anyway... Thanks for your good work! Dirk Nuyens (talk) 08:52, 23 April 2012 (UTC)

I've split it into a disambig page. Enjoy! --brion (talk) 18:31, 23 April 2012 (UTC)
Thanks! I have been thinking about having Extension:MathJax preprocess the funny latex constructs to be wrapped in math tags and then use the experimental MathJax rendering from your plugin. To that matters: has there been any thought about having two math tags: one for inline math (I would suggest something easy to type, like <m>x</m>) and one for display math (instead of the :<math>...</math>)? To me that looks semantically much cleaner and more useful. Also: what about formula numbering and Extension:Math? Dirk Nuyens (talk) 13:56, 24 April 2012 (UTC)

Windows 8 screenshots

While they may be of a Wikimedia site, I think the UI design is sorta no-free.--Jasper Deng (talk) 22:14, 26 April 2012 (UTC)

Find me some sane advice on screenshot licensing and I'll see what I can relabel them as. :) --brion (talk) 22:15, 26 April 2012 (UTC)
Well, Wikipedia uses "fair-use" rationales; basically you can't license them under GPL, and you have to state that the image is copyrighted, and perhaps the purposes of them.--Jasper Deng (talk) 22:17, 26 April 2012 (UTC)

CentralAuth cookies

Since you're a developer of CentralAuth, I thought you could help me on my own instance of it.

My problem is that I can't seem to get the SUL feature to work properly. If I set $wgCentralAuthCookies=true, then whenever an account logs in it the login does not "stick" - the user cannot stay logged in after clicking another link after the welcome page. I think my issue is my configuration of $wgCentralAuthLoginWikis. I have a single domain with each wiki in its own subdirectory.

I also have $wgCentralAuthCreateOnView=true, but that seems to have no effect without $wgCentralAuthCookies. Similarly, $wgCentralAuthAutoNew=true can't work because of the lack of automatic account creation. My wiki family is 3 1.18.0 and 3 1.20alpha (from a few months ago), using IIS 7.5 and separate databases for each wiki.--Jasper Deng (talk) 22:28, 26 April 2012 (UTC)

Hmmmmmm, if your wikis are all on the same domain you shouldn't need $wgCentralAuthAutoLoginWikis; $wgCentralAuthCookies should work by itself. Double-check your $wgCentralAuthCookieDomain -- it defaults to blank which should work for current domain, but try setting it explicitly. --brion (talk) 22:31, 26 April 2012 (UTC)
I set it explicitly but that didn't work, either. I have it set as:
#(Someone should find a good way to indent syntaxhighlight)
$wgCentralAuthCookieDomain='(my domain, in format)';

My domain is internal. Perhaps remove the first dot?--Jasper Deng (talk) 22:35, 26 April 2012 (UTC)

Try that... if it doesn't help, check that the cookie is actually being set in your browser prefs/details -- and check if it's got the right path and domain and all... --brion (talk) 22:38, 26 April 2012 (UTC)
I have cookies in the format centralauth_User, centralauth_LoggedOut, centralauth_Session, centralauth_User, and for a few wikis, <$wgDBname>UserName and <$wgDBname>LoggedOut; they only exist for wikis where I attempted a login. They are all set to my $wgCentralAuthCookieDomain.--Jasper Deng (talk) 22:41, 26 April 2012 (UTC)
All sounds reasonable... :( Not sure what's going wrong. --brion (talk) 22:54, 26 April 2012 (UTC)
Would $wgCentralAuthAutoLoginWikis have anything to do with it? I have it blank right now.--Jasper Deng (talk) 23:00, 26 April 2012 (UTC)
Blank sounds right for your configuration; everything's on one domain so you don't have to go setting cookies on other subdomains. --brion (talk) 23:11, 26 April 2012 (UTC)


Hi Brion, if you have a moment, do you think you coul have a look at bugzilla:36687 and comment on the feasibility of having such a userright? Thanks, FASTILY (TALK) 08:35, 13 May 2012 (UTC)

Thanks! FASTILY (TALK) 07:11, 14 May 2012 (UTC)

Multi-level warnings and the user talk notification

Hi Brion. I noted that you are managing Echo (Notifications). I posted a note on Talk:Echo (Notifications) concerning Multi-level warnings and the user talk notification. What do you think of the idea (please comment there) and is there another place in MediaWiki that I could post such a request/idea? Thanks. -- Uzma Gamal (talk) 10:19, 12 June 2012 (UTC)

User rename

Hello, Could you please rename my account to William8288

Thanks in advance. Bill9929 (talk) 14:51, 20 June 2012 (UTC)

Hi Bill9929. The proper place to request renames is Project:Requests#Requests_for_renames. --Krenair (talkcontribs) 15:04, 20 June 2012 (UTC)

Gerrit evaluation talk page changes

Hi Brion,

It looks like you deleted some other folks comments when you added yours here: [3]. Was that intentional? --Cneubauer (talk) 13:20, 13 July 2012 (UTC)

Nope, nasty edit conflict I guess. --brion (talk) 15:55, 13 July 2012 (UTC)

TitleKey hack?

Hi Brion,

Still very new at wiki projects but I'm making a steap climb in knowledge every day. I'm sorry if I misplaced this question but it seemed the right way to ask it here. My wiki uses the names of our intern framework for the pagetitles. This way we can let do bots a lot of dummy work to fill some pages. Sadly, the search box uses the pagename to search and not the displaytitles. Maybe I'm wrong but isn't it possible to use the core of your extension TitleKey and rewrite it so it works with the displaytitles?

  • Hmm.... you might be able to rig something up to store the displaytitle value and search based on that, but I think the way things work you'll still see the internal title form in the search box. --brion (talk) 17:57, 10 August 2012 (UTC)

New fields for archive table

Hi Brion, I invite you to comment on bugzilla:39675, proposing new fields for the archive table. Presently, I am working on a patch to add ar_id and ar_logid, and since you had raised the possibility that it might be useful to add some other fields (perhaps ar_log_user, ar_log_user_text, ar_log_timestamp, and ar_summary?) I wanted to get your input on whether we should in fact add those fields and what functionality we would be looking to implement using those fields, in particular involving changes to ApiQueryDeletedrevs.php, SpecialUndelete.php, and SpecialDeletedContributions.php. If we can figure out what queries are likely to be made, then we can better decide what we do and don't need to index. Thanks. Leucosticte (talk) 17:45, 23 October 2012 (UTC)

HiDPI display support

Hi Brion.

Adding the hidpi support had some (presumably) unintended consequences.

html size issue

the "srcset" property practically doubles the (html) size of the img tag. normally this is not a huge issue: how many images are in a page anyway, right?

however, there are situation that warrant some special attention. for instance, look at en:Template:chess diagram. this is a template that draws a chess board, using an individual image per each square (it can probably be somewhat optimized by avoiding use of images for unpopulated squares, but this is how it's implemented now).

as it turns out, adding the "srcset" property to img tag cause the html size of this image template to double, from ~15K to ~30K. this means that a page with 40-50 boards (e.g., en:Rook and pawn versus rook endgame) weighs now about 1.5MB, which, among other things, cause a "Save" operation when editing to take almost a minute (i believe this is when timeout triggers), and is also expensive when a reader opens this page - for older computers or slow connections, 1.5MB is pretty heavy page (the weight of the images themselves go on top of the weight of the page, but i think the actual number of images is pretty small - it is mostly repeating over and over again of the same small number of images).

proposed solution

i think it would be a good idea if the [[File:]] aka [[Image:]] wikicode will grow yet another optional parameter: just like we have the seldom used but important "alt=" and "link=" properties, i think we should have something like "nohidpi=" or similar, so we can force the parser to not set the "srcset" property on an image. for this specific example, even setting this property *only* on the empty squares will improve things by close to a 100%.

we probably have other images where it would make sense to skip the srcset property. just a guess: many wikis have the ability (i.e., templates) to display maps and other images with markers and labels on them. the typical use may be with a single marker, but there are cases where a large number of markers are used. it would be nice to be able to turn off the srcset property for the markers.

thanks, peace - קיפודנחש (talk) 16:28, 12 February 2013 (UTC)

The extra srcset entries look big, but they're very redundant and so compress very well. This doesn't actually increase the transfer size of the page very much, though it will eat a little more memory in the browser. We could drop srcset for a custom format that reduces the redundancy in the raw source, but I'm not convinced it would have much effect.
Making hidpi support optional for images seems like not a great idea, since it would make those images look much worse on high-density displays.
The best solution for HiDPI display of course is to directly use the SVG images for display -- then we don't have to specify multiple versions. But that's still some way away.
I would also recommend refactoring that chess template so it only includes images on squares where there's a piece. Empty squares also contain an image, which is wasteful when the cell already has a background color. This also probably won't make a huge difference to transfer size since those'll compress very well, but it'll make processing the templates faster and use less memory in the browser. --brion (talk) 19:53, 14 February 2013 (UTC)
i am not sure if these things are related, but it seems that save times for articles took a hit recently. this might be several different things that camouflage themselves as the same thing. e.g., try to save en:New York City . this article raw html size is 1/2 MB - significantly less than the 2MB limit (i think there is a 2 MB limit on raw html size, but maybe i'm confusing it with something else), but it takes so long to save that half the time you get a timeout when saving.
i thought that the long save time for en:Rook and pawn versus rook endgame came from the large raw html, but i might have been wrong. i created an alternative lua module/template combo on labconsole (see [4], [5], [6] for the module, template, and a page that uses them) that displays a chessboard based on what's known as the FEN instead of using 65-positional-parameters-template. the interesting thing was that the save time seems to be proportional to the raw html size, rather than to the template processing time: according to the NewPP comment on the page, template processing time was almost negligible (250ms for the LUA, and relatively small numbers for other stuff, though the parser does not tell you how long it took to parse stuff).
bottom line: even if you are correct in that size is not so important for transport, because of compression, there is strong circumstantial evidence that size is very important when save and purge time are concerned.
i still think it would be worthwhile to add an optional switch to the "File:/Image:" wikicode to suppress srcset. this does not mean this switch should be used, but it's still good idea to be able to control the generation of srcset on a per-image basis, and not only on a per-wiki basis using $wgResponsiveImages. of course, adding this switch should allow not only to suppress it when $wgResponsiveImages is set, but also to generate it when the global switch is off.
peace - קיפודנחש (talk) 20:10, 15 February 2013 (UTC)
You can time parsing approximately by doing a preview, then hitting 'view source' and checking the comment near the end of the page:
<!-- Served by mw1081 in 3.836 secs. -->
Run like 3 times to get a range; remember these are real servers with real load, and times may vary.
Copy-pasting the HTML output from the 'Rook and pawn vs etc' page into a page on English Wikipedia and running a preview takes about 3.0 seconds with the 'srcset' attributes removed, and slightly above 3 seconds (3.1-3.8) with all the srcset attributes in, which nearly doubles the HTML size to 1.4mb. So just the size of the HTML doesn't appear to make much difference to processing time.
Meanwhile, the actual en:Rook and pawn versus rook endgame takes about 26-29 seconds to render. If I pre-expand all the templates with Special:ExpandTemplates, then the same page takes 11-13 seconds to render a preview, about twice as fast.
Removing all 2340 empty cell images and replacing them with 'width=26 height=26' attributes on the table cells gets rendering time down to 4.7-5.6 seconds. Removing all 2726 total images ("[[File:..]]" -> "((File:..))") gets it down to 3.8-6.3 seconds, leaving at most a second or two for processing of the remaining ~400 images.
So it looks to me like you'll get the most bang for your buck by removing the empty cell images (save ~6 seconds), regardless of srcset usage. Optimizing the generator templates has potential for saving some of the remaining time (up to ~12 seconds). --brion (talk) 21:38, 15 February 2013 (UTC)
thanks for the tips. i fully intend to try and remove the empty images from this template. however, based on yur explanation, i can't see why saving [7] should take this long. it still seem to me that some meaningful part of it is just savine the ~ 1.5MB page to the DB (iiuc, the fully parsed page is saved in some cache table, so it can be served pre-parsed). peace - קיפודנחש (talk) 22:49, 15 February 2013 (UTC)
some more info: the codepath for "save" and "preview" do differ significantly: the labconsole page linked above report 15-19 seconds in the "Served by" comment, but an actual null save operation takes 45-55 seconds of wall-clock time. so there is something going on here that is unrelated to parsing, and this is what i think is directly proportional to raw-html size.
peace - קיפודנחש (talk) 22:56, 15 February 2013 (UTC)
additional information: when saving the page, the "served" time still talks about 17.50 seconds, but the save operation took over 50 seconds of wall-clock time, so someone owes me 33 seconds. i look at the html of the save page not by hitting <ctrl>+u, which triggers regeneration of the page, but rather by looking at $('body').html() from the browser's console. this is not caused by slow link: when running "preview", "served" time pretty much aggrees with wall-clock time. there is something more that happened when saving, after the "served by" was already calculated, and which does not happen on "preview", and costs all this extra time. maybe someone should look into it - completely anecdotal and subjective reports say this became much worse recently. again, this part (i.e., the extra 33 seconds after the parsing is finished) seem to be proportional to raw html size. peace - קיפודנחש (talk) 23:09, 15 February 2013 (UTC)
A save operation in many cases will include two parses: one with default options, which is used to prefill the parser cache and to update links tables etc, then again with your options when you view the page. You won't see the time from the first parse or the save operation itself on your post-save view, since the save and the view are two separate web requests. --brion (talk) 17:33, 19 February 2013 (UTC)

Tool server account expired

It seems your account on toolserver has expired and this causes problems for CodeEditor gadget. Helder 13:04, 19 February 2013 (UTC)

Yeah, I can't log into toolserver anymore and haven't been able to for a few months. I guess I'll have to find someone who can fix my account since things still depend on it... --brion (talk) 17:17, 19 February 2013 (UTC)
[8] says I need to file a JIRA ticket, but creating an account in JIRA fails so I can't file a request. Awesome. --brion (talk) 17:20, 19 February 2013 (UTC)
(This should be all resolved since a few weeks back)
The problem is back: Thread:Extension talk:CodeEditor/Broken. Helder 19:00, 3 July 2013 (UTC)

Branch with a new feature: camel case detection/split

Hello Brion. My company started using mediawiki recently, and we've imported a lot of wiki pages from an older wiki. We use CamelCase a lot in the article's titles. I've taken your extension and made some minor changes to extract words from CamelCase titles, and index all of them in the database. I would like to upload a branch with this changes, and if you like it, we could add it to the master branch. Let me know how can I do it. Update: We end up fixing all camelcase titles in the database, so this is no longer an issue. The code I have is incomplete, I think you'll be better without it :)

File:Europe plain rivers.png

This is about a blank map I uploaded back in 2005. The coastline and rivers of Europe are taken from a layer in a photoshop image hosted at I do believe this is your website. Unfortunately, back in 2005 when standards were, for better or worse, somewhat more relaxed, I did not bother to figure out what exactly the source of that map data was. Now we have dozens of made-for-Wikipedia maps derived from this one, so it would be pretty bad if people decided it needs to be deleted for lack of a properly identified source. Perhaps you can clear this up? Thank you, --Dbachmann (talk) 09:46, 7 October 2013 (UTC)

I think I have reconstructed where the map is from, diff. It's eight years ago, and your links are dead now, so I didn't immediatlely remember. If I got this right, you don't need to do anything. Thanks, --Dbachmann (talk) 10:10, 7 October 2013 (UTC)
Thanks -- while I noticed it I also did a quick fix on the page that had the original files and links: (lost some formatting but the links and text are back) --brion (talk)

Requests for comment/Configuration database

Hi, Requests for comment/Configuration database is being considered as one of the RFCs to be discussed at the RFC review on 2013-11-06 via IRC. We hope you can make it. Otherwise please propose an alternative at the RFC talk page or discuss with the architects. Thank you!

Surogatado de ĉapelitaj literoj

Sal Brion. Mi ĵus malfermis peton pri surogatado de ĉapelitaj literoj en VidRedaktilo, vidu Thread:VisualEditor/Feedback/Substituing of special Esperanto characters.

Se mi bone memoras via solvo pri surogatado de ĉapelitaj literoj per LanguagesEO.php estis nur portempa, ĉu ne? Kaj nun eblas skribi per x-metodo per Universal Language Selector. Ĉu eble tute anstataŭigi surogatadon per ULS? Certe estus pli facila transprenado de alilingvaj artikoloj, speciale kun vortoj kiel Linux aŭ Bordeaux. Amike. --KuboF (talk) 12:00, 16 December 2013 (UTC)

Laŭ mia kono, la sistemo ULA funkciu en Visual Editor. Mi ne provis tion jam... momenton... Ŝajne ULS enigilo ne funkcias tie. :( Kial, mi ne scias; mi ne laboras je Visual Editor kaj ĝi estas kvazaŭnekonebla je mi. ;) Sed mi petos... --brion (talk) 15:16, 6 January 2014 (UTC)

Picture password in MediaWiki

I've created a basic MySQL+PHP+JavaScript example of Windows 8-like "picture password". You can try it out at using Raphaël.js and using KineticJS.

I was wondering if someone could help me make a MediaWiki extension allowing users to log in with picture passwords (some good pictures can be taken from Commons) instead of normal passwords. I think that such a system would improve the User eXperience, which is now a high-priority task for developers worldwide.

Also, I'd like to hear some legal advice from the WMF, in case this technique is patented by Microsoft or so. Thanks in advance,   --Ricordisamoa 20:38, 3 March 2014 (UTC)

bug @cawikiquote

Hello, I have some questions related to bug fixing. In cawikiquote, we've problems with the import page. I think I've identified the problem and I should edit the InitialiseSettings.php file. But should I open a bug or simply go to git and contribute? In that case, could you tell me how to fork and all theses things? I know to code but github and git are really new for me. Thank you very much, --Nknudsen (talk) 21:42, 12 March 2014 (UTC)


Hi Brion, can you comment if you're ok with this? --Nemo 17:33, 13 March 2014 (UTC)

A barnstar for you!

  The Original Barnstar
Dankon, Brion

Pacon! Chjohnson39 (talk) 20:33, 1 June 2014 (UTC)

An important message about renaming users

Dear Brion VIBBER,

I am cross-posting this message to many places to make sure everyone who is a Wikimedia Foundation project bureaucrat receives a copy. If you are a bureaucrat on more than one wiki, you will receive this message on each wiki where you are a bureaucrat.

As you may have seen, work to perform the Wikimedia cluster-wide single-user login finalisation (SUL finalisation) is taking place. This may potentially effect your work as a local bureaucrat, so please read this message carefully.

Why is this happening? As currently stated at the global rename policy, a global account is a name linked to a single user across all Wikimedia wikis, with local accounts unified into a global collection. Previously, the only way to rename a unified user was to individually rename every local account. This was an extremely difficult and time-consuming task, both for stewards and for the users who had to initiate discussions with local bureaucrats (who perform local renames to date) on every wiki with available bureaucrats. The process took a very long time, since it's difficult to coordinate crosswiki renames among the projects and bureaucrats involved in individual projects.

The SUL finalisation will be taking place in stages, and one of the first stages will be to turn off Special:RenameUser locally. This needs to be done as soon as possible, on advice and input from Stewards and engineers for the project, so that no more accounts that are unified globally are broken by a local rename to usurp the global account name. Once this is done, the process of global name unification can begin. The date that has been chosen to turn off local renaming and shift over to entirely global renaming is 15 September 2014, or three weeks time from now. In place of local renames is a new tool, hosted on Meta, that allows for global renames on all wikis where the name is not registered will be deployed.

Your help is greatly needed during this process and going forward in the future if, as a bureaucrat, renaming users is something that you do or have an interest in participating in. The Wikimedia Stewards have set up, and are in charge of, a new community usergroup on Meta in order to share knowledge and work together on renaming accounts globally, called Global renamers. Stewards are in the process of creating documentation to help global renamers to get used to and learn more about global accounts and tools and Meta in general as well as the application format. As transparency is a valuable thing in our movement, the Stewards would like to have at least a brief public application period. If you are an experienced renamer as a local bureaucrat, the process of becoming a part of this group could take as little as 24 hours to complete. You, as a bureaucrat, should be able to apply for the global renamer right on Meta by the requests for global permissions page on 1 September, a week from now.

In the meantime please update your local page where users request renames to reflect this move to global renaming, and if there is a rename request and the user has edited more than one wiki with the name, please send them to the request page for a global rename.

Stewards greatly appreciate the trust local communities have in you and want to make this transition as easy as possible so that the two groups can start working together to ensure everyone has a unique login identity across Wikimedia projects. Completing this project will allow for long-desired universal tools like a global watchlist, global notifications and many, many more features to make work easier.

If you have any questions, comments or concerns about the SUL finalisation, read over the Help:Unified login page on Meta and leave a note on the talk page there, or on the talk page for global renamers. You can also contact me on my talk page on meta if you would like. I'm working as a bridge between Wikimedia Foundation Engineering and Product Development, Wikimedia Stewards, and you to assure that SUL finalisation goes as smoothly as possible; this is a community-driven process and I encourage you to work with the Stewards for our communities.

Thank you for your time. -- Keegan (WMF) talk 18:24, 25 August 2014 (UTC)

--This message was sent using MassMessage. Was there an error? Report it!

Added Note on ConfirmEdit


I posted a quick note, next to the link about dynamic questions, on the ConfirmEdit extension not to use a copy of the questions posted. They've cracked by spammers.

All the best to you.

Christharp (talk) 01:59, 24 October 2014 (UTC)

Directional controls


I have or many years enjoyed the use of the directional controls when editing in rtl languages.

Today these controls have disappeared. Any idea why?

--Redaktor (talk) 08:23, 6 September 2015 (UTC)

No idea what controls those might be, so cannot say. Are they part of your browser? Your OS's text edit widget? Your custom user JS? Your site JS? A gadget? What do they look like? What do they do? --brion (talk) 16:41, 6 September 2015 (UTC)
The Directional editing control script gadget which enables the text in a Wikipedia editing window to be switched between rtl and ltr. It is a choice under (Wiki) User Preferences. Sorry I was not sufficiently specific before. --Redaktor (talk) 11:13, 7 September 2015 (UTC)
Many/most gadgets have recently been killed, see phabricator:T75810 and MediaWiki 1.26. --Nemo 11:18, 7 September 2015 (UTC)
Thanks. I have edited the MediaWiki:Gadgets-definition page to invoke ResourceLoader. --Redaktor (talk) 18:05, 7 September 2015 (UTC)
Return to the user page of "Brion VIBBER/Archive 1".