Name: Sayak Das
IRC nickname: Sayak17
Location: Kolkata, India (UTC +5:30)
Typical working hours: Between 12 pm to 12 am UTC +5:30
- This user-friendly adventure will be designed like "The Wikipedia Adventure" which will have 3-4 missions for users.
- Mission 1: Basic Intro
- Mission 2: Using MediaWiki’s JS module
- Mission 3: Using MediaWiki API
- Mission 4: Using OOUI (Optional)
The above picture shows a simple example about user-Script
document.getElementById("content").style.backgroundColor = "#7E829E"; document.getElementById("content").style.color = "white"; document.getElementById("bodyContent").style.fontSize = "125%"; document.getElementById("bodyContent").style.fontFamily = "monospace";
This simple script can change the background color, font color, and font family of any content.
- The project will be an adventure tour containing 4 interdependent missions explaining the use and purpose of user scripts.
- Each mission's design and implementation will be similar to the missions of The_Wikipedia_Adventure to maintain consistency across the media wiki ecosystem.
- The 4 missions all together will be sufficient and useful for users to deploy their own user scripts.
- Below contains some screenshots describing how it will look like:
- Mission 1:
- Introduction to User script in general.
- Navigate to the Special:MyPage/common.js file and describe its use (JS Code written here is applied to all pages).
- Instruct the user to edit the file by showing where to edit a file.
- Provide users with basic user script examples within the tour step, which users can copy & paste.
- A pop-up will instruct users on how to preview changes.
- Then another pop-up shows users the button to finally publish.
- A pop-up will Congratulate the user on successfully deploying the first user script.
- Describe the Special:MyPage/vector.js file and its use(JS Code written here is applied to a particular skin).
- Optional step to learn more about skins in MediaWiki or end tour.
- If the user chooses to learn more about skins, then navigate to the Appearances page to another tab where the user can preview different skins available.
- Mission 2:
- Navigate to ResourceLoader/Core_modules and give a brief description about JS modules and core modules supported by wikimedia.
Follow the steps similar to step2 - step7 of mission 1. The user script examples in step 4 should involve the use of “mw” global object.
- Mission 3:
- Brief user about what APIs are.
- Navigate to API: Main_page and brief the user about the endpoint for Wikimedia API's and parameters. Provide link for ApiSandbox page.
- Once the user comes on ApiSandbox page, brief the user on how one can test Wikimedia's Api’’s through ApiSandbox.
Further, we will guide the user to create his/her first API request on Wikimedia. We will give the user a set of options to choose from on which request he wants to make(Eg. 1: No. of page views; 2: Get edit history of a page; etc.)
Once the user has completed his first API request with ApiSandbox, we can follow the steps similar to step2 - step7 of mission 1. The user script examples in step 4 should involve the use of Mediawiki API.
- Mission 4: #This is an optional mission. Users will only navigate to his mission if they select "Learn More" after the 3rd mission.
- Explain user about the different dependencies that use OOUI and how to load these dependencies. Provide a link to ooui demos.
- Brief users that this is the place where they can refer for different ooui features.
Further, follow the steps similar to step2 - step7 of mission 1. The user script examples in step 4 should involve the use of widgets or other ooui features.
- Attractive theme for the adventure.
- Design the introductory template and elements(illustrations, buttons, etc) to be used within the missions according to the theme.
- Coding the user scripts examples and tours for each mission based on ideas discussed in implementation.
- 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)
- Simultaneous bug fixing after completion of each mission.
- Connect all missions together and complete the flow of the adventure.
- Code cleaning.
- Documenting the story behind the adventure.
Community bonding period :
|May 17, 2021 - May 24, 2021||Study more about JS Modules, APIs, OOUI which would help me come up with better user script examples during the coding period.|
|May 25, 2021 - June 2, 2021||Come up with a theme for the adventure tour. Design basic elements to be used within the missions, and the introductory template from where all missions can be accessed.|
|June 3, 2021 - June 7, 2021||Environment setup for QUnit. Discuss milestones with mentors.|
|June 8, 2021 - June 13, 2021||Coding the introductory template.|
|June 14, 2021 - June 16, 2021||Writing the user scripts for the first mission(3 basic js/jquery code examples with good documentation and comments to describe actions performed by script).|
|June 17, 2021 - June 22, 2021||Implementing the tour for the first mission with steps defined above. Resolving bugs of Mission 1 and performing unit tests.|
|June 23, 2021 - June 25, 2021||Writing the user scripts examples that involve the use of js modules and “mw” global objects(2 or 3 examples).|
|June 26, 2021 - July 1, 2021||Implementing the tour for the second mission. Resolving bugs of Mission 2 and performing unit tests.|
|July 2, 2021 - July 5, 2021||Writing the user scripts examples that involve the use of Mediawiki’s API.|
|July 6, 2021 - July 11, 2021||Implementing the tour for the third mission. Resolving bugs of Mission 3 and performing unit tests.|
|July 12, 2021 - July 15, 2021||Phase Evaluation Submit a report of the tasks completed.|
|July 16, 2021 - July 19, 2021||Writing the user scripts examples that involve the use of OOUI library.|
|July 20, 2021 - July 26, 2021||Implementing the tour for the fourth mission. Resolving bugs of Mission 4 and performing unit tests.|
|July 27 , 2021- July 31, 2021||Complete the flow of the adventure by linking the missions and making them accessible from the template.|
|August 1, 2021 - August 8, 2021||Bug fixes, code cleanup for submission.|
|August 9, 2021 - August 16, 2021||Documenting the story behind the adventure. (Introduction to adventure, why do MediaWiki users need this adventure, goals of the adventure).|
|August 17, 2021 - August 23, 2021||Final week: Submit my work product and final mentor evaluation|
I will be available anytime through Email(email@example.com), Zulip, or if required, a well-planned video session and will contribute via Github to this project and use Phabricator for managing the bugs and tasks.
|Degree/Examination||Board/University||Year of Passing||Status|
|B.Tech||National Institute of Technology Durgapur||2023(Expected)||Running|
|Class XII||WestBengal Council of Higher Secondary Education||2019||Completed|
|Class X||WestBengal Board of Secondary Education||2017||Completed|
- How did I hear about this program?
Our college has an active community of open-source developers. So, I heard about this program from a lot of seniors in my college.
- Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
Our college's end semester examination for the 4th sem will end on 2nd May 2021. So during my summer break, I can easily give 6+ hours per day to the project as I have no other commitments. I will be able to do about 3 hours per day when my college resumes (not able to say the date due to the current pandemic). I will try to complete a major part of the project before my classes begin and so I can easily able to finish the remaining work and deadlines.
- 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 the Wikimedia organization
- What does making this project happen to mean to you?
- In the past, I developed an interactive resume of mine which has a little avatar and users have to move that to see different stages of my resume. That self-project boosted my JS skills and I used the JQuery library to build that project. So I think I can contribute to this project. Here is the link to that project : https://sayak01.epizy.com/resume.
- Contributed to OpenEvent frontEnd Repository of FOSSASIA organisation : https://github.com/fossasia/open-event-frontend/pull/5891
- My portfolio: https://sayak01.epizy.com
- Made a Real-time multi-user chat application using PHP and AJAX call JS.
- Made a simple 2 player tic-tac-toe game using PHP and JS and AJAX API
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.
I have successfully completed the microtasks assigned in order to understand the project.
- Microtask 1:
- Basic tour on how to deploy user scripts on wikimedia.
- Link to code: Microtask 1
Any Other Info
I had made an interactive resume of mine. It is a simple Mario-like game. Users have to move a little avatar on the screen to view different parts of a resume.Here is the link : https://sayak01.epizy.com/resume/