Profile Information
Name: Yash Varshney
Email-ID: varshneyyash60@gmail.com
Institute: Indian Institute of Technology Ropar
Location: Rupnagar, Punjab
Time Zone : UTC +05:30
Typical Working Hours :[4pm-8pm],[10pm-1am]
Github Profile: https://github.com/iitrpr-yashvarshney
Synopsis
Title
Add autocompletion to Page Forms spreadsheet display. Link to the google doc of draft GSoC project proposal is this
Spreadsheet-style editing display
The Page Forms extension provides a spreadsheet-style editing display at two places:
- At Special Pages: MultiPageEdit:
At this page one can edit the fields of the existing page or even add or delete any page.
- At Regular forms with the form definition "|multiple|display=spreadsheet"
This is used in case we have multiple instances of templates, we can add a new instance of a template by adding a new row in the spreadsheet(with different columns as the fields of that template).
Features and Implementation
Currently, the spreadsheet-style display uses the jExcel JavaScript library which provides a number of helpful input types (dropdown, date, text area, etc.), but it does not by default allow for auto-completion using an arbitrary list of values. This will be very helpful to add, the same way different input types(apart from spreadsheet-style display) support the autocompletion.
The following ways can be used to enable that autocompletion:
-Using the Select2 JS library.
-Using WikiMedia’s own OOUI library.
-Using a custom solution like this one, but this will be using jQuery UI which is deprecated among MediaWiki.
Going with OOUI is the right way for this project as it has some interface advantages over Select2 plus it'll help to maintain consistency among the MediaWiki. The first task is to upgrade the jExcel library to Jspreadsheet which will give some new styles to the Spreadsheet and then modifying the default Jspreadsheet editor to use OOUI's TextInputWidget.
This autocomplete solution should ideally be supporting all the autocompletion possibilities available in standard Page Forms forms:
-Autocompletion on all pages that match a specific category, Cargo field, SMW property or SMW concept.
-Support for the $wgPageFormsAutocompleteOnAllChars setting.
-Autocompletion on values retrieved from an external data source, using "values from external data", and the existing values saved for the field.
-Autocompletion where one field's values depend on what was chosen for a previous field, using "values dependent on".
Possible Mentors: @Yaron_Koren @Sahajsk
Have you contacted your mentors already?
Yes, I've been in contact with my mentors.
Timeline
Period | Assignments |
---|---|
Apr 16-Jun 1 | Community Bonding Period - Understand more about the code base by fixing other bugs and issues in Page Forms. -Get more active on Phabricator and Gerrit. -Interact more with mentors, other community members and other participants and know more about their projects |
Jun 2-July 11 | Task 1 Completing Autocomplete for pages having category Cargo field and support for $wgPageFormsAutocompleteOnAllChars setting. Currently jExcel library is used for autocompletion, for auto-completion using an arbitrary list of values we will use MediaWiki’s own OOUI library. |
July 12- July 16 | Phase 1 Evaluations Mentors and students submit their evaluations of one another. |
July 17-Aug10 | Task 2 Completing Autocomplete for pages having category SMW property or SMW concept, will be using MediaWiki’s own OOUI library for completing the autocompletion. |
Aug 11-Aug 16 | Buffer time Fix the issues that are left and make sure the documentation of the code should be enough and thoroughly covering each aspect. |
Aug 16-Aug 23 | Submit Code Students submit code for final evaluations. |
Aug 23-Aug 30 | Final Evaulations Mentors Submit Final Evaluations. |
Aug 31 | Results announced |
Summary of the Project
- Upgrading the jExcel library to Jspreadsheet: Patch
- Adding the autocompletion inside spreadsheets: Patch
- Reports summarizing the project: Link
Participation
I’ll inform my mentors about my weekly progress and in case I get struck I’ll contact them through mail. I’ll update the documentation whenever I’ll make some changes to the code.
About Me
I am a first year student pursuing a Bachelor of Technology in Electrical Engineering from Indian Institute of Technology, Ropar. Although I belong to a circuital branch my interest belongs fully to programming. I am a Data Science enthusiast and I also love solving competitive programming puzzles involving different data structures and algorithms.
I participated in Google Code-in 2019, where I got to know about Wikimedia and the basics of Gerrit code review. Then I started looking more about Wikimedia, how it’s helping millions of people. Contributing to such a project which would affect millions of people would be a great opportunity to learn.
During the project I’ll be having my laboratory classes from April 26 to July 7. I’ll be having mid semester examination in the first week of June and end semester examination in the first week of July. The lab classes will be online due to increasing covid cases in India and I’ll be attending those from my home.
Currently my focus is towards GSoC only and I’m giving my full time to GSoC only.
Past Experience
My GitHub link is this. One of my major projects is Amazon Alexa app(Index Price Application) which is hosted through python. This basically takes the voice input from user about the index name(e.g. Nifty fifty and Nifty five hundred) and tells him the last traded price of that index using an API. The link to the application is this. I also did projects related to automation using selenium library. I also have good knowledge about JavaScript and PHP.
Previous Contributions to WikiMedia:
T275406 : Remove "namespace" parameter for "combobox", "tokens" input types.
T208176,: Add "intro" parameter to "for template".