Page MenuHomePhabricator

Check wording of messages/constraint check results
Closed, ResolvedPublic

Description

Story: As a user I want to understand the results of the constraint check/violations

Direction

Task:

We should check the messages for

  1. Being clear in what they refer to. Bad: "The value" Better: "The value 'car' for 'instanceof'…
  2. Even if a minor misunderstanding happens, the message should still come across right. Bad: using double negative statements
  3. We should check for usage of Wikidata jargon. If we have an more commonly understood alternative, we should use this. (Works well with point 1., "Being clear in what they refer to")
  4. Enables action. We should enable users to improve Wikidata after reading the message. Instead of "Something complicated is broken, and it is out of my control" they should think "There is something that can be improved, and I can support this by doing [action]"

Event Timeline

Isn’t this a duplicate of T163997 (but with better description)?

Some examples from T163997:

Some of the constraint violation messages are hard to understand. This one is, in my opinion, particularly bad:

This property's value entity must be in the relation to the item (or a subclass of the item) defined in the parameters.

Example violation: Douglas Adams has religion: atheism, but atheism is not an instance of religion, which the religion property demands.

All the important information you need to understand this message – that the relation is “instance of”, and that the class is ”religion” – is hidden in the parameters, which the user script doesn’t display at all!

We should include this information in the message (hyperlinked), and also split up this particular message into two, one for “instance of” and one for “subclass of”. Suggestion:

This property’s value (atheism) must be an instance of religion, Christian church, or religious denomination (or a subclass thereof).

Perhaps the list of classes needs to be truncated if it’s very long, but most of the time I hope we should be able to include it fully.

Jan also suggested including the property name in the message. Perhaps something like this?

The value for religion (here: atheism) must be an instance of…

An entirely different question is whether we want to assemble this message server-side or in the user script. The API already returns all the information required to assemble the message (constraint type and parameters), but currently the message is built on the server, which keeps the client very simple (it doesn’t have to retrieve labels or know about translations).

T102758 seems to be related to this, but it seems unclear if anyone still knows what to do with that task.

Change 351834 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Type and Value type

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

In a real-life discussion yesterday, there was the question if we can say something like "with father" (in which "father" would be a property) (@Lydia_Pintscher, @daniel)
The current form is grammatically not correct; other forms we briefly thought about would be longer and/or more technical.
@daniel suggested that "with" would be ok, if we indicate that we refer to father as name-of-something, e.g. formatted like father or »father«. One additional idea I had now would be putting it into a little "pill"? Like phabricator does with Issues? ( Example self link to this issue: T164354). That paradigm could be helpful in other places too where we need to distinguish a plain string from a-string-that-means-it-is-an-item/property/…-in-our-database

Thinking about this a bit more yesterday, it occurred to me that "...items using the father property" would perhaps be a good way to phrase this. The verb "using" sounds less awkward.

"father" could still be set italic, but it being linked is probably enough to mark it as a proper noun, as Jan noted yesterday.

Wait, that only covers the “Type” constraint, but not the “Value type” constraint. “The value for father should be…” is there a good way to phrase this with “using”?

Perhaps “the value of a father statement…”?

Edit: but then we have an a/an problem – “a ISBN statement” is wrong.

You can avoid a/an by using the (generic) plural:

“the values of father statements…” or "Values for the father property…”

Perhaps “the value of a father statement…”?

In that case, I think »with father« is as good and preferable if it does not cause who-do-we-construct-a-sentence problems.

Hm, I like the sound of using plural in both cases:

Entities using the father property should be instances of human, but whatever currently isn’t.
Values of father statements should be instances of human, but whatever currently isn’t.

There’s a nice separation between “all entities should have this” (plural) and “this entity doesn’t have this” (singular).

Change 351834 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Type and Value type

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

Change 353315 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Symmetric and Inverse

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

Here’s a full list of constraint types whose messages need improvements, in my opinion:

All of these messages refer or used to refer to the constraint parameters, which we don’t want to display anymore: everything you need to understand the problem should be part of the message itself.

Change 353536 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation message for One of

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

Change 353315 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Symmetric and Inverse

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

Change 353568 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Qualifiers and Mandatory qualifiers

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

Change 353569 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Conflicts with

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

Change 353852 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Item and Target required claim

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

Change 353536 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation message for One of

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

Note that users have always two ways of fixing the constraint violations but, generally, only one is correct. These two options are:

  • making the (indirectly) suggested changes, and
  • removing the statements that are causing the violations.

A new message could be added to the UI for each set of warnings that explains that the right actions might not be making the suggested changes but simply removing these wrong statements.

@abian: Thanks for the suggestion!

@Lucas_Werkmeister_WMDE: As far as I can see there are no messages suggesting concrete actions like making changes or improving a check – is that correct?

We may want to consider some options e.g.

  • putting this in a help text shown on demand (behind a ? icon or so)
  • Writing it behind/below the popup’s headline "potential issues"

I assume that giving feedback to improve the constraint or to remove it is not that easy, so I would opt for something you can call up instead of something that is always there.

I was thinking on a simple and short message like "Fix the following issues or remove this statement if appropriate" (probably not the best wording, just an idea).

  • Writing it behind/below the popup’s headline "potential issues"

This short message could be added here...

  • putting this in a help text shown on demand (behind a ? icon or so)

I assume that giving feedback to improve the constraint or to remove it is not that easy, so I would opt for something you can call up instead of something that is always there.

... and, behind a ?, something more explanatory (although I'm not sure what to explain).

Change 353569 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Conflicts with

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

Change 354011 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Range and Diff within range

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

Change 353852 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Item and Target required claim

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

Change 354011 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Range and Diff within range

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

Change 354198 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Minor improvements to constraint violation messages

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

Change 353568 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Improve violation messages for Qualifiers and Mandatory qualifiers

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

Change 354198 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Minor improvements to constraint violation messages

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

Change 354496 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseQualityConstraints@master] Remove detailHTML / parameters from user script

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

Change 354496 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Remove detailHTML / parameters from user script

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

@Lydia_Pintscher: I thought it is done (except if new messages have been created in the meantime)