Profile Information
Name: Priyanshu Varshney
Email: priyanshuvarshney6@gmail.com
Github Profile: https://github.com/priyanshuvarsh
Institute: Indian Institute of Technology Indore
Location: Indore, India
Time Zone : UTC +05:30
Typical Working Hours : [4 pm to 9 pm], [10 pm to 1 am] UTC +5:30
Synopsis
The Forms made using the Page Forms extension for MediaWiki can be used to add and edit template calls in the pages. This project aims to add a calendar interface that allows creation and editing for pages that call templates that contain one or more date/ datetime fields. This interface will be built with the FullCalendar JavaScript library.
Mentors: @Yaron_Koren Erik Biegert @yashdeep97
Why Wikimedia?
I was introduced to Wikimedia last year by my college senior and I got to know about its effort to share information and knowledge with the world. I started looking deeper into MediaWiki and started writing code for which I had an incredible time working on the micro tasks and received a lot of guidance and feedback on my work from the mentors, and it was a great learning experience. Contributing to this project would be a great opportunity for me to be a part of this amazing community and develop features that will possibly be used by millions of people.
Features and Implementation
1. Allows users to edit multiple template calls simultaneously using a spreadsheet-like interface
Create a special page that will allow a user to edit all the calls to a particular template with date fields. This Calendar interface will contain dates and each cell corresponds to various template calls for various events.
2. Get ideal input type for each parameter
Add support to get the input type for each template parameter(date, date-time) and display it accordingly in the calendar interface.
3. Provide support for renaming pages
Explore the page moving mechanism used in MediaWiki either by using functions from Special: MovePage or API: Move.
4. Develop similar interface for Coordinates fields which will allow users to create and drag around markers on a map
Deliverables
Period | Assignment or Task to solve |
May 6 - May 26 | Community bonding period. Get more familiar with the code base by fixing other issues in Page Forms. Become more active on IRC, Phabricator, and Gerrit, communicate with mentors, community members, and other participants and get to know more about their projects. |
May 27 - June 13 | Create Special Page for Calendar Interface to edit template calls: Develop code to include FullCalendarJS library and integrate it into the codebase. It would be named as PF_FullCalendar.js |
June 14 - June 23 | Develop code for a popup form for the events which would be similar to the single instance of the multiple instance template. Get ideal input type for the popup form |
June 24 - June 28 | Phase I Evaluations |
June 29 - July 3 | Improve Interface: Check for scalability and implement for a larger number of events. Implement Drag-N-Drop logic for the events on the calendar |
July 4 - July 15 | Develop logic for adding new events: Write code to add Resizing logic for the events through the month and Time Grids. Testing the new UI and fix bugs. |
July 16 - July 26 | Functionality to add support for Token and Combobox input types: Fix bugs. Simultaneously develop the functionality to rename the new or existing events |
July 22 - July 26 | Phase II Evaluations |
August 1 - August 13 | Build the code and submit regular patches on the Gerrit. Improve the date and datetime handling logic |
July 27 - August 25 | Buffer time: Fix any issues left and make sure the documentation for code written is thorough. Improve the code structure and get rid of redundancy in the code |
August 17 - August 25 | Buffer time: Fix any issues left and make sure the documentation for code written is thorough. Improve the code structure and get rid of redundancy in the code. Try to add support for other input types like -rating, tree etc |
August 25 - September 2 | Mentors submit final student evaluations |
September 3 | Final results of Google Summer of Code 2019 announced |
Participation
I’ll use GitHub to publish my source code. I’ll communicate my weekly progress with my mentors via email. In case I get stuck, I’ll reach out to them via email, IRC and hangout.
About Me
Tell us about a few:
I am an undergraduate, third-year student, pursuing a Bachelor of Technology in Electrical Engineering from Indian Institute of Technology, Indore. Despite my circuital branch, my huge interest in programming allowed me to take online programming courses in OOPS, Web-Development, Machine learning. I have participated in various hackathons bagging good ranks in all of them.
Past Experience
My GitHub link is this. Some of my major projects are:
- Videofy It's a tool that takes an image based content article and automatically generates a motion video out of it. This was made in WittyHacks hackathon organized by WittyFeed. My team secured the first rank in this hackathon.
- Crop I made a Mozilla/chrome extension for the The Telangana Building & Other Construction Workers Welfare Board that takes the image from the webcam that is used to fill their registration forms. The webcam opens and takes the picture and I provided the feature of cropping the images as per the user requirement.
Contributions to MediaWiki:
- T188414 : Replace Dynatree JS library with Fancytree in Page Forms
- T217518: Page Forms: Fix "tree" input type for Foreground skin
- Rating type for Cargo Extension (To be updated, still in progress) Link : here
Any Other Info
Mockups to be updates