On May 4, 2013, at 8:41 PM, Lukas Benedix benedix@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/Spec... 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.