User:Sarveshgpt1991/WIE

Wikimedia Identities Editor
Public URL: Bugzilla Report:
 * (https://www.mediawiki.org/w/index.php?title=User:Sarveshgpt1991/WIE)
 * (https://bugzilla.wikimedia.org/show_bug.cgi?id=58585)

Announcement:

Name and contact information
Name:

Sarvesh Gupta

Email:

sarvesh.onlyme@gmail.com or sarveshgpt1991@yahoo.com

IRC or IM networks/handle(s):

s1991

Location:

Roorkee, India

Timezone:

Kolkata, INDIA, UTC+5:30

Typical working hours:

1pm to 2am untill 20th July, 5pm to 2am after 20th July

Synopsis
This project was thought up in providing easy and efficient way to contributors for edit or make possible changes to their user profile by providing a web interface. For now contributor of MediaWiki has to go through a long process to edit their profile, so it is a kind of compulsion for contributors to have a web interface which facilitates them to have an easy access to their profile. Moreover, MediaWiki unfortunately missing a proper method of syncing two different account of a contributor, so this project also aims to merge the data or information from multiple contributor's account to one single place.

What it means to accomplish?
Extends the functionality of MediaWiki-Dashboard

Step 1: Providing contributors to authenticate using OAuth(or other related technology) or creating a new account.

Step 2: Presenting required information to contributor of member in MediaWiki Community Metrics.

Step 3: Providing a interface to update their information, add new identities, the localization and so on.

Step 4: Allow contributors to search for their profile using some sort of identity.

Step 5: Allow contributors to sync or merge with their existing multiple profiles.

How it will benefit MediaWiki or Wikimedia projects such as Mediawiki Community Metrics?

 * It remove contributor's headache of submiting and editing their data by providing a web interface.
 * It'll provide an efficient search method to further sync contributor's account.

Deliverables
The main deliverable will be a working web application for contributors to manage community identity

Required deliverables

 * The web interface of each and every page of the web application required (milestone 1)
 * The developed back-end part with implementation of templates(front-end) part to it (milestone 2)
 * Optimized search facility with autocomplete feature. User can search and filter the data or information (milestone 3)
 * Implementation of syncing multiple accounts (milestone 4)
 * Implementation of OAuth or similar authentication techniques. (milestone 5)

Optional deliverables

 * An admin dashboard, so that admin can have knowledge of contributors activity.

Envisioning phase (May 1 - May 18)

 * Remain in constant touch with my mentor(s) and community.
 * Getting myself familiarize with MediaWiki community and development environment.
 * Study required docs
 * Fix some bugs along the way and get my hands dirty.

Community bonding period(2 weeks, May 19 - June 1)

 * Further discussion with my mentor(s) and my community about the prototype and its implementation
 * Make a Roadmap or workflow for development phase

Front-end part (2 weeks, June 1 - June 15) - Milestone-1

 * Design UX, which will be implemented as templates in Django framework.
 * Login page or Authentication provider
 * Contributor's profile page with prototypical implementation of search tools
 * Page to merge multiple accounts
 * This will require use of HTML, CSS, javaScript or may be Ajax

Back-end part (2 weeks, June 16 - June 29) - Milestone-2

 * Setting up Django project
 * Implement the back-end
 * Contributors to view her profile
 * Updating possible information and identities.
 * In parallel to above step, syncing front-end and back-end parts by implementing Django templates
 * This will require use of Django framework, python, javaScript and Ajax

Optimized search and filter (1 week, June 30 - July 6) - Milestone-3

 * Script for search and filter implementation.
 * Syncing it with front-end.

Merge accounts (2 weeks, July 7 - July 20) - Milestone-4

 * Script for merging and syncing multiple contributor's profile.
 * Testing this over a huge batabase.

OAuth Implementation (1 week, July 21 - July 27) - Milestone-5

 * Study the OAuth implementation process already implemented in MediaWiki.
 * Implementing OAuth to our project.

Deploying phase (2 weeks, July 28 - August 10)

 * Code Review
 * Conduct code review by myself, then mentor(s)
 * Inact information gained by code review
 * Testing
 * Further unit and integration testing
 * Conduct several rounds of testing with real-world users.
 * Documentation
 * Write approach program and functional descriptions
 * Document deployment and testing.

Pencil Down

 * August 11: Soft Pencil down - A weak final polishing
 * August 18: Firm Pencil down
 * Submission to Google

Participation
I'll stay online on IRC during my work hours.

For queries. feedback and discussion, I'll communicate with mentors through IRC or mail. I'd also like to maintain a copy of my work on Github for people to view, give feedback on or fork.

Amenities: I understand, their have been power and internet issues with students from India in past. I've a stable and always-on internet connection and live in a housing society with 24-hours power backup, so that will not be a problem.

About you

 * Education completed or in progress:


 * How did you hear about this program?


 * Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?


 * We advise all candidates eligible to Google Summer of Code and FOSS Outreach Program for Women to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?

Past experience

 * Please describe your experience with any other FOSS projects as a user and as a contributor:


 * Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them (include links):


 * What project(s) are you interested in (these can be in the same or different organizations)?