The first stage of the App Editor Tasks feature requires two API endpoints which return the following:
- A random entity in Wikidata with a Wikipedia article but not a description in the requested language
- A random entity in Wikidata with a description in language A but not language B (where Wikipedia articles corresponding to the entity exist in both languages)
The DB queries required to derive candidates meeting these criteria are far too heavy to run on end-user demand, so we'll need to pregenerate and cache results somewhere.
=== Proposed solution
Add a new PageSuggester implementation to #mediawiki-extensions-gettingstarted to return Wikidata entities from pregenerated sets that meet the specified criteria. See proposed implementation details below in T206504#4859812. Originally it was proposed to store intermediary query data in Redis as is currently done for category-backed page suggestions, but after some discussion, we'll try using MySQL as the backend for this data in the first instance.