Brief summary
The MediaWiki action API is a web service that allows access to some wiki-features like authentication, page operations, and search. It can provide meta information about the wiki and the logged-in user. Several Wikimedia projects make use of this API.
As of now, there are 128 pages on the Action API on MediaWiki.org. Developer-Advocacy did a little research on the state of the docs and documented a few problems and recommendations for next steps. One of the issues we decided to address was inconsistency. For example, some pages had the automated API docs embedded; some didn’t, some pages had code samples, some didn’t, etc.
As a first step, we designed a documentation template and used it to re-write the top 20 viewed pages of the API. But, we realized we could not improve 128 pages all by ourselves, and opened it to new Wikimedia contributors for help :-) The next 60 pages were improved in the last two Outreachy rounds.
The goal of this project is to improve documentation of ~20 top 100 most viewed MediaWiki Action API pages on-wiki using the documentation template.
(OPTIONAL) If there is more time, then the next part of the project could be developing a bot that mass edits sample code from this repository to the API namespace on MediaWiki.org and vice-versa, as explained in https://github.com/wikimedia/mediawiki-api-demos/issues/172.
Skills required
- Wiki editing, Templates, creating and managing translatable pages.
- Wikimedia Phabricator tool.
- Basic Python, PHP and JavaScript programming.
Note: some or all of these skills would be nice to have but not required. Come with a desire to learn and that be all!
Code repository
https://github.com/wikimedia/MediaWiki-Action-API-Code-Samples
Microtasks
Microtask 1: Pick a MediaWiki Action API page to review and improve
Pick an API page to work on and add your Phabricator username next to it in the relevant column
API page | Work in progress | Done |
API:Siteinfo | Linda-Ikechukwu4 | Zaycodes |
API:Iwbacklinks | Samuel Ndu | Zaycodes |
API:Pagewithprop | Priscila Vilemen | |
API:Mergehistory | Zaycodes | |
API:Revisiondelete | TawandaMoyo | Zaycodes |
API:Expandtemplates | Supriya (pineappled_sun) | Zaycodes |
API:ClearHasMsg | Barbontempo | Zaycodes |
API:Compare | Lucideuclid | Zaycodes |
API:Contributors | AwahNadege | |
API:Tag | Sabin10 | Zaycodes |
API:Validatepassword | Evigian | Zaycodes |
API:Duplicatefiles | Maryey | Zaycodes |
API:Filerepoinfo | Fareena Fatima | Zaycodes |
API:Deletedrevisions | Vanesa Perea | Zaycodes |
API:Alldeletedrevisions | Dikshagupta99 | |
API:Setnotificationtimestamp | Larissa Sales | Zaycodes |
API:Stashedit | Zaycodes | |
API:Managetags | Ruba | |
API:Filerevert | VickieCMitchell | Zaycodes |
API:Checktoken | Ola Efimova | Zaycodes |
API:Linkaccount | Yamakat | |
API:Filearchive | Liz Kariuki | Zaycodes |
API:Rsd | AwahNadege | |
Getting started instructions
Microtask 2
Task | Work in progress | Done | |
T235395: Document how to get the current contents of a page via the MediaWiki API | Dikshagupta99 | ||
Microtask 3
Task | Work in progress | Done |
Link to mediawikijs code samples from mediawikijs/README.md | Zaycodes | |
Note: Any documentation or API-related task you work on qualifies as a valid contribution too.
Please see:
- https://phabricator.wikimedia.org/project/view/987/ for documentation-related tasks.
- https://phabricator.wikimedia.org/tag/mediawiki-api/ for API-related tasks.
Mentor(s)
Get in touch with mentors
Ask a question in the topic Phab:T232816 API documentation improvements under https://wikimedia.zulipchat.com/#narrow/stream/208145-outreachy19
Resources
- How to use or write Templates https://www.mediawiki.org/wiki/Help:Templates
- Page translation https://www.mediawiki.org/wiki/Help:Extension:Translate/Page_translation_example
- Editing wiki pages https://www.mediawiki.org/wiki/Help:Editing
- Learn how to use Phabricator https://www.mediawiki.org/wiki/Phabricator/Help
Note: Please do not claim this task or set the "Assignee" field as several people are expected to work on it.