Page MenuHomePhabricator

GSoC 2019 Proposal: Develop code samples in Javascript and PHP for MediaWiki Action API Modules
Closed, DeclinedPublic

Description

Profile Information

Name: Wisdom Anthony
Email: wisdomanthoni@gmail.com
Github: https://github.com/wisdomanthoni
Blog: https://medium.com/wisdomanthoni
Resume: http://bit.ly/wisdomanthoni-resume
Location: Uyo, Nigeria
Time Zone: (UTC + 01:00) West Central Africa
Typical working hours: 10 AM - 5 PM (UTC + 01:00) West Central Africa

Synopsis

After a survey on MediaWiki Action API technical documentation, contributors requested for the provision of more sample codes in more programming languages preferably Javascript and PHP.
This project aims to create a tabbed window, which can be embedded on API pages with the following objectives.

  • To showcase more code samples demonstrating the use of MediaWiki Action API modules.
  • To ease navigation viewing code samples provided
  • To improve MediaWiki Action API documentation

Possible Mentor(s)
Srishti Sethi (@srishakatux) and Sarah Rodlund(@srodlund)
Have you contacted your mentors already?
Yes, I have contacted just one of my mentor @srishakatux.

Timeline

PeriodTask
May 6 to May 27Community bonding period Learn more about creating and editing Templates including advanced types. Studying existing Templates used on the API modules documentation pages. Study the MediaWiki API documentation that received improvements in Phase 1 and 2. Write the PHP script to generate the sample code through the modules.json in a PHP folder. Finalize proposal on demo app around the use of MediaWiki Action API
May 27 to June 1Generate PHP code samples for modules that received documentation improvements in Phase 1
June 2 to June 8Generate PHP code samples for modules that received documentation improvements in Phase 2
June 9 to June 15Generate JavaScript code samples for modules that received documentation improvements in Phase 1
June 16 to June 23Generate JavaScript code samples for modules that received documentation improvements in Phase 2
June 24 to June 28Phase I evaluation
June 29 to July 6Designing the basic UI for the Tab window. Study the Template and Gadget documentation to decide what way suits the best for embedding a tab window on the API module pages.
July 7 to July 13Design a template or Implement a gadget or use Tab extension for the embedded tabbed window.
July 14 to July 21Receive feedback and do changes if necessary. Show an example of the tabbed window on the API documentation template
July 22 to July 26Phase II evaluation
July 27 to August 112 weeks - Document the code samples on-wiki for Phase 1 and Phase 2. This section will have a tabbed window to display code snippets in languages like Python, PHP and JavaScript and it result response for the specific module.
August 12 to August 18Work on the proposed demo app
August 19 to August 25Share the documentation for review by mentors. Conclude, review, organize, and document any necessary changes.
August 26 to September 2Mentors submit final student evaluations.
September 3Final results of Google Summer of Code 2019 announced

Deliverables

  • Design and Implementation of an embeddable tab window on API pages.
  • Writing a code generator to output PHP files ( possibly by creating an autogenerator.php file).
  • Writing JavaScript code samples for API modules.
  • Writing PHP code samples for API modules.
  • Update API documentation template showing how to embed the code samples of an API module
  • Documentation of code samples for API modules.
  • Biweekly blog posts about the internship on my blog.

Participation

  • Communication with my mentors will be done via Zulip during working hours.
  • During non-working hours, Gmail is used for communication when needed
  • GitHub will be used to publish and maintain my sample codes for API modules.
  • Phabricator will be used for effective task management and issue tracking.

About Me

Education
I am an undergraduate student, pursuing a degree in Bachelor of Engineering in Mechanical and Aerospace Engineering from the University of Uyo, Akwa Ibom, Nigeria. I am in the 4th year of my program. I am an active and one of the founding member of my institute’s Developer Student Community.

We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?
I am only applying for Google Summer of Code with Wikimedia Foundation, although I am eligible for both Outreachy and GSoC.

How did you hear about this program?
I first heard about the GSoC program from a student friend who is a former GSoC participant, and he encouraged I should apply for this GSoC 2019.

Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?

  • My Current semester ends in the month of May
  • I also help organise local meetups in my school community

What does making this project happen to mean to you?
Good documentation is an invaluable resource for your users, as this will go a long way to help contributors integrate things quickly and efficiently. I got particularly interested in this project, as it tends to achieve the improvement of the MediaWiki API documentation experience. I have a keen interest in open source activities, although just getting started, I have contributed to a few projects and also created a library by myself. I am part of the Open Source Community Africa.
As a young enthusiast of development, this is a perfect match for my personal and professional interests and an exciting opportunity to push to the boundaries of development, as this would be a great way to get exposure on real-world applications and interacting with the open source community. I would love to leverage my knowledge of coding and research to achieve good results with this organization.

Past Experience

  • I have gained experience with writing PHP code samples for Hotels.ng API documentation , during participation as an intern.
  • Built a GitHub ranking app to show programming languages and top developers using them in my city. Visit app here and check source on GitHub
  • I developed an event web app for the 2018 edition of the Google DevFest event in South-South Nigeria ( See website here)
  • I helped in reviewing and editing documentation for a simple web python framework called Bast (Open Source)
  • Early this year, I built an open source library for a payment gateway using PHP and provided code samples on the documentation. Check source on GitHub.

Micro Tasks Completed

  • Started working on a draft for my demo app proposal around the use of MediaWiki Action API. ( Task 1)
  • Wrote JavaScript Code Sample Equivalent for edit.py as edit.js (Task 2)
  • Wrote JavaScript Code Sample Equivalent for get_my_watchlist_feed.py as get_my_watchlist_feed.js (Task 2)

Event Timeline

Wisdomanthoni updated the task description. (Show Details)
Wisdomanthoni updated the task description. (Show Details)
Wisdomanthoni updated the task description. (Show Details)

@Wisdomanthoni Looks great! Only thing that your proposal is missing right now is a brief overview of demo app. It is okay if you don't have a clear idea on what you would like to develop, just make sure you include demo app in the timeline. When you are done making the changes, move your proposal to the submitted column on Google-Summer-of-Code (2019) board. Also, remember to upload it on the program website before the deadline.

(look for next steps in the email you'll receive shortly with an option to request for a debrief on why your proposal was not accepted)