Page MenuHomePhabricator

Revise Citoid error message to be more specific
Open, Needs TriagePublic

Description

T362379 outlines an issue that is preventing people from being able to generate citations for sources from several major U.S. news websites.

This task involves the work of revising the error message people seein these cases so they are not left wondering what is preventing them from doing what they're attempting to do.

Note: we are still identifying solutions that could restore the functionality T362379 is leaving people without.

Open questions

  • 1. What are the range ways Citoid can fail?
    1. JavaScript loaded pages: metadata cannot be retrieved because JS is used to load the metadata and Zotero (which Citoid uses underneath) cannot interpret JS.
    2. Wrong media type (.pdf, .mov): Zotero cannot parse the content and identify the metadata.
    3. GDPR Pages: There is a human-oriented interface to accept cookies which Zotero cannot navigate.
    4. Paywalls with no metadata: Citoid is not able to access the metadata someone is requesting because the page is hosted behind a paywall
    5. IP Blocked: the publisher/entity hosting the content for which someone is seeking metadata has blocked the IP address from which Citoid is making a request
  • 2. What – if any – information does the Citoid API currently offer about why a request is failing?

Requirements

Failure stateCurrent copyDesired copyStatus
Publisher is blocking Citoid API requestWe couldn't make a citation for you. You can create one manually by using the "Manual" tab above.:
image.png (318×458 px, 94 KB)
TBD
Unsupported media type (.pdf, .mov)
TBD see "Open questions" above...

  • I think we need to strike a balance between a message that A) causes people to become clear about the error to the extent that they do not invest additional effort trying something that will not resolve the issue and B) does not harm the publishers themselves

Event Timeline

Can we create a link to the "Manual tab"? If so the message should invite users to fill a template.

ppelberg updated the task description. (Show Details)

(I'm assigning this task over to @Mvolz to document answers to the newly-added ===Open questions in the task description.)

ppelberg updated the task description. (Show Details)
ppelberg updated the task description. (Show Details)

Change #1031870 had a related patch set uploaded (by Mvolz; author: Mvolz):

[mediawiki/services/citoid@master] [WIP] Return 415 HTTP errors for failed pdf cites

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

Change #1031870 merged by Mvolz:

[mediawiki/services/citoid@master] Return 415 HTTP errors for 400 Zotero cites

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

ppelberg updated the task description. (Show Details)

Can we create a link to the "Manual tab"? If so the message should invite users to fill a template.

This has now been done by @Esanders

We also can do T369547, However in terms of returning the specific content type, there are some issues related to restbase returning hyperswitch errors that either requires changes to restbase or updating to api gateway, so should probably switch to gateway before we make those errors more specific.

Other than that, I don't think we can give any more specific errors. Websites give us a host of errors that can mean a variety of things.

One possible thing is we could also return a specific message for different requests types. For instance, if citoid returns "isbn not found", ask them to try a url instead, and if a url doesn't work, ask them to try a doi, for instance.