Kunal Mehta [Sun, 11 Jan 2015 04:17:36 +0000 (20:17 -0800)]
Handle more cases in convertExtensionToRegistration.php
* Handle constructs like $wgResourceModules += array(...)
* Support $wgMessagesDirs['FooBar'] = array(...)
* Handle stripping paths where it is the current directory
* Use FormatJson::ALL_OK when writing the file
Bug: T86311
Change-Id: I9434f6634fd6e460a5c2f6dac95c9065da35a51a
Kunal Mehta [Sun, 11 Jan 2015 04:12:01 +0000 (20:12 -0800)]
registration: Add ConfigRegistry to the extension.json schema
Change-Id: I6918215e3b5b2dd4c993d8a8767dc3ce998bd5ed
Timo Tijhof [Tue, 2 Dec 2014 22:41:00 +0000 (22:41 +0000)]
exception: Hide suppressed errors in 'error' log, flag in 'error-json'
Follows-up
399ba2f.
Bug: T75619
Bug: T45086
Change-Id: I1f312660c058a3940bf1e9425f86cfd531121ba3
jenkins-bot [Tue, 13 Jan 2015 00:20:14 +0000 (00:20 +0000)]
Merge "Tweaked the message for non-MW exceptions"
jenkins-bot [Mon, 12 Jan 2015 23:46:10 +0000 (23:46 +0000)]
Merge "Skip cache hint about 0 seconds on Special:ActiveUsers"
Brad Jorsch [Mon, 12 Jan 2015 21:46:18 +0000 (16:46 -0500)]
Don't call $wgOut->disable() from wfHttpError if $wgOut isn't set up yet
For example, if the database cannot be connected to, the language is
something other than 'en', and the l10n cache is LCStoreDB, then the
call to Language::factory() in Setup.php line 604 will do it when it's
trying to get the fallback list.
Bug: T86398
Change-Id: Ia0e9ea440dcc4c8ab7bab1f33802aeff487eb3f0
Translation updater bot [Mon, 12 Jan 2015 21:09:28 +0000 (22:09 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I8622b53bb08154439b751c93d0b218f12f892c24
jenkins-bot [Mon, 12 Jan 2015 20:02:56 +0000 (20:02 +0000)]
Merge "Check $wgCheckFileExtensions on client side on Special:Upload"
umherirrender [Mon, 12 Jan 2015 19:27:53 +0000 (20:27 +0100)]
Check $wgCheckFileExtensions on client side on Special:Upload
Setting $wgCheckFileExtensions to false but having
$wgStrictFileExtensions still on true will reject unknown file
extensions on Special:Upload with javascript.
Bug: T25583
Change-Id: I260107bb5c3206044f766d308572ad27378715bb
jenkins-bot [Mon, 12 Jan 2015 19:09:40 +0000 (19:09 +0000)]
Merge "mediawiki.action.edit.stash: set timeout to 4 seconds"
Translation updater bot [Sun, 11 Jan 2015 20:56:59 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I557d9716255fa29881eef5909cfd9bf5c02e352c
Bartosz Dziewoński [Sun, 11 Jan 2015 20:14:03 +0000 (21:14 +0100)]
Add *.orig to .gitignore
People and tools sometimes accidentally commit these, let's make it
more difficult to do.
Follow-up to
abb4271a. NO ONE SAW THIS EMBARASSING MISTAKE.
Change-Id: If5f427586814c304b30e5783a59f33814bfeaa54
Bartosz Dziewoński [Sun, 11 Jan 2015 17:04:16 +0000 (18:04 +0100)]
Add .*.orig to .gitignore
People and tools sometimes accidentally commit these, let's make it
more difficult to do.
Change-Id: I05574d46186642940054aaecec055723c7ade8ac
Scimonster [Sun, 11 Jan 2015 16:11:43 +0000 (16:11 +0000)]
Escape unsafe messages in CategoryViewer.php
Bug: T85864
GCI: http://www.google-melange.com/gci/task/view/google/gci2014/
5811264311787520
Change-Id: Ie59fb389b804f031b761f93f2c91a548742326ab
jenkins-bot [Sun, 11 Jan 2015 13:25:49 +0000 (13:25 +0000)]
Merge "Surround edit notices with appropriate classes"
umherirrender [Sun, 11 Jan 2015 10:39:20 +0000 (11:39 +0100)]
Skip cache hint about 0 seconds on Special:ActiveUsers
When the data on Special:ActiveUsers are up to date there is no need to
give a hint, seeing data from cache "which can be up to 0 seconds".
Change-Id: I46f80c7cdc083b997794fb9398887e2ef0088684
Translation updater bot [Sat, 10 Jan 2015 20:44:12 +0000 (20:44 +0000)]
Merge "Localisation updates from https://translatewiki.net."
Translation updater bot [Sat, 10 Jan 2015 20:42:27 +0000 (21:42 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I9d51804ea08f615455be312f093354e40a17e8c0
Fomafix [Sat, 10 Jan 2015 20:21:37 +0000 (20:21 +0000)]
mediawiki.page.gallery: Support live preview
Change-Id: I1dbcf5e7a9dc145417e0ffee9b1a5220eb34e0bd
jenkins-bot [Sat, 10 Jan 2015 20:04:53 +0000 (20:04 +0000)]
Merge "Add autocomplete for WhatLinksHere subpages"
jenkins-bot [Sat, 10 Jan 2015 20:01:21 +0000 (20:01 +0000)]
Merge "Fix gallery rearrange on resize with missing images"
jenkins-bot [Sat, 10 Jan 2015 20:00:34 +0000 (20:00 +0000)]
Merge "Move Test files under same folder structure where class is (/languages/)"
jenkins-bot [Sat, 10 Jan 2015 19:57:59 +0000 (19:57 +0000)]
Merge "Add version comments to DatabaseUpdater for 1.25"
jenkins-bot [Sat, 10 Jan 2015 19:57:01 +0000 (19:57 +0000)]
Merge "Remove unused message 'rollback_short'"
m4tx [Fri, 9 Jan 2015 21:59:51 +0000 (22:59 +0100)]
Fix gallery rearrange on resize with missing images
Follow-ups I286e0a4c8230c11619ca30f8f3b66778de835a33
Bug: T55664
Change-Id: I95cc64de11df3197378f4873d62a76333d55b452
umherirrender [Mon, 8 Dec 2014 19:46:23 +0000 (20:46 +0100)]
Move Test files under same folder structure where class is (/languages/)
Change-Id: I25c99272a1c2e318e6c61b4a497bf04886430e9b
Bartosz Dziewoński [Sat, 10 Jan 2015 19:06:45 +0000 (20:06 +0100)]
Remove unused message 'rollback_short'
Last seen in
ca38c84 (r7511, from 2005).
Change-Id: Ida0b52e05e1ca66595a6f8352c14d825655dabc3
Addshore [Sat, 10 Jan 2015 17:50:21 +0000 (17:50 +0000)]
Merge "Add data provider to split MediaHandlerTest::testFitBoxWidth"
m4tx [Fri, 2 Jan 2015 18:59:43 +0000 (19:59 +0100)]
Add data provider to split MediaHandlerTest::testFitBoxWidth
Change-Id: Ie1cf501a6a0c8e688aca1a5577a293f526398dd3
Giftpflanze [Sat, 10 Jan 2015 06:24:17 +0000 (07:24 +0100)]
ApiEditPage: Fix Wikipedia-specific wording
Article is specific to Wikipedia. Change to page for universality.
Change-Id: I4a10583d463c90df437ffd0e60e6f100674e49b2
wctaiwan [Sat, 10 Jan 2015 05:08:02 +0000 (00:08 -0500)]
Let subclasses specify content model in JsonContent
This is needed for extensions that subclass JsonContent.
Follows up Ifed379ba4674a8289b55
Change-Id: I2f4f9cb343c2ab3ee802b584d3c79d0fafadf9e7
James D. Forrester [Sat, 10 Jan 2015 01:37:23 +0000 (17:37 -0800)]
Update OOjs UI to v0.6.2
Release notes:
https://git.wikimedia.org/blob/oojs%2Fui.git/v0.6.2/History.md
Change-Id: Ia694c95107e88dd21db358daf503875cb13c5059
jenkins-bot [Sat, 10 Jan 2015 01:36:53 +0000 (01:36 +0000)]
Merge "maintenance: Have update-oojs-ui.sh update composer.json too"
James D. Forrester [Wed, 17 Dec 2014 01:32:54 +0000 (17:32 -0800)]
maintenance: Have update-oojs-ui.sh update composer.json too
Change-Id: Ifa37c9dcd136051c5ab8967f7ba1e490a5aa7861
Aaron Schulz [Fri, 9 Jan 2015 23:44:47 +0000 (15:44 -0800)]
Updated some try-catch statements: MWException -> Exception
Change-Id: I76601a86e30f4984e3b1a8c8ec5ef5a0f652433a
Aaron Schulz [Fri, 9 Jan 2015 23:00:11 +0000 (15:00 -0800)]
Tweaked the message for non-MW exceptions
Change-Id: I46dae88d66b65aa596743bdbdbdee270d53ae803
umherirrender [Fri, 9 Jan 2015 21:17:52 +0000 (22:17 +0100)]
Add version comments to DatabaseUpdater for 1.25
There are already version comments for the older versions, so also
adding comments for the current version to make it easier finding the
corresponding version when looking at database changes.
As suggested in Ieeb558f9523c11965cbc1941cad4f316c00c85c5
Change-Id: Idf4f52aec4eeb73ec2f830d7d7eaab84c73b6d95
Translation updater bot [Fri, 9 Jan 2015 20:35:49 +0000 (21:35 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I4c535d73620d8ef7b4935625a2cac6ae283de395
jenkins-bot [Fri, 9 Jan 2015 20:04:40 +0000 (20:04 +0000)]
Merge "Fix ApiStashEdit wrt custom DataUpdates."
jenkins-bot [Fri, 9 Jan 2015 19:56:20 +0000 (19:56 +0000)]
Merge "Update Moment.js from 2.8.3 to 2.8.4"
paladox [Thu, 20 Nov 2014 18:58:28 +0000 (18:58 +0000)]
Update Moment.js from 2.8.3 to 2.8.4
Project site
* http://momentjs.com
* https://github.com/moment/moment/
File source
* https://github.com/moment/moment/tree/2.8.4
Changelog
* https://github.com/moment/moment/blob/2.8.4/CHANGELOG.md
Difference between 2.8.3 and 2.8.4
2.8.4
Features
* #2000 Add LTS localised format that includes seconds
* #1960 added formatToken 'x' for unix offset in milliseconds #1938
* #1965 Support 24:00:00.000 to mean next day, at midnight.
* #2002 Accept 'date' key when creating moment with object
* #2009 Use native toISOString when we can
Bugfixes
* #2004 Fix makeAs to work with zoned moments
* #2001 moment.utc(string) falling back to Date works properly
* #1928 IE11 module == null
* #1952 New implementation of isBefore/isSame/isAfter
* #1992 Fix strict month parsing of abbreviated/full months
* #2003 Detect hours above 12 with h/hh tokens
* #1974 Locale export for meteor server environment
* #1925 Fix duration as getters (years and months convert to whole days)
* #2008 Fix endOf handling of no-arg and ms
* #2010 Update deprecation warning for moment().lang()
Locale improvements
* #2015 remove Uhr from german format
* #1933 improved russian lastWeek translations
* #2013 changed month abbreviations in russian
* #1971 Fix italian calendar time
* #1967 Fix catalan ordinals
* #1898 Bosnian translation of August
* #1771 Update greek seconds string
* #1961 Add a script to prepare moment for npm publish
* #2016 Fix long date format for Czech
Change-Id: I136a08194476ac01af7495c8f8e1e7ea1e140973
jenkins-bot [Fri, 9 Jan 2015 19:34:37 +0000 (19:34 +0000)]
Merge "Make Linker::formatLinksInComment format links to other wikis"
jenkins-bot [Fri, 9 Jan 2015 19:30:26 +0000 (19:30 +0000)]
Merge "Drop ss_total_views and page_counter fields from MediaWiki"
Marius Hoch [Fri, 2 Jan 2015 18:33:04 +0000 (19:33 +0100)]
Make Linker::formatLinksInComment format links to other wikis
Needed for CentralAuth.
Change-Id: Ibdedf087f85046646450367cbf1811db578d8f4b
daniel [Fri, 9 Jan 2015 19:16:00 +0000 (19:16 +0000)]
Fix ApiStashEdit wrt custom DataUpdates.
My previous patch broke this: ApiStashEdit would stash ParserOutput
with no custom DataUpdates, but calling getSecondaryDataUpdates still
failed after unserialization. This patch should fix that.
Bug: T86305
Change-Id: Ic114e521c5dfd0d3c028ea7d16e93eace758deef
jenkins-bot [Fri, 9 Jan 2015 19:16:56 +0000 (19:16 +0000)]
Merge "Implement namespace inversion on WhatLinksHere"
Chad Horohoe [Wed, 30 Jul 2014 20:56:20 +0000 (13:56 -0700)]
Drop ss_total_views and page_counter fields from MediaWiki
Follows up removal of code using hitcounters in
90d90dad6
RFC: https://www.mediawiki.org/wiki/Requests_for_comment/Removing_hit_counters_from_MediaWiki_core
Change-Id: Ieeb558f9523c11965cbc1941cad4f316c00c85c5
Bryan Davis [Thu, 8 Jan 2015 23:24:50 +0000 (16:24 -0700)]
Guard against unset key access in ResourceLoaderImageModule
Seen in production error logs:
Undefined index: icon in ResourceLoaderImageModule.php on line 162
Undefined index: icon in ResourceLoaderImageModule.php on line 185
Change-Id: I44e16563bda2dcc0be3c9694ed2b09d20b3d7468
daniel [Fri, 9 Jan 2015 14:18:14 +0000 (14:18 +0000)]
Check $wgAjaxEditStash before using cached edits.
Without this, stale data from the cache may still be used
even after $wgAjaxEditStash was disabled.
This is important mainly during testing, when a reliable way
to toggle stashing is needed to investigate issues that may
be related to the stashing mechanism.
Change-Id: Ib9ff68b43763e3857d1a28e34b48439d78c1ed5c
jenkins-bot [Fri, 9 Jan 2015 17:04:54 +0000 (17:04 +0000)]
Merge "Remove silly debug line"
jenkins-bot [Fri, 9 Jan 2015 17:02:38 +0000 (17:02 +0000)]
Merge "Don't call localisation functions when initializing pageset"
Mark Holmquist [Fri, 9 Jan 2015 16:57:24 +0000 (10:57 -0600)]
Remove silly debug line
This is flooding logstash with "thumbnail buckets null" which is neither
helpful nor necessary.
Change-Id: I9ce6d75c53ec5c10e32b056ae3eeee035b189b18
jenkins-bot [Fri, 9 Jan 2015 16:22:25 +0000 (16:22 +0000)]
Merge "Skip ApiStashEdit if custom DataUpdates are present."
daniel [Fri, 9 Jan 2015 15:51:15 +0000 (15:51 +0000)]
Skip ApiStashEdit if custom DataUpdates are present.
Bug: T86305
Change-Id: I423ba39a46a08edf2862b8439169ff91338fb6eb
gladoscc [Thu, 1 Jan 2015 09:58:49 +0000 (20:58 +1100)]
Rename testBug32548Exponent to testExponentLineBreaking
Fix for @todo
Change-Id: I0dcef36fe9cee95ae320b535bac883d5e26ad140
Niklas Laxström [Fri, 9 Jan 2015 09:15:30 +0000 (10:15 +0100)]
Unbreak master by restoring Profiler::profile(In|Out)
Keep functions in the abstract class to keep BC with SMW.
To I781f62be9
Change-Id: I81d3912cbffc88ed66c9d6d787db9f1ffe3b2de3
jenkins-bot [Fri, 9 Jan 2015 07:31:26 +0000 (07:31 +0000)]
Merge "Don't discourage usage of Html::element()"
Federico Leva [Fri, 9 Jan 2015 07:02:42 +0000 (08:02 +0100)]
Don't discourage usage of Html::element()
Old advice from 2009 (
7aa4a8f9), not quite useful nowadays. The preceding
sentence already says that in absence of attributes the function may not
do much.
Change-Id: I4d276d6f42394fc09662ddfd7e1ffd13fb197bf6
jenkins-bot [Fri, 9 Jan 2015 01:01:30 +0000 (01:01 +0000)]
Merge "mw.ui: checkbox: Add state change transition"
jenkins-bot [Thu, 8 Jan 2015 23:37:53 +0000 (23:37 +0000)]
Merge "Export mw.Message's string formatter as mw.format"
Ori Livneh [Tue, 6 Jan 2015 18:23:41 +0000 (10:23 -0800)]
Export mw.Message's string formatter as mw.format
For very simple string formatting, make mw.Message's `$N` substring
interpolation functionality available publicly as mw.format.
Change-Id: I87f62ac478aab80994caf79d3c89e1215cf088d4
Bryan Davis [Tue, 30 Dec 2014 23:42:32 +0000 (16:42 -0700)]
Introduce Composer merge plugin
Require Composer merge plugin to allow easier local Composer dependency
management without composer.json edit conflicts. The configuration
provided will merge Composer configuration directives found in
a `composer.local.json` config file into those specified by MediaWiki's
composer.json file at Composer runtime.
Bug: T67188
Change-Id: I66a19d0154191e536aab37a5e183e4505bf3e9be
Max Semenik [Fri, 2 Jan 2015 08:47:26 +0000 (00:47 -0800)]
Don't call localisation functions when initializing pageset
Language::commaList() gets called even though in 99% of cases it's not
description that's needed but other parameter information, resulting in
0.6% of overall cluster CPU time being wasted per
https://performance.wikimedia.org/xenon/svgs/daily/2015-01-02.svgz
Change-Id: Ic77e4a03d1bbd1aa5f86dc250d9f903d7eb25618
Translation updater bot [Thu, 8 Jan 2015 21:18:22 +0000 (22:18 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Ib7fd6758e921b9b58f23304b8b64518af746ccca
Niklas Laxström [Thu, 8 Jan 2015 09:30:05 +0000 (10:30 +0100)]
Don't say either when providing only one example
To I2b0e0ac1a
Change-Id: If47de90c11cf0c6f555fb15261fc5884d2acf59f
jenkins-bot [Thu, 8 Jan 2015 19:49:53 +0000 (19:49 +0000)]
Merge "Log to DBPerformance log when many LB connections are acquired"
jenkins-bot [Thu, 8 Jan 2015 19:47:40 +0000 (19:47 +0000)]
Merge "Fix typo references in comments to ResourceLoaderStartUpModule"
jenkins-bot [Thu, 8 Jan 2015 19:45:30 +0000 (19:45 +0000)]
Merge "Made profileIn/profileOut methods a no-op"
Ricordisamoa [Thu, 8 Jan 2015 19:11:57 +0000 (20:11 +0100)]
Fix phpcs errors in includes/
Mostly Squiz.WhiteSpace.SuperfluousWhitespace.EmptyLines
Change-Id: I678b2f0902f11cd1dfa1611b9da24e7237df9122
Aaron Schulz [Sat, 20 Dec 2014 11:58:35 +0000 (03:58 -0800)]
Log to DBPerformance log when many LB connections are acquired
Change-Id: Idcb7233bc418a793b87f4d445807be5eced12d95
Adrian Heine [Thu, 8 Jan 2015 08:56:10 +0000 (09:56 +0100)]
Fix typo references in comments to ResourceLoaderStartUpModule
Change-Id: I73436f76d0b42f6f9c0b3277a1b07fb6c2d7eb81
jenkins-bot [Thu, 8 Jan 2015 17:51:37 +0000 (17:51 +0000)]
Merge "Added ProfilerSectionOnly class"
jenkins-bot [Thu, 8 Jan 2015 17:48:33 +0000 (17:48 +0000)]
Merge "Switched API to using scopedProfileIn()"
jenkins-bot [Thu, 8 Jan 2015 17:47:16 +0000 (17:47 +0000)]
Merge "Removed remaining profile calls"
jenkins-bot [Thu, 8 Jan 2015 17:39:47 +0000 (17:39 +0000)]
Merge "Remove $wgDebugFunctionEntry, unused"
jenkins-bot [Thu, 8 Jan 2015 17:23:41 +0000 (17:23 +0000)]
Merge "Added MapCacheLRU::getAllKeys() method"
jenkins-bot [Thu, 8 Jan 2015 16:23:49 +0000 (16:23 +0000)]
Merge "Add a sort parameter to SearchEngine"
jenkins-bot [Thu, 8 Jan 2015 16:01:03 +0000 (16:01 +0000)]
Merge "Always use the canonical extension name when necessary"
jenkins-bot [Thu, 8 Jan 2015 15:46:10 +0000 (15:46 +0000)]
Merge "Change loading order of Chinese conversion tables"
Liangent [Thu, 4 Sep 2014 12:19:43 +0000 (12:19 +0000)]
Change loading order of Chinese conversion tables
Apply the conversion variants from specific zones before zh-hans
and zh-hant, to allow fitting specific linguistic habits before
falling back to the generic ones. The actual rules will be added
in a followup patch.
Previously, the zh-cn table was composed by:
(1) Load zh2Hans as zh-hans table
(2) Load zh2CN + zh2Hans as zh-cn table
(3) Load Conversiontable/zh-hans + zh-hans as zh-hans table
(4) Load Conversiontable/zh-cn + zh-cn as zh-cn table
(5) Load zh-hans + zh-cn as the final zh-cn table
The new loading order is:
(1) Load zh2Hans as zh-hans table
(2) Load zh2CN as zh-cn table
(3) Load Conversiontable/zh-hans + zh-hans as zh-hans table
(4) Load Conversiontable/zh-cn + zh-cn as zh-cn table
(5) Load zh-cn + zh-hans as the final zh-cn table
Change-Id: Ie9d08b85d4911618946fa7efd23eb898412449e5
aude [Fri, 19 Dec 2014 09:20:38 +0000 (10:20 +0100)]
Cleanup SiteListFileCache test files in tearDown
Also use tempnam instead of time().
Bug: T84970
Change-Id: I5eb4379671cde45f70bb03d4634f9f34495a6b29
Brad Jorsch [Thu, 8 Jan 2015 12:33:38 +0000 (07:33 -0500)]
Allow CACHE_NONE as a fallback for ObjectCache::newAccelerator
Test for null specifically rather than falsiness,
because CACHE_NONE is 0.
Bug: T86162
Change-Id: I98b9da42c6a5fd6cdf721cdbd5473a5e959581b8
Prateek Saxena [Thu, 8 Jan 2015 10:19:09 +0000 (15:49 +0530)]
mw.ui: Add an example of using the icon class with a button
Change-Id: I2728aaad60ff68134a18f94ae0b2e258a65ac4b0
Aaron Schulz [Thu, 8 Jan 2015 10:55:43 +0000 (02:55 -0800)]
Switched API to using scopedProfileIn()
Change-Id: Iaafad236c3e4c85e1b491e76f61322a266123ba6
Aaron Schulz [Thu, 8 Jan 2015 10:32:34 +0000 (02:32 -0800)]
Removed remaining profile calls
Change-Id: I31c81c78715048004fc8fca0f27d09c1fa71c118
Aaron Schulz [Thu, 8 Jan 2015 10:10:02 +0000 (02:10 -0800)]
Added ProfilerSectionOnly class
Change-Id: I45d1036433a7cca13293de22adf1b63b916393fe
Aaron Schulz [Thu, 8 Jan 2015 09:54:51 +0000 (01:54 -0800)]
Made profileIn/profileOut methods a no-op
Change-Id: I781f62be9747bb41af6faad6fbe265414fb77669
Chad Horohoe [Thu, 8 Jan 2015 05:07:24 +0000 (21:07 -0800)]
Remove $wgDebugFunctionEntry, unused
Change-Id: I5f215ab2275333b329406ca7dda7b12fc0b9b6ec
Aaron Schulz [Wed, 7 Jan 2015 21:57:56 +0000 (13:57 -0800)]
Converted some profiling to scopedProfileIn
Change-Id: I63eb315155ef03d20a2d228c2be07a24baa0c278
Kunal Mehta [Wed, 15 Oct 2014 00:31:15 +0000 (17:31 -0700)]
Implement extension registration from an extension.json file
Introduces wfLoadExtension()/wfLoadSkin() which should be used in
LocalSettings.php rather than require-ing a PHP entry point.
Extensions and skins would add "extension.json" or "skin.json" files
in their root, which contains all the information typically
present in PHP entry point files (classes to autoload, special pages,
API modules, etc.) A full schema can be found at
docs/extension.schema.json, and a script to validate these to the
schema is provided. An additional script is provided to convert
typical PHP entry point files into their JSON equivalents.
The basic flow of loading an extension goes like:
* Get the ExtensionRegistry singleton instance
* ExtensionRegistry takes a filename, reads the file or tries
to get the parsed JSON from APC if possible.
* The JSON is run through a Processor instance,
which registers things with the appropriate
global settings.
* The output of the processor is cached in APC if possible.
* The extension/skin is marked as loaded in the
ExtensionRegistry and a callback function is executed
if one was specified.
For ideal performance, a batch loading method is also provided:
* The absolute path name to the JSON file is queued
in the ExtensionRegistry instance.
* When loadFromQueue() is called, it constructs a hash
unique to the members of the current queue, and sees
if the queue has been cached in APC. If not, it processes
each file individually, and combines the result of each
Processor into one giant array, which is cached in APC.
* The giant array then sets various global settings,
defines constants, and calls callbacks.
To invalidate the cached processed info, by default the mtime
of each JSON file is checked. However that can be slow if you
have a large number of extensions, so you can set $wgExtensionInfoMTime
to the mtime of one file, and `touch` it whenever you update
your extensions.
Change-Id: I7074b65d07c5c7d4e3f1fb0755d74a0b07ed4596
Aaron Schulz [Wed, 7 Jan 2015 22:19:06 +0000 (14:19 -0800)]
Converted some section profiling to scopedProfileIn
Change-Id: If69de34a046f4f33fc57b93beaf264f522ce7386
Nik Everett [Fri, 24 Jan 2014 08:15:16 +0000 (00:15 -0800)]
Add a sort parameter to SearchEngine
SearchEngine grows a method to list valid sort orders one to set the
sort for the next search, and one to read it. The default implemenation
only supports 'relevance' and the documenation strongly urges that all
other implemenations leave that as the default. Other implementations
can support other orders. Cirrus already supports title_asc and title_desc.
Change-Id: Ie946150c6796139201221dfa6f7750c210e97166
jenkins-bot [Wed, 7 Jan 2015 21:38:38 +0000 (21:38 +0000)]
Merge "Removed ProfilerStandard and ProfilerSimpleTrace"
jenkins-bot [Wed, 7 Jan 2015 21:05:00 +0000 (21:05 +0000)]
Merge "API: Improve handling of interwiki redirects when resolving"
Brad Jorsch [Mon, 29 Dec 2014 17:50:50 +0000 (12:50 -0500)]
API: Improve handling of interwiki redirects when resolving
When ApiPageSet resolves redirects, it should add the targets of any
interwiki redirects to its list of interwiki titles.
Also, when outputting the list of redirects it may as well include a
'tointerwiki' property to match the 'tofragment' property it already
outputs.
Bug: T85417
Change-Id: Icf1346f52c8efa099b502433de1b18c4caad09df
Translation updater bot [Wed, 7 Jan 2015 20:43:06 +0000 (21:43 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia1d8ae53646ddaf0185f3bf946c06679e9cab72d
jenkins-bot [Wed, 7 Jan 2015 20:33:40 +0000 (20:33 +0000)]
Merge "PostgreSQL: Fix Special:ActiveUsers GROUP BY query"
Aaron Schulz [Wed, 7 Jan 2015 19:31:34 +0000 (11:31 -0800)]
Removed ProfilerStandard and ProfilerSimpleTrace
Change-Id: I2b0e0ac1a277e66b15095e766ed5df834b1ae5f9
jenkins-bot [Wed, 7 Jan 2015 19:27:45 +0000 (19:27 +0000)]
Merge "Remove obvious function-level profiling"
Kunal Mehta [Wed, 7 Jan 2015 02:13:01 +0000 (18:13 -0800)]
Cookie: Fix @throws comment
Change-Id: I3f63a58b74ab4dd46010c8a61da98c1cae419195