Page MenuHomePhabricator

GSoC 2021 Proposal: Develop a UserScript/Gadget tutorial on MediaWiki.org similar to Wikipedia:The_Wikipedia_Adventure
Closed, InvalidPublic

Description

Name: Sachin
IRC nickname on Freenode: Sachin Thakan
Location (country or state): Haryana, India
Time Zone: (UTC+5.30)
Typical working hours: 8 AM - 9 PM

Synopsis

Project Idea - idea

  • User scripts are javascript programs written by users which can add additional features to the page user using or editing on Wikimedia.
  • Aim here is to create a Guided Tour very similar to The_Wikipedia_Adventure
  • MediaWiki provides Mediawiki's JS modules, Mediawiki's API's, OOUI that allows high customization of the wiki pages.
    • Mission 1: Basic Intro to deploying user scripts
    • Mission 2: Writing user scripts using MediaWiki's JS module
    • Mission 3: Writing user scripts using MediaWiki API
    • Mission 4: Writing user scripts using OOUI (Optional)

Deliverables

Following are the main parts of each mission:

  1. Basic Intro to the user script
    • This will involve a demonstration of the manipulations of the page we can do using scripts.
    • Showing the right path to make changes (like changes in common.js)
    • Examples of some interesting user scripts like finding read time for a page, changing background color with a single click, etc.
  2. Using JS modules available in MediaWiki in our scripts
    • Demonstration of the main JS modules like mw.config, mw.hook, and mw.html and changes associated with them
  3. Using MediaWiki API
  4. Using OOUI modules along with available gadgets

TimeLine

Community Bonding Period

DateTasks
May 17 - May 24, 2021I will utilize this period to improve my command of JavaScript and JQuery. Also, I will understand more about the JS Modules on MediaWiki, API's and OOUI Module and their application related to my project
May 25 - June 7, 2021Here I will learn about testing of the patches and tools used to do the same, also I will interact a lot with my mentors and my other students in the community and will try to learn a lot from them

Coding Period

June 7 - June 16, 2021Work on Basic Intro design, which will include making a basic prototype introducing the user to User-Script. The task will be to code the template for that basic design, messages, and CSS for the same
June 17 - June 25, 2021This week we will debug some code from last week and will work on JS module intro to the user and use cases for the same
June 26 - July 2, 2021This week we will collect work from the last two weeks, document it properly, test thoroughly, debug that work and will start implementing 3rd mission
July 3 - July 12, 2021This week will go into the design and coding of the third mission and its documentation and testing
July 13 - July 16, 2021First Evaluation: will take a lot of feedback from my mentor and will try to improve on any aspect if found lagging
July 17 - July 27, 2021This week, demonstration for OOUI modules along with useful Widgets will be coded
July 27- August 7, 2021This week will again be a summary week with documentation of earlier work and debugging for the same
August 8 - August 15, 2021Will try to assemble all the four mission well, and do a lot of testing
August 16 - August 23, 2021Final Documentation and testing
August 24 - August 31, 2021Final Evaluation
August 31 - 2021Results

Participation

  • I will be available anytime through Zulip during working hours
  • I will be available through the mail during off-work hours
  • I will keep track of my progress through my personal Journal

Time Commitment

  • During Phase 1 -I will be able to devote as high as 50 hours per week.
  • August 1 onwards - due to university classes will be able to devote 30-35 hours per week (That's why I am covering only the 4th mission in the second phase)

About Me

  • I am A 3rd year UG student at IIT Kanpur
  • I have been studying Aerospace Engineering along with a deep interest in Competitive programming and Web-app development
  • I came to know about the open-source in my second year from my friends and seniors, subsequently about the GSoC and other open-source programs

What does making this project happen to mean to you?

  • This is my first major involvement in open-source and it means a lot to me since it will set me for a further long journey in open-source development. Apart from that, I am always excited about doing something that may impact a lot of people around me, and I consider WikiMedia as the best platform for such a deed.

Past Experience

    • Proficient in C/C++, Python, Matlab and familiar with HTML, CSS, JS, Node.js, Express.js
    • Project 1. Web Application Development and Deployment on cloud server
      • Created an API based web application using HTML, CSS, Node.js, Express and deployed it on AWS EC2 server
      • Learned technologies including Cache management, Elastic IP load balancer, Virtual Hosting through Apache2, DNS configuration
      • Link
    • Project 2. Connect-4 game using Minimax Search algorithms and Monte-Carlo Simulation
      • Implemented Minimax Algorithm on Connect 4 game to make an intelligent move against a human player
      • Designed Monte-Carlo Simulation as a competitor to Minimax Algorithm to demonstrate its limits without pruning
      • Skills learned/implemented: Python, Minimax Search Algorithm, Monte-Carlo Simulations
      • Link
  • You must have written a feature or bugfix for a Wikimedia project during the application phase (see the section about microtasks in the application process steps), please link to it here. We give strong preference to candidates who have done so. Yes, I have worked on Microtasks available under this project,
    1. Microtask 1
      • Installed MediaWiki on my system
      • Understood the working of Guided tours on a pages
    2. Microtask 2
      • Developed user scripts to add some interesting feature to my MediaWiki page
      • All scripts are available under my User page in User:BhalleRam/common.js

Any Other Info

Add any other relevant information such as UI mockups, references to related projects, a link to your proof of concept code, etc

Event Timeline

BhalleRam renamed this task from Insert project title here to Develop a UserScript/Gadget tutorial on MediaWiki.org similar to Wikipedia:The_Wikipedia_Adventure.Apr 13 2021, 5:17 PM
BhalleRam renamed this task from Develop a UserScript/Gadget tutorial on MediaWiki.org similar to Wikipedia:The_Wikipedia_Adventure to GSoC 2021 Proposal: Develop a UserScript/Gadget tutorial on MediaWiki.org similar to Wikipedia:The_Wikipedia_Adventure.Apr 13 2021, 5:20 PM

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!

@BhalleRam Hi! I'd like to confirm if you submitted an application on the GSoC website? If yes, could you please share the display name you used there? Thanks!

@BhalleRam Hi! I'd like to confirm if you submitted an application on the GSoC website? If yes, could you please share the display name you used there? Thanks!

@Pavithraes since I did not submit my proposal in pdf format (on the GSoC website) before the deadline, I think I am not eligible for further processess. Thanks!

Closing it as Invalid as participant did not submit proposal to GSoC site.

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!

Sorry for such a late response. I have not submitted my proposal for GSoC 2021. Thanks for the information.

I encourage you to participate in Wikimedia next year. Till that, you can explore https://www.mediawiki.org/wiki/New_Developers to contribute in WIkimedia.

I encourage you to participate in Wikimedia next year. Till that, you can explore https://www.mediawiki.org/wiki/New_Developers to contribute in WIkimedia.

Thanks @Jayprakash12345, I would be happy to be in touch with the Wikimedia community.