Reading/Mobile needs from MediaWiki API
This page documents mobile web and app needs from MediaWiki APIs, mostly the action API.
Phabricator tasks
edit- T96956: AbuseFilter should not let users specify arbitrary error codes which are then emitted over the API
- T95378: Add support to PageImages for finding a freely licensed page image
- T95072: API blocked error should give details - blocker, target (IP, range, user), expiry, reason, etc.
- T88083: Mobile apps users should not be shown captchas when creating accounts
- T30085: Allow user login with email address in addition to username
- T87824: Create specialised content API for mobile apps
- T32788: Allow triggering of user password reset email via the API
- T87336: PageImages shouldn't return images that are not in the lead section
- T76103: Createaccount API should support username validation without having to try to create an account
- T74387: "createaccount" action failure should return the name of the extension that caused it to fail.
T87807 - RESTBase Mobile App User Story
T87824 - Create specialised content API for mobile apps
T98145 - [EPIC] Lead images to stable
- T98146 - Create an API to get the lead image for an article
- T98147 - Create an API to get and set cropping information for the lead image of an article
Migrate api.php requests to use improved formatversion=2
Email threads
edit- https://lists.wikimedia.org/pipermail/wikitech-l/2015-April/081559.html
- mobile-tech: "image cropping in Gather"
Other
edit- Pending investigation: JSON serialization bugs (empty objects as arrays)
- Meeting minutes from meeting about mobile-specific content service
- FIXMEs in MobileFrontend
- API versioning policy for the REST API
Principles
edit- please review
If existing MediaWiki web APIs aren't ideal for mobile, they're probably not ideal for other clients, so improve them. versioning issues?
Underlying APIs should be reusable between desktop and apps.
If you're aggregating api.php requests or need caching, build in RESTbase like https://github.com/wikimedia/mediawiki-services-mobileapps
If you want to store information about a page, e.g. best lead image and its dimensions, you have a choice:
- using RESTBase, which is currently focusing on storing information about pages and revisions, or
- store in the wiki DB as page props or new tables
The longer term strategy in this space is evolving currently, so please let us know about your short and long-term needs.