Commit graph

1788 commits

Author SHA1 Message Date
Roan Kattouw
c8b9d849fc Add PageMoveCompleting hook, to replace TitleMoveCompleting
We intially thought we wouldn't need this and would only need
PageMoveComplete, but it turns out Flow does need it.

Bug: T250023
Bug: T255608
Change-Id: I8e7308541d2fe6d02b9dad63e1c86c89f6e7cf53
2020-06-16 22:27:28 -07:00
Ammar Abdulhamid
dec08eacdd Deprecate SkinTemplateToolboxEnd hook
Bug: T253783
Change-Id: Ia6f46c1e3d33a14d3f3161f1716f9d0791cd397d
2020-06-15 23:18:05 +00:00
Vas Jaremchuk
cea8cd4102 Add release-notes for two deprecated hooks
SkinTemplatePreventOtherActiveTabs and SkinTemplateTabAction hooks were
deprecated in I96af224e6a6389f5f78bbe051c45fa796cd60ec0.

This patch adds deprecation notes for them in release notes and hooks.txt

Bug: T253814
Change-Id: Ic9e04872e68e4522fbb32443044a6d5aeadbd82a
2020-06-15 13:57:48 +00:00
Ammar Abdulhamid
6ef284e37e Hard deprecate BaseTemplateToolbox hook
Superseded by SidebarBeforeOutput.

Note: Translate extension is using it to serve < 1.35

Bug: T253416
Change-Id: Ia038647df14727f45f01a0923277d4d084e372af
2020-06-13 10:03:49 +01:00
Ammar Abdulhamid
aa048974db Deprecate SkinTemplateBuildNavUrlsNav_urlsAfterPermalink hook
Bug: T254431
Change-Id: I2ad144ac7aa5b0243f070b350b7dfc61ee466743
2020-06-12 22:21:13 +01:00
jenkins-bot
a2812b8a6a Merge "Rename CoreMagicWords to CoreMagicVariables and update docs" 2020-06-12 19:18:02 +00:00
Tim Starling
a30b328bd4 Rename CoreMagicWords to CoreMagicVariables and update docs
There's already a thing called magic words, and this is not it. These
things are called variables. There are many usages of this term in the
source. The term was introduced by Lee in 2002: originally
OutputPage::replaceVariables() contained only this functionality.

I introduced the term "magic word", meaning a localizable keyword.
Localizable keywords are an abstraction not limited to this use case.

"Magic variables" is a neologism, but I suppose it is permissible, since
it disambiguates. Whereas calling a variable a magic word conflates rather
than disambiguates.

Fix terminology in magicword.md and update the examples.

Change-Id: I621c888e3790a145ca9978f6b30ff1a8f685b64c
2020-06-11 13:28:45 +10:00
jenkins-bot
766d9299fb Merge "Rename MagicWordwgVariableIDs hook to GetMagicVariableIDs" 2020-06-11 02:59:19 +00:00
Reedy
d019a0775f s/slave/replica
Bug: T254646
Change-Id: I8397fc890e5ca19e28c50422ba056ff42e9fe23f
2020-06-11 00:50:10 +00:00
jenkins-bot
f34d26672e Merge "Add PageSaveComplete hook to replace PageContent(Insert|Save)Complete" 2020-06-10 21:02:49 +00:00
DannyS712
0e915c0b63 Add PageSaveComplete hook to replace PageContent(Insert|Save)Complete
Bug: T250566
Change-Id: I8e515ad9d344cb31e59bcfc87a717ca2b93feee2
2020-06-10 20:41:00 +00:00
DannyS712
1594282ad0 Replace TitleMoveCompleting and TitleMoveComplete hooks
Bug: T250023
Change-Id: Iceb0aebb51769c413bf560d1c5b70a7213cb8b91
2020-06-10 20:03:31 +00:00
C. Scott Ananian
2c9d496268 Rename MagicWordwgVariableIDs hook to GetMagicVariableIDs
This makes the hook name consistent with GetDoubleUnderscoreIDs, and
is part of a set of related documentation changes clarifying the difference
between "magic words" (a localization infrastructure) and the various
functions which use magic words for localization, such as parser functions,
double underscore variables, magic variables, etc.

See also I621c888e3790a145ca9978f6b30ff1a8f685b64c.

Change-Id: Ie2a6df4b179a360fb7cdfb219e915bedff501d1d
2020-06-10 12:28:20 -04:00
mainframe98
4e2897575a Replace BaseTemplateAfterPortlet with SkinAfterPortlet
BaseTemplate should not handle anything but rendering.
In order to allow replacing it with another renderer,
such as Mustache or Vue, its hooks should be moved to
the Skin class instead.

BaseTemplateAfterPortlet is soft deprecated to allow
filtering, preventing the hook from running twice.

Both BaseTemplate::getAfterPortlet and ::renderAfterPortlet
have been deprecated as well, with both now calling
Skin::getAfterPortlet after running the
BaseTemplateAfterPortlet hook.

Bug: T253797
Change-Id: I438daa79d3d97e2518e6258c3213a805bd1f30e8
2020-06-09 21:51:58 +00:00
jenkins-bot
90d8df020d Merge "mediawiki.diff: Reduce selectors and remove obsolete documentation HTML page" 2020-06-05 17:57:19 +00:00
jenkins-bot
9838d7bb25 Merge "Introduce soft deprecation of hooks" 2020-06-05 16:02:39 +00:00
jenkins-bot
18ec60d147 Merge "Un-deprecate the ParserPreSaveTransformComplete hook" 2020-06-04 22:03:55 +00:00
Tim Starling
d1363015b7 Introduce soft deprecation of hooks
Add a "silent" flag to DeprecatedHooks which causes relevant deprecation
warnings to be suppressed, but still allows call filtering to be used.

Add existing hooks that are documented as deprecated to the array.

Change-Id: Ieeb5e1840fd06d2b7979ef7827ba82bd2a35a2ba
2020-06-04 10:00:55 +10:00
Volker E
366768e905 mediawiki.diff: Reduce selectors and remove obsolete documentation HTML page
Reinstate `ins`/`del` selectors of I5db0350bca0b8c32 and remove obsolete
'uidesign' doc page that was building on top of CSS file.

Change-Id: Id48c076e6429c0066078c691fe99f06317e14b8a
2020-06-03 21:46:43 +00:00
jenkins-bot
3cd87b81cf Merge "Documentation for the new hook system" 2020-06-01 15:54:13 +00:00
C. Scott Ananian
13d0ad0de6 Un-deprecate the ParserPreSaveTransformComplete hook
Although it's true that Parsoid doesn't (yet) support this hook, and
the $parser object referenced in the hook is likely going to be changed,
this is a hook added in 1.35 (eb6c5f70d9)
to replace use of an even worse hook.  So let's keep the lesser of the
evils, at least for now.

Bug: T236809
Change-Id: I8f866c3b9f1fc51848cfe9364635112371d18e3e
2020-06-01 10:14:39 -04:00
jenkins-bot
e4fb04a5f0 Merge "Make hook parameters use consistent name as the Hook interface" 2020-05-30 10:07:48 +00:00
Ammar Abdulhamid
7c1a46ba88 Make hook parameters use consistent name as the Hook interface
Param 'bar' was renamed to more descriptive 'sidebar' in the interface. The change should be reflected here.

Change-Id: Icdb57a4f801272d408161503d330f3260291c579
2020-05-29 13:24:17 +01:00
DannyS712
0eb1de24a7 UserClearNewTalkNotification hook: Only guarantee a UserIdentity
Bug: T253435
Change-Id: Ia46b67ff284a8b9bc0d500e7b8536c2e84faef61
2020-05-29 09:40:31 +00:00
jenkins-bot
ca6ec5a4ee Merge "Add 'ParsoidModules' as a top-level core attribute in extension.json" 2020-05-29 00:16:01 +00:00
DannyS712
e55e19c630 Injection.md - document ServiceOptions/CONSTRUCTOR_OPTIONS systems
Common way of injecting multiple configuration values

Change-Id: Ie7f7febf279baf34bad8b628911285bca3a008b5
2020-05-28 22:19:59 +00:00
Tim Starling
323ac073d3 Documentation for the new hook system
Add Hooks.md with a description of the new hooks system

Bug: T240307
Change-Id: I83cbbfc52ba7645ee5f31b6bcc0cb23cd1bf1ccf
2020-05-28 00:58:11 +00:00
Petr Pchelko
82bf390ed5 Add $originalOptions parameter to UserSaveOptions hook
Since the hook interfaces are not yet released and adding a parameter
to the hook is b/c, I have just added a parameter without introducing
a new version of the hook interface

Bug: T253149
Change-Id: Iac6c4b706ddbc7b0c9fb0b40eba05bd3530b1fdf
2020-05-27 08:32:40 -07:00
jenkins-bot
b5012a1e7d Merge "[registration] Remove type of string from Hooks in extension.schema.v1.json" 2020-05-26 16:25:11 +00:00
jenkins-bot
29fbda6260 Merge "Extension schema updates for HookContainer" 2020-05-26 00:46:33 +00:00
Reedy
583602e16d [registration] Remove type of string from Hooks in extension.schema.v1.json
Same as it will be or v2 when that patch merges

Change-Id: I64c3bbcda0f353fe9c14b0d5bea241e0304c0e2e
Follows-Up: I1a8657ff9fd14618c6709dbab62c3b4ee9f659a5
2020-05-26 01:28:49 +01:00
jenkins-bot
d1e2be2b43 Merge "docs/README: Update link to php documentation on doc.wikimedia.org" 2020-05-25 09:32:16 +00:00
DannyS712
8f92469c6c docs - minor cleanup, including fixing markdown syntax
Use code highlighting where relevant
Fix list syntax in memcached.md to render lists without paragraph breaks
Add a missing period to schema.md

Change-Id: I763cfd479968cedbf952c231283d33b82a0910d6
2020-05-23 07:58:14 +00:00
DannyS712
74a7ebce44 docs/README: Update link to php documentation on doc.wikimedia.org
https://doc.wikimedia.org/mediawiki-core/master/php/html/ no longer
works, https://doc.wikimedia.org/mediawiki-core/master/php/ is where
the php documentation lies

Change-Id: I518027861ea60bcee66e6c0fb50cc4dabef714f0
2020-05-23 07:46:33 +00:00
C. Scott Ananian
e71e025aba Add 'ParsoidModules' as a top-level core attribute in extension.json
See also I20f641a1ff032a6da3549b01dfaf8f4cf1eb5071, which uses this
attribute, and the earlier discussion in the (abandoned)
Ia251d631febf5be7fcad21cd8b73a68ec2785137.

Bug: T133320
Change-Id: I6c74938883376ec17f3790678b435585083a440f
2020-05-22 18:19:00 +00:00
MarcoAurelio
dbfebbbcec Fix typo 'desciption'
Should be 'description'.

Bug: T201491
Change-Id: Ic6d7efb8da2fb1c9645ca4c4e666d10953b8a4ab
2020-05-21 18:42:35 +00:00
Tim Starling
7abd828ea3 Extension schema updates for HookContainer
* Updated the extension schema for the new hook system
* Fixed the lack of "services" from RestRoutes ObjectFactory specs,
  since RestRoutes and HookHandlers is supposed to be the same.

Bug: T240307
Change-Id: I1a8657ff9fd14618c6709dbab62c3b4ee9f659a5
2020-05-18 14:18:35 +10:00
jenkins-bot
1eaf12a4d6 Merge "Update PostgreSQL supported version in docs/database/postgres.txt" 2020-05-17 16:32:51 +00:00
Reedy
39176163d2 Update PostgreSQL supported version in docs/database/postgres.txt
Change-Id: I9e49857e67f3351683dbbf0019d8301eaf43e59c
2020-05-17 15:43:46 +01:00
Reedy
71c3aaf7f7 Remove rotten docs/php-memcached docs
README contains a URL that doesn't work.

ChangeLog has no purpose these days

Documentation doesn't match state of the class these days either

Change-Id: Ia2e00891d78cb4b227113e89d6b5e95a10261f0a
2020-05-17 15:42:17 +01:00
jenkins-bot
b7968e948d Merge "Sync descriptions from extension.schema.v2.json to v1.json" 2020-05-16 02:44:20 +00:00
Reedy
0b91ceedec Sync descriptions from extension.schema.v2.json to v1.json
Change-Id: I2acb39f4544e2608596f8e76e10ddc516309edec
2020-05-16 03:06:19 +01:00
Reedy
1b1a17bcef skins: Allow $wgValidSkinNames to take ObjectFactory spec
Bug: T252760
Change-Id: I189de448c3b2c56dfe6bf49170d7746943cf2417
2020-05-16 01:57:25 +00:00
jenkins-bot
6ca9c1f252 Merge "Replace NewRevisionFromEditComplete with RevisionFromEditComplete" 2020-05-14 00:22:57 +00:00
James D. Forrester
4363a7406f resourceloader: Document replacement for the ResourceLoaderTestModules hook
Bug: T232875
Change-Id: Id30e1e552df43a3237deeaf25ad181d7bf1944ef
2020-05-11 18:56:27 +00:00
DannyS712
77e2dd7169 Replace NewRevisionFromEditComplete with RevisionFromEditComplete
Bug: T250338
Change-Id: I4ef249d013d1a9bc33d1d0f380c41963635012ab
2020-05-11 15:09:25 +00:00
Petr Pchelko
c2a1e0f7e5 Create TalkPageNotificationManager service
* The hook that's being deprecated is not used anywhere
in MW ecosystem.
* The getNewMessageLinks/getNewMessageRevisionId wasn't
ported to the service, only the DB lookup. The interface
of these two methods is extremelly weird, the idea is that
they should eventually be able to do cross-wiki lookups.
This doesn't belong in the service - with only a single caller,
these methods should be moved out of User and inlined into the
caller instead.
* There's been a little bit of preparation done to T146585#4233276
as the interface of setNewTalk was split into set and remove
with the idea that we gotta require Revision to be passed to
setUserHasNewMessages eventually. B/C is still maintained though
since service-conversion patches are not a right place for making
behavioural changes
* The tests are only integration tests since most of the logic
in the manager is tied up to the database anyway.

Bug: T239640
Change-Id: Ia0a52865970c11066d1089196251f62ffeaa53bb
2020-05-06 15:31:55 -07:00
Peter Ovchyn
7df7b923da rest: Add 'thumbnail' and 'description' fields to the search response
By default, core adds those fields as null to each row.
provideThumbnail and provideDescription hooks are introduced.
Extension should subscribe on the hooks to provide a thumbnail and description respectively.

Bug: T250144
Change-Id: I42c6c8ff9d887a440174af2a21c7921573b06640
2020-05-05 19:35:52 +03:00
Tim Starling
2bcabb0dee Add $conds parameter to ModifyExportDisplayQuery hook
Since I8d825eb02c69cc66d90bd41325133fd3f99f0226, modification of the
$cond parameter to the ModifyExportDisplayQuery hook has had no effect,
since $cond is now incorporated into a condition array $conds. This
seems contrary to the purpose of the hook, although no extension in
CodeSearch actually depends on it.

It was also a documentation error, with the incorrect type on the
interface causing a Phan error in the HookRunner call site migration
patch.

So, add a $conds parameter to the hook, which allows modification of
the array, and fix the documentation.

Change-Id: Id4608cec35df56456d7dad4de107bbef816e964b
2020-05-05 11:22:04 +10:00
DannyS712
b361cf7239 Update hook interfaces for recent additions and deprecations
Changes since the interfaces were generated:
5 hooks added:
* RevisionUndeleted
* ParserBeforePreprocess
* RollbackComplete
* HtmlCacheUpdaterAppendUrls
* HtmlCacheUpdaterVaryUrls

9 hooks deprecated:
* ArticleRevisionUndeleted
* ArticleRollbackComplete (soft deprecation)
* UndeleteShowRevision
* InternalParseBeforeSanitize
* ParserFetchTemplate
* ParserSectionCreate
* ParserPreSaveTransformComplete
* BeforeParserrenderImageGallery
* ParserBeforeTidy

Bug: T240307
Change-Id: Ib91b1d8e519e6cb3c74a6fe174fe2fd0103d6d30
2020-05-05 11:22:04 +10:00