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 the 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 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 :-) Our Outreachy intern @Martyav put in a lot of good work in this and improved the next ~20 pages and brought this project in good shape!
The goal of this project is to improve documentation of ~20 top 70 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 one or two demo apps around the use of Action APIs.
Skills required
Wiki editing, Templates, creating and managing translatable pages, Wikimedia Phabricator tool, basic Python 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
- Two issues on Github around improving existing code samples:
Issue | Work in progress | Done |
Build the UI for account creation form via Authmanagerinfo module. View issue on Github. | @shruthishridhar | |
Add an example to demonstrate the use of API:Links module to identify red links on a page. View issue on Github. | @Didicodes, @supriyasupu | @jeropbrenda |
- Pick an API page to work on and add your Phabricator username next to it in the relevant column:
Getting started instructions for third microtask
- Set up Git on your computer and a Github account if you don’t already have one. Learn how to use both.
- Set up a MediaWiki account if you don’t already have one.
- Read the project description thoroughly and the MediaWiki Action API too.
- Pick an action page from the table above that you would like to review and improve. Add your name next to the project in the “Work in progress” column. You will need to be logged into Phabricator and subscribed to the task and only then you will be able to edit the task description
- Create a page in your Sandbox (https://www.mediawiki.org/wiki/User:your_username/Sandbox/API:pagename) and do not make edits directly to the API pages.
- Fill it with the template content which is in here: https://www.mediawiki.org/wiki/API:Documentation_template (copy and paste). We encourage you to stick to the template if for some reason you feel the urge to add or remove any section, discuss with your mentors.
- For your reference, read a couple recent API pages that we modified using the new template: API:Geosearch, API:Parsing_wikitext
- Contribute sample code for the API page to this repository: https://github.com/wikimedia/MediaWiki-Action-API-Code-Samples. Please read the contribution guidelines before starting to work on a topic.
- When you are done, ping @srishakatux on Zulip and get some feedback on your work.
- Incorporate feedback. Once you get a green signal, coordinate with mentors in getting your changes integrated with the actual page on MediaWiki.org.
- Finally, add your name next to the project in the “Done” column in the table above.
Mentor(s)
Get in touch with mentors
Ask a question in the topic Phab:T215682 API documentation improvements under https://wikimedia.zulipchat.com/#narrow/stream/180873-gsoc19-outreachy18
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