Wikimedia Apps/App Services

From mediawiki.org

Problems[edit]

  • Multiple round trips to retrieve data for a single view
    • concrete examples needed
  • Payloads are unnecessarily large due to unused fields in the response.
    • concrete examples needed
  • Lack of cache control data to remove/simplify client-side cache invalidation. [1]
  • All aggregation and transformation is done multiple times (once for each client).

MVP Scope[edit]

We decided that the scope of the service should be feature parity; the service should be a drop-in replacement for our current API calls. More concretely, this means it should give us:

  • Data from mobileview
    • Wikidata description
    • Revision ID of page
    • Wikibase ID
  • Image meta data for all images in the page
  • License
  • Description
  • Includes the URL for the high resolution version used for the lead image
  • Exclude unused HTML
    • Navboxes, etc.
  • Exclude hidden elements
    • CSS: display: none; unless if we display later
  • Related articles suggestions from full text search API

Beyond MVP[edit]

Things which we want to add, but are out of scope for the first iteration:

  • Arbitrary Wikidata properties
  • Disambiguation (already "transcluded", following the chain of disambiguation pages and returning a JSON array of those links)
  • Page issues
  • Interwiki links
  • Table of contents (as a JSON array)

Open questions[edit]

  • Versioning? What if we add or remove a field from the response? We should version this. Can we do this easily?