[go: nahoru, domu]

Page MenuHomePhabricator

[ES-M2]: Load EntitySchema data type registration for WikibaseClient on client wikis
Closed, ResolvedPublic

Description

We don’t want to load the full EntitySchema extension (with an EntitySchema: namespace, special pages etc.) on client wikis like Wikipedias. However, the data type still needs to be registered with Wikibase Client; otherwise, any item that contains an EntitySchema statement becomes completely inaccessible:

image.png (467×802 px, 67 KB)

(In this example on my local wiki, Q796 is a item with a string statement and an EntitySchema statement, and P307 is a string property; even though the string statement is unrelated to the EntitySchema statement, it still can’t be accessed, because Wikibase is unable to deserialize/load the item as a whole.)

Acceptance Criteria

  • A client wiki can load all the data of an Item that has an EntitySchema statement

Event Timeline

I think we have a few different options to implement this:

  • Separate “repo” and “client” extensions…
    • …either in a single source code repository, like in Wikibase (extension-repo.json, extension-client.json)…
    • …or in two separate source code repositories, with the common code shared in some other way (composer library? repo extension depends on client extension?).
  • Single extension, with a “register the ‘repo’ parts or not” flag, like in WikibaseLexeme ($wgLexemeEnableRepo, \Wikibase\Lexeme\Registrar).
Arian_Bozorg renamed this task from [SW] [ES-M2]: Load EntitySchema data type registration for WikibaseClient on client wikis to [ES-M2]: Load EntitySchema data type registration for WikibaseClient on client wikis.Apr 24 2024, 12:46 PM
Arian_Bozorg updated the task description. (Show Details)

Can be tried out on Test Wikipedia: https://test.wikipedia.org/wiki/Human (using data from the connected Test Wikidata item).

Currently it works because it’s an “old-style” statement with data value type string; once the Entityschema patches are merged, we should add a “new-style” statements with data value type wikibase-entityid (and potentially remove the old statement).

Change #1035467 had a related patch set uploaded (by Hoo man; author: Hoo man):

[mediawiki/extensions/EntitySchema@master] [PoC] Allow loading EntitySchema on client (only) wikis

https://gerrit.wikimedia.org/r/1035467

Change #1035467 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@master] Allow loading EntitySchema on client (only) wikis

https://gerrit.wikimedia.org/r/1035467

Change #1040113 had a related patch set uploaded (by Arthur taylor; author: Arthur taylor):

[mediawiki/extensions/EntitySchema@master] Only register EntitySchema namespace when feature is enabled

https://gerrit.wikimedia.org/r/1040113

hoo removed hoo as the assignee of this task.Jun 10 2024, 3:22 PM
hoo subscribed.

Change #1040113 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@master] Only register EntitySchema namespace when feature is enabled

https://gerrit.wikimedia.org/r/1040113

Change #1041677 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Hoo man):

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.8] Allow loading EntitySchema on client (only) wikis

https://gerrit.wikimedia.org/r/1041677

Change #1041678 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Arthur taylor):

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.9] Only register EntitySchema namespace when feature is enabled

https://gerrit.wikimedia.org/r/1041678

Change #1041679 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Arthur taylor):

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.8] Only register EntitySchema namespace when feature is enabled

https://gerrit.wikimedia.org/r/1041679

Change #1042208 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[operations/mediawiki-config@master] Load EntitySchema on Test Wikidata clients

https://gerrit.wikimedia.org/r/1042208

Change #1041678 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.9] Only register EntitySchema namespace when feature is enabled

https://gerrit.wikimedia.org/r/1041678

Mentioned in SAL (#wikimedia-operations) [2024-06-12T13:09:35Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Started scap: Backport for [[gerrit:1041678|Only register EntitySchema namespace when feature is enabled (T363153)]]

Mentioned in SAL (#wikimedia-operations) [2024-06-12T13:12:08Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 lucaswerkmeister-wmde: Backport for [[gerrit:1041678|Only register EntitySchema namespace when feature is enabled (T363153)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-06-12T13:21:50Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Finished scap: Backport for [[gerrit:1041678|Only register EntitySchema namespace when feature is enabled (T363153)]] (duration: 12m 15s)

Change #1041677 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.8] Allow loading EntitySchema on client (only) wikis

https://gerrit.wikimedia.org/r/1041677

Change #1041679 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.8] Only register EntitySchema namespace when feature is enabled

https://gerrit.wikimedia.org/r/1041679

Mentioned in SAL (#wikimedia-operations) [2024-06-12T14:14:42Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Started scap: Backport for [[gerrit:1041677|Allow loading EntitySchema on client (only) wikis (T363153)]], [[gerrit:1041679|Only register EntitySchema namespace when feature is enabled (T363153)]]

Mentioned in SAL (#wikimedia-operations) [2024-06-12T14:17:14Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 lucaswerkmeister-wmde: Backport for [[gerrit:1041677|Allow loading EntitySchema on client (only) wikis (T363153)]], [[gerrit:1041679|Only register EntitySchema namespace when feature is enabled (T363153)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-06-12T14:27:15Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Finished scap: Backport for [[gerrit:1041677|Allow loading EntitySchema on client (only) wikis (T363153)]], [[gerrit:1041679|Only register EntitySchema namespace when feature is enabled (T363153)]] (duration: 12m 32s)

Mentioned in SAL (#wikimedia-operations) [2024-06-12T14:14:42Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Started scap: Backport for [[gerrit:1041677|Allow loading EntitySchema on client (only) wikis (T363153)]], [[gerrit:1041679|Only register EntitySchema namespace when feature is enabled (T363153)]]

(For the record, those backports had to be reverted, but the revert changes weren’t attached to this task.)

Change #1042308 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/EntitySchema@master] Call NamespaceRegistrationHandler::setConstants() earlier

https://gerrit.wikimedia.org/r/1042308

Change #1042308 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@master] Call NamespaceRegistrationHandler::setConstants() earlier

https://gerrit.wikimedia.org/r/1042308

Change #1042343 had a related patch set uploaded (by Brennen Bearnes; author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.9] Call NamespaceRegistrationHandler::setConstants() earlier

https://gerrit.wikimedia.org/r/1042343

Change #1042343 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.9] Call NamespaceRegistrationHandler::setConstants() earlier

https://gerrit.wikimedia.org/r/1042343

Mentioned in SAL (#wikimedia-operations) [2024-06-12T19:35:12Z] <brennen@deploy1002> brennen: Backport for [[gerrit:1042343|Call NamespaceRegistrationHandler::setConstants() earlier (T367334 T363153)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-06-12T19:45:39Z] <brennen@deploy1002> Finished scap: Backport for [[gerrit:1042343|Call NamespaceRegistrationHandler::setConstants() earlier (T367334 T363153)]] (duration: 13m 06s)

Change #1042208 merged by jenkins-bot:

[operations/mediawiki-config@master] Load EntitySchema on Test Wikidata clients

https://gerrit.wikimedia.org/r/1042208

Mentioned in SAL (#wikimedia-operations) [2024-06-13T13:51:21Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Started scap: Backport for [[gerrit:1042208|Load EntitySchema on Test Wikidata clients (T363153)]]

Mentioned in SAL (#wikimedia-operations) [2024-06-13T13:53:57Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 lucaswerkmeister-wmde: Backport for [[gerrit:1042208|Load EntitySchema on Test Wikidata clients (T363153)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-06-13T14:05:35Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Finished scap: Backport for [[gerrit:1042208|Load EntitySchema on Test Wikidata clients (T363153)]] (duration: 14m 14s)

Change #1043782 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/EntitySchema@master] Check EntitySchemaIsRepo in more hook handlers

https://gerrit.wikimedia.org/r/1043782

Change #1043782 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@master] Check EntitySchemaIsRepo in more hook handlers

https://gerrit.wikimedia.org/r/1043782

Change #1046598 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.9] Check EntitySchemaIsRepo in more hook handlers

https://gerrit.wikimedia.org/r/1046598

Change #1046598 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@wmf/1.43.0-wmf.9] Check EntitySchemaIsRepo in more hook handlers

https://gerrit.wikimedia.org/r/1046598

Mentioned in SAL (#wikimedia-operations) [2024-06-17T13:37:19Z] <urbanecm@deploy1002> Started scap: Backport for [[gerrit:1046597|Backport all commits from master (T364895)]], [[gerrit:1046598|Check EntitySchemaIsRepo in more hook handlers (T363153)]]

Mentioned in SAL (#wikimedia-operations) [2024-06-17T13:43:08Z] <urbanecm@deploy1002> lucaswerkmeister-wmde, urbanecm: Backport for [[gerrit:1046597|Backport all commits from master (T364895)]], [[gerrit:1046598|Check EntitySchemaIsRepo in more hook handlers (T363153)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-06-17T13:44:06Z] <urbanecm@deploy1002> Started scap: Backport for [[gerrit:1046597|Backport all commits from master (T364895)]], [[gerrit:1046598|Check EntitySchemaIsRepo in more hook handlers (T363153)]]

Mentioned in SAL (#wikimedia-operations) [2024-06-17T13:48:37Z] <urbanecm@deploy1002> urbanecm, lucaswerkmeister-wmde: Backport for [[gerrit:1046597|Backport all commits from master (T364895)]], [[gerrit:1046598|Check EntitySchemaIsRepo in more hook handlers (T363153)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-06-17T14:00:53Z] <urbanecm@deploy1002> Finished scap: Backport for [[gerrit:1046597|Backport all commits from master (T364895)]], [[gerrit:1046598|Check EntitySchemaIsRepo in more hook handlers (T363153)]] (duration: 16m 47s)

Mentioned in SAL (#wikimedia-releng) [2024-06-17T14:11:20Z] <Lucas_WMDE> lucaswerkmeister-wmde@deployment-deploy03:~$ mwscript sql testwiki <<< 'DROP TABLE entityschema_id_counter;' # see T363153 and Iaae48b794b: table was empty and should not have been created on this wiki in the first place

ItamarWMDE claimed this task.
ItamarWMDE subscribed.

This was verified on testwikipedia with entities from testwikidata: https://test.wikipedia.org/wiki/Test_ES_Here