Page MenuHomePhabricator

Outreachy Round 18: Documentation improvements to the ~20 top 70 most viewed MediaWiki Action API pages on-wiki
Closed, ResolvedPublic

Description

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
  1. Two issues on Github around improving existing code samples:
IssueWork in progressDone
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
  1. 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)

@srishakatux @srodlund

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

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Hii @srishakatux ,
I have a few questions regarding contribution. Could you please help me with that?

  1. How to subscribe for a task to be able to edit the task description and work on the API?
  2. Am I supposed to change any code or I have to improve documentation of the API similar to the example template given?

Hi and welcome @Diksha11b,

  1. How to subscribe for a task to be able to edit the task description and work on the API?

General help on infrastructure tools like Phabricator is off-topic in this task - this task is about documentation improvements and not about using Phabricator. :) Please see the Phabricator Help and/or use Zulip for questions about Phabricator itself. Thanks!

  1. Am I supposed to change any code or I have to improve documentation of the API similar to the example template given?

This task is about documentation, not about changing code in the software. However, good documentation also offers tested code examples. :)

Kjpri removed a subscriber: Kjpri.
dave_oh updated the task description. (Show Details)

@SilkyPriya @Didicodes @supriyasupu
I request you to work on the two tasks already assigned to you.
It's explicitly mentioned not to take to take more than two tasks at one time. Please let others work on the issues as well.

@Nimbus20 Sure. I am done with previous assigned task hence I get myself assigned for new one. I know everyone should get fair chance so If anyone is new and wants to work on API:siteinfo, can take task.

@srishakatux please review my changes (currently in my sandbox) for the API siteInfo.

hi, seems all the tasks are taken, will there be more tasks for those who dont have any?

I could not assign any task to myself yet , Can I get any task so that I can contribute to the project?

Hey @Didicodes , I request you to work on any two task out of those tasks you have assigned to yourself so that I can start working on one of them as I can not find any task unassigned in the task description.

Hello, @Aashuli I would totally love to remove my name from a task so that you get an opportunity to work on something, but I have already made pull requests for all of them. Sorry!

@Aashuli on second thought, I will replace your name on the task for API: Pagepropnames. Enjoy working on it!

Hi @srishakatux I am an Outreachy applicant and I would love to contribute. Could you please assign a task to me to begin with?

Hey, Thank you for the reply @Aklapper. May I know if the micro tasks would be added soon, as I see all of them taken up by other aspirants

Olena23 updated the task description. (Show Details)

Hi, I am an Outreachy applicant and will like to contribute to this project. @srishakatux can i be assigned some tasks please.

Hi, I am Parul. I want to work on the Wikimedia project for the Outreachy program. Can anyone please tell me about the resources and from where to start contributing?

Hi everyone. I am an Outreachy applicant and I would love to contribute to this project. Miss @srishakatux can I be assigned some tasks, please. Or Can I work on microtask directly? Thank You.

@Jenniline @parul-priyedarshani @Nufina Welcome! To quote the project mentor:

 Thanks for your interest! At this point, the project you've mentioned has received a lot of interest and contributions from potential candidates already.

 I will encourage you to take a look at other projects we are promoting in Outreachy Round 18:
 https://www.mediawiki.org/wiki/Outreachy/Round_18

 Also, there is another project that we have not yet published on the Outreachy site but soon going to:
https://phabricator.wikimedia.org/T217699. You could get in touch with project mentors by commenting on the task in Phabricator.

@Nufina: Hi and welcome! See T215682#4987359 and T215682#5012936

@parul-priyedarshani: Hi and welcome! See T215682#4995668.

In general: Repeating the same questions again and again instead of first reading the answers above is not a good use of anybody's time...

Hello @srishakatux ,
@Abhism9450 mentioned earlier on Github that he was no longer applying for this project. I also noticed that @Nikitrain is already working on API:Allrevisions. Can I start working on API:Compare?

I would like to remind you all that the deadline for applying is in less than ten days :)

Wohooo! If you are still onboard and applying, I would encourage you to put in your proposal early. If you all could do that by Monday, then I might be able to give you feedback by Thursday (March 21st). I won't be available starting Friday (March 22nd) of next week until Monday (March 25th). I will be available on Tuesday (March 26th) but any last minute feedback will not be helpful for you.

So, if possible if you all could put in your applications by Monday that would be awesome. That way I will be able to do atleast one round of feedback for everybody.

Although this project is not eligible for Google Summer of Code, if you are eligible for the GSoC program, please indicate that in your application.

By now, I've provided feedback to everyone at least once on their pull requests. There are a few still open that needs some more work before I can merge them. Don't worry about that; I will continue to work with you on them until Thursday of next week.

Good luck working on the application process!

Initial feedback update: I've improved 9 pages in my sandbox, and seven of them have been merged to the main namespace. More detailed information available at https://www.mediawiki.org/wiki/User:Jeropbrenda#Project_Outcomes

Final update:

  • 22 pages improved (8 overview pages and 14 API module pages).
  • One demo app developed.

More detailed updates available at https://www.mediawiki.org/wiki/User:Jeropbrenda#Project_Outcomes

srishakatux awarded a token.

(thank you @jeropbrenda for all your work)