On May 4, 2013, at 8:41 PM, Lukas Benedix <benedix(a)zedat.fu-berlin.de> wrote:
Hi,
I'm looking for the history of extension usage in enwiki. I asked for that in the IRC
and was told that all the information can be found in the two files: CommonSettings.php
and InitialiseSettings.php.
One of my main problems is that there are so many ways extensions get included in the
CommonSettings.php…
for example:
include( $IP . '/extensions/Renameuser/Renameuser.php' );
include( "$IP/extensions/AntiBot/AntiBot.php" );
include $IP . '/extensions/AntiSpoof/AntiSpoof.php';
include "$IP/extensions/WikimediaMessages/WikimediaMessages.php";
require( "$IP/extensions/Oversight/HideRevision.php" );
require_once( "$IP/extensions/LocalisationUpdate/LocalisationUpdate.php" );
require "$IP/extensions/UserDailyContribs/UserDailyContribs.php";
(I don't think this list is complete)
The next problem is that I have to look at the InitialiseSettings.php for a lot of
extensions:
CommonSettings:
if ( $wmgUserDailyContribs ) {
require "$IP/extensions/UserDailyContribs/UserDailyContribs.php";
}
InitialiseSettings:
'wmgUserDailyContribs' => array(
'default' => true,
),
The other problem is getting all versions of these two files and correlate them to figure
out which extensions were live in enwiki.
Another idea was to look at the History of Special:Version
http://web.archive.org/web/20120126235208*/http://en.wikipedia.org/wiki/Spe…
but I don't think the history there is complete (there is a big gap in 2007).
Can anyone help me creating a list like this for enwiki:
EXTENSION_NAME; DEPLOYMENT_DATE; REMOVAL_DATE;
kind regards,
Lukas
I don't think there is such a record readily available.
However it should be relatively straight forward to develop something that could generate
the data you're looking for.
The program would:
* Browse trough the git history of mediawiki-config.git (optionally picking one per day,
or every commit if you like)
* Use a PHP interpreter to run CommonSettings.php with site context dbname=enwiki. No need
to explicitly have it read InitialiseSettings.php since that is referenced from
CommonSettings.php
* Fetch list of run-time included php files
* Filter for $IP/extensions/*/*.php
* Strip to match only directory name
* Insert into database of some sorts with timestamp of commit
From there you'll be able to determine exactly when and for how long an extension was
deployed.
-- Krinkle
PS: The public mediawiki-config.git only dates back to 24 Feb 2012. Before that date the
information was in a non-public svn repository inside the wmf-production cluster.