T337431 introduced a machine-readable list of domains (MediaWiki:BlockedExternalDomains.json) projects block from being added to a page.
This task involves the work of making said "machine-readable list of domains" accessible via API so that editing interfaces can do things like provide feedback about how reliable projects are to consider the source someone is attempting to add (e.g. T276857).
Story
As a [staff [i] or volunteer [ii]] developer motivated to improve the quality of edits people publish using MediaWiki editing interfaces, I'd value being able to offer people who are editing feedback about how reliable experienced volunteers are going to consider the source(s) they're adding, so that the people publishing said edits can decide whether they'd like to make adjustments to he source(s) they're planning to reference.
Requirements
- An editing interface needs to send a URL to said API
- Said API needs to return, to start, whether the URL it's been "passed":
- Has been blocked by volunteers at the project in question
Has any notes/comments associated with it that will be presented to people within Citoid (T347531). See T347531#9318193 for why this requirement as been removed.
- The API "architecture" needs to support a future wherein a source can prompt a range of feedback messages to be presented within editing interfaces:
- Block
- Warn:
- Inform
- Reward
- The API will need to "call" / check against both MediaWiki:Spam-blacklist and MediaWiki:BlockedExternalDomains.json. See T347531#9318193.
Proposed API
In terms of how we present the proposal in a way other people can easily engage with/evaluate, maybe we can draw inspiration from what @Catrope did in T349423.
Open questions
- 1. What source list(s) (e.g. MediaWiki:BlockedExternalDomains.json, MediaWiki:Spam-blacklist, etc.) will the API initially support?
- The initial patch checks only MediaWiki:BlockedExternalDomains.json. Investigation of passing domains to MediaWiki:Spam-blacklist is underway.
- 2. What – if anything – limits our ability to expand the "source lists" "1." refers to over time?
- 3. To what extent – if any – should the API specify what call(s) to action an editing interface ought to present based on the reliability of the source it's been "passed"?
- 4. Is a distinct "field" needed within the API to hold the messages volunteers would like people to be shown within Citoid (via T347531) when attempting to cite a given source?
i. E.g. Members of the Editing and Community Tech Teams
ii. E.g. volunteers working on reference reliability scripts and gadgets: @suffusion_of_yellow (wikilint.js), @Headbomb (User:Headbomb/unreliable), @Novem_Linguae (CiteHighlighter.js), @SuperHamster (CiteUnseen.js), @Mathglot (T327330#8607428)