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




_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to