Page MenuHomePhabricator

Outreachy 19 Proposal: Documentation improvements to the ~20 top 100 most viewed MediaWiki Action API pages on-wiki
Closed, DuplicatePublic

Description

Profile

Name : Diksha Gupta
Email : guptadiksha534@gmail.com
IRC nick : diksha
Github : https://github.com/guptadiksha307
Location : New Delhi, India
Time zone : UTC +5:30
Typical Working hours : 4:00 pm to 3:00 am (UTC +5:30)

Synopsis

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.
The project aims to improve the documentation of ~20 top 100 most viewed MediaWiki Action API pages on-wiki by:

  • Re-writing it to follow this template template
  • Adding code samples to demonstrate the use of the API modules.
  • Developing a demo app based on some of the modules and creating a tutorial to explain its implementation.

Mentors: Brenda Jerop @jeropbrenda

Experience + Contribution made for the project

The Wikimedia Foundation empowers and engages people around the world to develop educational content in the public domain, and to spread it effectively and globally.
As an Outreachy applicant, I have been active on Phabricator and I started working and interacting with Wikimedia developers from 1st October 2019. The positive responses from them helped me to know that it would be easy to be a part of this team and contribute to the best of my potential and learn more.
I found the Wikimedia's project- Documentation improvements to the ~20 top 100 most viewed MediaWiki Action API pages on-wiki really interesting. The goal of this project was to improve documentation of ~20 top 100 most viewed MediaWiki Action API pages on-wiki using the Documentation template. For this project, it was important for me to have basic knowledge of javascript, python and PHP programming languages and be familiar with tools like Github and Phabricator. We were provided some minor tasks. While working on my initial contributions, I communicated with mentors of this project on Zulip, asked for help and suggestions. Because of their guidance and support I was able to contribute to this project.

  • https://phabricator.wikimedia.org/T235395 - The task was to design a high-level documentation page that describes the various options available for retrieving page content via the API, with examples, and either link off to more specific documentation or transcludes such documentation within the page. https://www.mediawiki.org/wiki/API:Get_the_contents_of_a_page - This is the page which I created in the API namespace that describes all the ways through which we can get the retrieved content of a page via MediaAction APIs. This task helped me to learn about most of the MediaWiki Action APIs and their working. The page is being reviewed by the mentor.

Timeline

5th November - 25th November

26th November - 3rd December

Week 1(3rd December- 10th December)

  • Create a list of top 50-60 unimproved pages and group similar pages together using Massviews Analysis
  • Continue working on the project – Improve documentation of API's "dir" parameter.

Week 2(11th December- 18th December)

  • Improve the documentation of another 3 API pages and submit the pull request for their sample codes.
  • Set up the installation of some extensions and try to improve their documentation.
  • Submit a patch for the project

Week 3(19th December- 26th December)

Week 4( 27th December-2nd January)

  • Improve the documentation of another 3 API pages and submit the pull request for their sample codes.
  • Submit patch for review for task2.

Week5( 3rd January-10th January)

  • Improve the documentation of another 3 API pages and submit the pull request for their sample codes.
  • Start working on Overview pages.

Week6+week7( 11th January- 25th January)

  • Improve the documentation of another 5-6 API pages and submit the pull request for their sample codes.
  • Improve MediawikiJS programming language skills.
  • Finalize an Overview page.

Week 7 + week 8(26th January-9th February)

Week 9(10th February- 17th February)

  • Start working on demo apps and Create a draft for the tutorial of the demo app.

Week 10(18th February- 25th February)

  • Complete work on tutorial of demo apps and sent them for review.

Week 11(25th February-3rd March)

  • Add the tutorial to the main namespace
  • Finalize, review, organize, and document any necessary changes.

Other deliverables during the internship

  • Blog posts on my progress every week.
  • Blog posts on my experience with Wikimedia Foundation (WMF) and about my ongoing projects at least once every two weeks.
  • Regular communication with my mentors and other community members.

Participation

  • I will use Phabricator for managing bugs and subtasks.
  • I will be available in Gmail to be contacted when needed in the non-working hours.
  • I will work on a separate branch on git and upload code to the forked repo almost on a daily basis. I will create pull requests as and when a complete feature is done.
  • I will communicate with my mentors and ask for help on the project's communication channel - Phab:T2323816 API documentation improvements on zulip.

About me

I graduated from Delhi Technological University, New Delhi, India this year only with a degree in Bachelor of Technology in Electronics and Communication Engineering. I am a patient learner and have huge interest in Data Science. In my College days, I have participated in many Techweeks and Techfests. As an IEEE society member, I used to teach Web Development to my college and other college students as well. To me dedication to one's work is the primary ingredient of satisfaction.
This is the first time that I have got an opportunity to contribute to the free and open-source software through Outreachy. Earlier I have interacted with many open source developers and participated in many open source events too like HacktoberFest. I started working on Github and git because GitHub is the most popular platform for open source collaboration. since I have made some contributions to the Wikimedia projects, now I know how to contribute to the open source and looking forward to contributing to projects by submitting issues and contributing code.

Past experience

I'm a Data scientist. I have experience in working with C++, Python, HTML, CSS and Machine Learning among others. Among databases I have mostly worked on mysql. Among OS I mostly use Windows10 but I like working in Ubuntu as well.

Relevant Projects

  • https://github.com/guptadiksha307/python_project- Here are some of the Python projects which I have worked on. These projects require basic knowledge of APIs, Javascript, JQuery, HTML and CSS. In the project- The distance between two cities, I have created a professional app for calculating traveling distances between cities using Google Maps API. Through this app, I tried to calculate the driving distance and the duration and showed this on the map.
  • I have also built a Web Scraper that scrapes the information about books from the following website - http://books.toscrape.com/ and added the retrieved data in a CSV file. Through this project, I learned how to get responses through an API in JSON format.
  • https://github.com/guptadiksha307/Original-Flappy-bird-JavaScript- In this project I have created an original flappy bird game with Javascript code.

How did I learn about Outreachy?
I heard about Outreachy from one of my colleagues. She was the mentor of Outreachy round 14. Later I came in contact with many open source enthusiasts and also had interactions with a few past interns of Outreachy. As an Outreachy applicant, I'm glad to be a part of Wikimedia community. I think contributing to wikimedia will impact the world in a very positive manner. Outreachy program is a wonderful initiative and I will be obliged to be a part of this program through Wikimedia.

Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
I will be free from all other commitments from 3rd December 2019 to 2nd February 2020. From 2nd February onwards I will start preparing for my entrance examinations which will take at max 3-4 hours a day, an average of 24 hours a week.

Event Timeline

Restricted Application added subscribers: MusikAnimal, Aklapper. · View Herald TranscriptNov 3 2019, 8:31 AM
Dikshagupta99 updated the task description. (Show Details)Nov 3 2019, 8:33 AM
Dikshagupta99 updated the task description. (Show Details)Nov 3 2019, 8:37 AM
Dikshagupta99 updated the task description. (Show Details)Nov 3 2019, 8:51 AM
Dikshagupta99 updated the task description. (Show Details)
Dikshagupta99 updated the task description. (Show Details)Nov 4 2019, 2:05 PM

@Dikshagupta99 Your proposal looks great!. A few comments and questions:

  • You have mentioned that you plan to start learning MediaWikiJS on week 5. I think it'll be more practical to learn it earlier since we'll need MediawikiJS code samples as well.
  • Still on week 5, I do not understand what you mean by Start looking for API modules through which we can create a new API module which can be useful for users. Could you explain further?
  • Please mention in the task title that this is a proposal. You could use something like: "Outreachy 19 Proposal: Document..."

Whenever you are ready, you can submit your proposal on the Outreachy site and move it to the "Proposals Submitted" column on the Outreachy (Round 19) workboard in Phabricator. :)

Dikshagupta99 renamed this task from Documentation improvements to the ~20 top 100 most viewed MediaWiki Action API pages on-wiki to Outreachy 19 Proposal: Documentation improvements to the ~20 top 100 most viewed MediaWiki Action API pages on-wiki.Nov 4 2019, 7:29 PM
Dikshagupta99 updated the task description. (Show Details)
Dikshagupta99 added a comment.EditedNov 4 2019, 7:38 PM

@jeropbrenda By this line "Start looking for API modules through which we can create a new API module which can be useful for users", I meant to say that, like I created a new external API: Get the contents of a page using other APIs that is beneficial for a user interface, I will look for more such API modules which can be beneficial for the users. Can you please tell me the appropriate sentence that I can write to express my point of view.

jeropbrenda added a comment.EditedNov 5 2019, 2:51 AM

@Dikshagupta99 API:Get_contents_of_a_page is not really an API module, but it's an overview page that gives information about several API modules. :)

@Dikshagupta99 One thing I forgot to mention: please answer the question about your time commitments during the internship period :)

Dikshagupta99 updated the task description. (Show Details)Nov 5 2019, 3:35 AM

@jeropbrenda I have answered that question also. Thank you.

Dikshagupta99 updated the task description. (Show Details)Nov 5 2019, 1:38 PM
Dikshagupta99 updated the task description. (Show Details)

Thanks for creating a proposal! As we are past the deadline, if you would like us to consider your proposal for review, please move it to the submitted column. Thank you!

Dikshagupta99 added a comment.EditedNov 6 2019, 1:14 AM

@srishakatux I guess I have already submitted my proposal, right?

@srishakatux Can I close this task?

@Dikshagupta99: For future reference, you can merge tasks via Edit Related Tasks...Close As Duplicate in the upper right corner.