Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide facets to locate rows which generate certain quality assurance issues in the Wikibase extension #5033

Closed
wetneb opened this issue Jul 7, 2022 · 2 comments · Fixed by #5042
Labels
facets Behaviour or rendering of facets in a project Module: Frontend These issues involve working on HTML, CSS, and JavaScript code that affects the user interface. Type: Feature Request Identifies requests for new features or enhancements. These involve proposing new improvements. wikibase Related to wikidata/wikibase integration

Comments

@wetneb
Copy link
Member

wetneb commented Jul 7, 2022

In the "Issues" tab, we report issues about Wikibase edits generated by the project grid and the schema. We give some examples of the values which generate the issues, but it would be much more convenient if users could simply get a facet which selects which rows generate each issue.

Not every issue can be tracked to a single row: for instance, the addition of two different identifier values on a given item is likely due to two different rows contributing those identifier values independently.

Proposed solution

For issues which can be tracked back to a single row (such as string formatting issues), add a button on the issue to create a facet which selects the rows generating that issue. I propose the following internal architecture:

  • the wikibase extension registers a new GREL function (for instance called wikibaseIssues()), whose task is to evaluate the schema on the current row, run scrutinizers on it, and return the list of issue identifiers that it generates
  • the quality issues which are "facetable" are declared as such, and when they are, the UI displays a button to create the corresponding facet (for instance defined by grel:wikibaseIssues().inArray('duplicate-whitespace'))

Alternatives considered

We could also try to extend this feature to issues which can be generated by multiple rows, but that is likely to require a more complicated architecture, so I would propose to leave that out first.

@wetneb wetneb added Type: Feature Request Identifies requests for new features or enhancements. These involve proposing new improvements. Module: Frontend These issues involve working on HTML, CSS, and JavaScript code that affects the user interface. facets Behaviour or rendering of facets in a project wikibase Related to wikidata/wikibase integration labels Jul 7, 2022
@ostephens
Copy link
Member

This feels like it could be a useful pattern in other circumstances where it makes sense to validate a row to a schema or otherwise do quality checks on a row.

Do you think there is any way in which this could be implemented in an extensible way that could potentially then be used by multiple extensions, rather than simply a set of custom GREL/Facets in the Wikibase extension?

@wetneb
Copy link
Member Author

wetneb commented Jul 7, 2022

Yes, I think we could go in that direction, but that would probably require first having a generic notion of quality assurance issues. This is something that would totally make sense and I thought we already had an issue about it, but I cannot find it at the moment.

wetneb added a commit to wetneb/OpenRefine that referenced this issue Jul 8, 2022
wetneb added a commit that referenced this issue Jul 19, 2022
…5042)

* Enable locating rows generating certain Wikibase issues with facets. Closes #5033.

* Add GREL function
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
facets Behaviour or rendering of facets in a project Module: Frontend These issues involve working on HTML, CSS, and JavaScript code that affects the user interface. Type: Feature Request Identifies requests for new features or enhancements. These involve proposing new improvements. wikibase Related to wikidata/wikibase integration
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants