On Wed, Apr 22, 2009 at 7:12 AM, Mark Clements (HappyDog) gmane@kennel17.co.uk wrote:
"Sergey Chernyshev" sergey.chernyshev@gmail.com wrote in message news:9984a7a70903270737k8ae2e9dq9dbeb12d6dfe0a62@mail.gmail.com...
There is probably a solution that can be done within the code - something that makes all included PHP files override the version if it's later then in main file - something like this in main file:
[Code snipped]
This is basically what I do in my WikiDB extension [1]. There is a WikiDB_RegisterRevision() function, and all files in the extension call this function using WikiDB_RegisterRevision('$Rev: 114 $'), where the 114 will be automatically substituted using svn:keyword expansion. Check the files [2] to see it in situ.
[1] http://www.kennel17.co.uk/testwiki/WikiDB [2] http://www.kennel17.co.uk/testwiki/WikiDB/Files
Still, it's only a convention and not a universal solution, more over it'll only work if revision updated at least one PHP file. Also if extension doesn't include all it's files or uses AutoLoader, then it will not be reliable.
All true. In my case, I don't use auto-loading, all files are loaded on startup and I do not have any non-PHP files, so it works for me. However this is far from best practice and won't give terribly good performance on busy wikis, I suspect.
Perhaps we should add a "GetCredits" hook, to be called on Special:Version in order to get the credits info for the extension? If the hook is not found, or returns false, then the info in $wgExtensionCredits for that extension is used, otherwise the array returned from the function (which is in th same format) will be used instead. This would mean that the extension could use this function to include() all available files in order to get the revision number, but wouldn't need to include them on normal pages (thus avoiding the performance hit). Wouldn't solve the problem of non-PHP files being updated, but would solve the rest.
- Mark Clements (HappyDog).
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Not sure it's worth it :-\ What's wrong with just giving version numbers that make sense, rather than relying on the revision number which isn't indicative of anything?
-Chad