Page MenuHomePhabricator

GSoC 2021 Proposal : Develop a UserScript/Gadget tutorial on MediaWiki.org similar to Wikipedia:The_Wikipedia Adventure
Closed, DeclinedPublic

Description

Profile Information

Name: Soumi Das
IRC nickname on Freenode: Soumi150
Web Profile: https://github.com/Soumi150
Email: dassoumi.2001@gmail.com
Location (country or state): Rourkela, India
Timezone: IST (Indian Standard Time) (UTC + 05.30)
Typical working hours:10 AM to 10 PM
On college days, I will remain unavailable for 1PM to 4 PM

Synopsis

User scripts are programs usually written in JavaScript that allow and enable modifying web pages. User scripts in Wikipedia enable users with an account to customize web pages and enhance their browsing experience. Users may also write new user scripts, starting with an existing user script and modifying it, or starting from scratch.
This project is about creating a Guided adventure tour to guide users and newbie developers with little knowledge of JavaScript on "How to create user script on Wikimedia Projects". There is extensive documentation about the same in MediaWiki spanning over multiple pages. This leads to confusion among users and sometimes they give up early. This project revolves around creating an interactive guided tour which will help reduce confusion amongst the users and make the onboarding process smoother and uniform as every user would go in the same flow.

Possible Mentor(s):

Have you contacted your mentors already? Yes

Deliverables

Describe the timeline of your work with deadlines and milestones, broken down week by week. Make sure to include time you are planning to allocate for investigation, coding, deploying, testing and documentation

  • Design and implement a story based guided tour about creating user scripts on Wikimedia projects.
  • Include mini-games within the tour to involve the users in an interactive way where they gain hands-on experience on writing user scripts.
  • Integrating all the missions.
  • Proper testing of the code using QUnit.
  • Documentation of the guided tour.

Deliverables of the missions:
MISSION 1:
Create a guided tour to give basic introduction to users regarding what are MediaWiki and user scripts, their applications and features. In this mission users will learn how to create a basic user script and how to see their user script in action.

MISSION 2:
Write code for guided tour steps to cover how to use Wikimedia's JS module through interactive steps. Include a walkthrough of the MediaWiki JS module. Design steps to guide users in writing complex user scripts with the use of methods, functions etc.

MISSION 3:
Guide the users on using MediaWiki API in their projects to query and fetch data to include in their projects. Introduction to basic etiquette and using the MediaWiki API sandbox, testing and sending requests with it.

MISSION 4:
Introduction to OOUI and how to use OOUI for the UI of the user scripts. How to add custom styles and modify the look of the OOUI library components, creating custom widgets etc.

Timeline

Community Bonding Period (May 17, 2021 - June 7, 2021):

  • Studying the existing features of MediaWiki in detail, their available documentation and use.
  • Studying the wikipedia adventure tour in detail.
  • Discussion on the design of the tour with mentors.
  • Discussion and planning with mentors regarding the narrative and game play of the tour.
  • Discussion on setting up a testing environment for the code using QUnit .
  • Framing the draft, creating mockups and planning milestones.

Coding Period (June 7, 2021 - August 16, 2021) :

PeriodWeek no.Task
June 7 -June 13Week 1Implementing the draft of mission 1 in code.
June 13 -June 19Week 2Improve the code, write unit tests and fix bugs.
June 19 -June 25Week 3Start working on the drafted script of Mission 2.
June 25 -July 1Week 4Improve the code, write unit tests and fix bugs.
July 1 -July 7Week 5Implement the drafted script of Mission 3 in code.
July 7 -July 12Week 6Improve the code, write unit tests and fix bugs.
July 12 -July 16Evaluation IPreparing for evaluation. Refactor, improve the code and fix any left out bugs.
July 17 -July 23Week 7Implement the drafted script of Mission 4 in code.
July 24 -July 31Week 8Improve the code, write unit tests and fix bugs.
August 1 – August 7Week 9Integrating all the missions and fix any left out bugs
August 8 – August 16Week 10Documenting the project on MediaWiki and improve the project based on feedback from mentors.
August 8 – August 16Final EvaluationCode cleaning and submission of code.

After August 23, 2021

  • Write a blog post regarding my journey and knowledge gained.
  • Keep contributing to WMF and stay involved with the community.

Participation

  • I will submit a bi-weekly progress report to my mentors.
  • Blog posts on completion of major milestones.
  • I’ll be creating a repository on GitHub with a master and a development branch. The code will be pushed to the development branch periodically and merged with the master branch after reviewing and testing.
  • I will also publish the source code on MediaWiki.
  • I will maintain a workboard on phabricator regarding progress of tasks.
  • I will regularly communicate with my mentors on Zulip and/or phabricator as and when required. I will use Zulip in case of doubts and queries.
  • Communication regarding tasks will be through commenting on subtasks to the project created on Phabricator.
  • I am always reachable via email.

About Me

My Education
I’m a sophomore at Institute of Technical Education and Research (ITER), Siksha 'O' Anusandhan University. I am in the fourth semester of my eight-semester program.

How did you hear about this program?
I came to know about this program through a FOSSASIA Blog post.

Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
I will have exams for a week in the month of July. I will plan my tasks accordingly. I will still try to give 35-40 hrs that week.

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 to Google Summer of Code 2021.

What does making this project happen mean to you?
I have been an avid user of Wikipedia since childhood. It has helped me tremendously in my studies and projects. I really admire and appreciate the vision of this organization in providing knowledge free of cost to everyone. WMF has a very large community and I want to be a part of it.
This project is a great opportunity for me to learn and grow as a coder. The most exciting part of this project is the ability to help newbie developers in the onboarding process to write user scripts as they won't find themselves lost in the vast documentation of mediawiki.

Past Experience

Describe any relevant projects that you've worked on previously and what knowledge you gained from working on them.

  • I have experience in working with HTML, CSS, JavaScript, JQuery , React, express, nodejs. I use mysql and mongodb for database.
  • I have built a clone of google keep using React.
  • Also I have created the frontend of few websites with HTML, CSS, Bootstrap and Javascript.

Describe any open source projects you have contributed to as a user and contributor (include links).

Microtasks carried out:

Event Timeline

GSoC application deadline has passed. If you have submitted a proposal on the GSoC program website, please visit https://phabricator.wikimedia.org/project/view/5104/ and then drag your own proposal from the "Backlog" to the "Proposals Submitted" column on the Phabricator workboard. You can continue making changes to this ticket on Phabricator and have discussions with mentors and community members about the project. But, remember that the decision will not be based on the work you did after but during and before the application period. Note: If you have not contacted your mentor(s) before the deadline and have not contributed a code patch before the application deadline, you are unfortunately not eligible. Thank you!

@Soumi150 We are sorry to say that we could not allocate a slot for you this time. Please do not consider the rejection to be an assessment of your proposal. We received over 100 quality applications, and we could only accept 10 students. We were not able to give all applicants a slot that would have deserved one, and these were some very tough decisions to make. Please know that you are still a valued member of our community and we by no means want to exclude you. Many students who we did not accept in 2020 have become Wikimedia maintainers, contractors and even GSoC students and mentors this year!

Your ideas and contributions to our projects are still welcome! As a next step, you could consider finishing up any pending pull requests or inform us that someone has to take them over. Here is the recommended place for you to get started as a newcomer: https://www.mediawiki.org/wiki/New_Developers.

If you would still be eligible for GSoC next year, we look forward to your participation!