Currently, every user can define constraints on property talk pages in a certain syntax. It would be way better to have the constraints defines as statements on properties.
Description
Details
Event Timeline
Can you please indicate the status of this? You already had some scripts? Can you link them please?
We are working together with Amir (Ladsgroup) to get this done.
On this Github repo, you can see the current state. Their is a blocking issue with the PyWikiBot, but there is already a patch for T103303.
With https://gerrit.wikimedia.org/r/#/c/349894 and https://gerrit.wikimedia.org/r/#/c/352864, all constraint statements are stored in the constraint table. What’s left to do is to also read them from there.
Here’s a TODO list of all the constraint types that currently exist in templates (sorted by number of constraints, descending), along with tasks/changes for reading them from constraint statements:
- Item: https://gerrit.wikimedia.org/r/356826
- Single value: https://gerrit.wikimedia.org/r/#/c/349894
- Unique value: https://gerrit.wikimedia.org/r/#/c/349894
- Type: https://gerrit.wikimedia.org/r/352865
- Format: T167418
- Conflicts with: https://gerrit.wikimedia.org/r/356851
- Value type: https://gerrit.wikimedia.org/r/352865
- Units: unimplemented, T164372
- Target required claim: https://gerrit.wikimedia.org/r/356842
- Qualifiers: T167415
- Range: T167413
- Qualifier: https://gerrit.wikimedia.org/r/#/c/349894
- One of: https://gerrit.wikimedia.org/r/356860
- Mandatory qualifiers: T167416
- Inverse: https://gerrit.wikimedia.org/r/356421
- Contemporary: unimplemented, T141859
- Value only: T102749
- Commons link: T167417
- Symmetric: https://gerrit.wikimedia.org/r/#/c/349894
- Source: unimplemented, T166892
- Multi value: https://gerrit.wikimedia.org/r/#/c/349894
- Diff within range: T167414
I think we’re pretty well on track for reading all constraint types from statements; once that’s deployed, @Ivan_A_Krestinin can do the actual migration.
I confirm, code for the migration is ready to run. I am waiting for wbcheckconstraints API ready status.
Change 356825 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Add some support for somevalue and novalue
https://gerrit.wikimedia.org/r/356825
Change 356825 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Add some support for somevalue and novalue
https://gerrit.wikimedia.org/r/356825
Change 364689 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Update special page explanation for constraint statements
https://gerrit.wikimedia.org/r/364689
Change 364689 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Update special page explanation for constraint statements
https://gerrit.wikimedia.org/r/364689
I think we can close this now, constraint statements are enabled on Wikidata and were also imported from the existing statements.