Page MenuHomePhabricator

GSoC 2019 Proposal: Page Forms - add an editable calendar interface
Open, Needs TriagePublic

Description

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 special page that provides a calendar interface that allows creation and editing for pages that call templates that contain one or more date fields. This interface will be built with the FullCalendar JavaScript library. Furthermore, a similar notion will be used to make an interface for pages with Coordinates fields which will allow users to create and drag around markers on a map.
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

PeriodAssignment or Task to solve
May 6 - May 26Community 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 13Create Special Page for Calendar Interface to edit template calls: Develop code to set respective date cell(i.e. a cell in the calendar) implement save and edit logic.
June 14 - June 23Develop code to get the ideal input type and discuss it with mentors
June 24 - June 28Phase I Evaluations
June 29 - July 3Improve Interface: Check for scalability and implement for more large data sets and adjust for any delays.
July 4 - July 15Develop logic for adding new events: Write code to add new events using the improved Calendar Interface. Testing the new UI and fix bugs.
July 16 - July 21Functionality to rename events: Fix bugs. Simultaneously develop the functionality to rename the new or existing events
July 22 - July 26Phase II Evaluations
August 1 - August 2Develop similar interface for pages with Coordinates fields which will allow users to create and drag around markers on a map
July 27 - August 25Buffer time: Fix any issues left and make sure the documentation for code written is thorough.
August 25 - September 2Mentors submit final student evaluations
September 3Final 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:

  1. 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.
  2. 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:

  1. T188414 : Replace Dynatree JS library with Fancytree in Page Forms
  2. T217518: Page Forms: Fix "tree" input type for Foreground skin
  3. Rating type for Cargo Extension (To be updated, still in progress) Link : here

Any Other Info

Mockups to be updates

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 2 2019, 9:27 PM

@Zoranzoki21: It's either for Outreachy or Google Summer of Code, I guess. :)

@priyanshu_varshney: Could you click "Edit Task" and enter an actual task summary please, plus clarify? Thanks.

priyanshu_varshney added a comment.EditedMar 2 2019, 10:12 PM

@Aklapper @Zoranzoki21 Yes, It is for Google Summer of Code. Actually, I am still working on it and it will definitely take much time. I thought that it will be my private page for the time being. I think editing the Title and summary will do for the time? Otherwise, I will consider removing the page.

priyanshu_varshney renamed this task from Insert project title here to Improve the interface of Special:ViewData in the Cargo extension.Mar 2 2019, 10:13 PM
priyanshu_varshney updated the task description. (Show Details)
priyanshu_varshney renamed this task from Improve the interface of Special:ViewData in the Cargo extension to GSoC 2019 Proposal: Page Forms - add an editable calendar interface.Mar 20 2019, 1:58 PM
priyanshu_varshney updated the task description. (Show Details)

If you would like us to consider your proposal for review, please move it to the submitted column on Google-Summer-of-Code (2019) board.

@srishakatux Yes ma'am, I have moved my Proposal to the Submitted board.