Template talk:ExtensionInstall

Misleading for developers, just use git
Pointing developers to Special:ExtensionDistributor is a bad idea if the extension has a git repository, and I think all the extensions it supports have one. Developers want the latest code, and want to be set up for git updates. ExtensionDistributor seems to just get a tagged release from github, so you might as well use git and pick a tag or branch.

One approach is to check out a particular branch of core, then use  to get all the extensions that WMF uses (whether or not you deploy them all), then check out master of particular extensions you're developing: -- S Page (WMF) (talk) 04:15, 11 January 2014 (UTC)
 * I updated the template to tell developers to use git clone instead. -- S Page (WMF) (talk) 04:23, 11 January 2014 (UTC)
 * I've added the parameter "repo-name" to the template, to be filled with the git repository name for the extension. When filled, it generates the "git clone" command to be used. --LFS (talk) 20:52, 9 February 2014 (UTC)


 * This is incorrect. MediaWiki-associated branches are branches, not tags. They are in git. ExtensionDistributor gets them directly from Git. There is already a dedicated Git-download section on most extension documentation pages, plus there's several pointers about Git in the extension infobox. Having another dedicated block about it in the install section is rather excessive and imho confusing to the user. And the extension distributor snapshot is exactly the same as what you'd get when cloning the repository. I don't see how that would be a bad idea. If you're experienced issues with outdated snapshots or missing submodules, please file a bug. Krinkle (talk) 15:11, 13 September 2014 (UTC)

different names and different names for php files
hi please add support for extension with different name for the extensions and different names for the php file please for example wikibase has three main files it has repo and lib and client. 86.135.250.146 18:54, 25 January 2014 (UTC)

__DIR__, $IP or nothing
I noticed that the $IP has been replaced by __DIR__, allegedly because it's the "preferred way". But isn't it just the same to omit $IP or __DIR__ altogether? Are there some cases in which they may become necessary? --LFS (talk) 20:28, 9 February 2014 (UTC)

Yes, "__DIR__" crashes (on a wiki I host at DreamHost) because apparently I'm still using an old version of PHP. Both "dirname( __FILE__ )" and "$IP" seem to work fine for me. While sometimes there are good reasons to mandate newer versions of PHP, this looks like a gratuitous unnecessary incompatibility. I see people recommend replacing every "__DIR__" with "dirname( __FILE__ )" for compatibility reasons -- so the PHP scripts work in both old and new versions of PHP. . I would prefer to omit them entirely from these instructions if none of "$IP", "dirname( __FILE__ )", or "__DIR__" are necessary. So I repeat LFS's question: Are there some cases in which they may become necessary?

So I reverted the edit that added "__DIR__", since it doesn't work for me. --DavidCary (talk) 18:49, 18 February 2014 (UTC)


 * Recently there have been so many changes to this template regarding how to invoke extensions that I stopped caring about which one might be the preferred method or not. What I do not like about this frantic editing is that is just confuses everybody. Thus I suggest to protect this template so only admins may edit it after or before we get our act together. Cheers --&#91;&#91;kgh&#93;&#93; (talk) 19:07, 18 February 2014 (UTC)
 * $IP is definitely preferred, and will break less things. I've restored it to the way it originally was. Legoktm (talk) 22:45, 21 February 2014 (UTC)
 * Would you care to explain why, Legoktm? --LFS (talk) 14:43, 1 March 2014 (UTC)
 * Using __DIR__ or dirname( __FILE__ ) assumes that the file with that line in it is in the same directory as the "extensions/" directory. Using $IP doesn't. Legoktm (talk) 23:53, 1 March 2014 (UTC)
 * That seems like an argument for using __DIR__, which is what I recommend doing. Why would you use a global? If you have a file in a dir or a subdir, then __DIR__ is the right tool for the job. --Jeroen De Dauw (talk) 23:59, 1 March 2014 (UTC)
 * The whole point of using $IP is that you don't want to make the assumption that it is in the same directory. Legoktm (talk) 00:27, 2 March 2014 (UTC)
 * Dear Jeroen De Dauw, I tried all three of "__DIR__", "dirname( __FILE__ )", and "$IP". I found that the LocalSettings.php MediaWiki script halts with an error message when I use "__DIR__" in any of the lines that set up a MediaWiki extension. I found 3 links to people who discuss situations where "__DIR__" doesn't work for them, either. Does that answer your question? --DavidCary (talk) 15:45, 3 April 2014 (UTC)

Any arguments to this template end up outside of the box!
Any arguments to this template end up outside of the box! See e.g., Extension:MobileFrontend. Jidanni (talk) 06:43, 1 April 2014 (UTC)

Installing without command prompt access
Extension:Checkuser has one such section. This is not extension-specific so it should not be maintained on an extension page. Should it be handled by the template when an extension needs install.php/update.php, or live in some manual page and be linked from it? Cf. Thread:Project:Current_issues/Installation_guide_consolidation. --Nemo 17:32, 29 May 2014 (UTC)


 * It shouldn't be necessary if the extension is doing the right thing and using the necessary hooks to perform the custom installation steps through MediaWiki's installation script (either the web updater or update.php), which sadly it's not the case (see ). --Ciencia Al Poder (talk) 09:12, 30 May 2014 (UTC)

Template completely broken in conjunction with translations
The recent changes to the template completely broke it. When looking e.g. at Extension:TitleKey or Extension:Cite you can see it in action. Does not matter if it is using TNTN or TNT. Perhaps User:Shirayuki knows what to do. A fix will be cool since quite a substantial number of pages is affected. --&#91;&#91;kgh&#93;&#93; (talk) 08:19, 27 May 2015 (UTC)


 * Me too I remove the code from inside the source tag since it carnt when  is wrapped around it. Paladox2017 (talk) 11:55, 27 May 2015 (UTC)
 * I rolled back your edit, because you made the code, generated when using the  parameter invalid, which isn't acceptable :) And, btw., i don't see a problem with this extension on the extension you named and Extension:ConfirmEdit?!--Florianschmidtwelzow (talk) 13:22, 27 May 2015 (UTC)
 * Sorry. I reverted your edit but added back // but remove you carnt use in a pre tag. please revert if it still doesent fix problem. Paladox2017 (talk) 13:28, 27 May 2015 (UTC)
 * ✅. We can use translate tags in source tags.--Shirayuki (talk) 20:17, 27 May 2015 (UTC)
 * Oh did not know that I throught that was the reason why it was causing the problem. Paladox2017 (talk) 22:30, 27 May 2015 (UTC)

Template broken on its own
When this template is used on its own (without TNTN or TNT), it is now totally broken (since May 26). Compare Template:ExtensionInstall/test with Template:ExtensionInstallOld/test. Kaldari (talk) 22:26, 27 May 2015 (UTC)
 * You can see this breakage on numerous pages, including Extension:ExcludeRandom. Kaldari (talk) 23:39, 27 May 2015 (UTC)
 * This is a known issue, I think. Any transcluded page (usually templates) that use translate tags, needs to be transcluded through TNT or TNTN templates, otherwise the translate tags are leaked into the page. This is a known issue, I think, and what needs to be done is to use a bot to change the way this template is transcluded, as I already suggested. --Ciencia Al Poder (talk) 09:16, 28 May 2015 (UTC)
 * TNT transcludes Template:ExtensionInstall/en instead of Template:ExtensionInstall. So TNT should be added automatically. --Shirayuki (talk) 11:47, 28 May 2015 (UTC)
 * That's correct, but TNT is not being added automatically. Someone needs to add that template manually on each page where this template is being used directly, or use a bot for doing that. --Ciencia Al Poder (talk) 14:36, 28 May 2015 (UTC)
 * Any transcluded page (usually templates) that use translate tags, needs to be transcluded through TNT or TNTN templates, otherwise the translate tags are leaked into the page. But why is that? What is it about transclusion that makes " vagrant>Vagrant, install with <tvar " leak onto on a page, when the same tags in the parent page don't appear? (Don't answer here, link to some i18n page explanation. Thanks!) -- SPage (WMF) (talk) 01:43, 16 July 2015 (UTC)