Student Profile
Name: Haritha H
Email: haritha.h20@gmail.com
IRC: haritha_ (freenode)
Blog: https://harithaharikumar.wordpress.com
Github: https://github.com/haritha28
Gerrit: https://gerrit.wikimedia.org/r/#/q/owner:Haritha28+status:merged,n,z:
Time zone: UTC +5:30(IST- India)
Location: Kerala, India
Typical working hours: Weekdays 5PM-2AM, Weekends : 9AM-11PM
Reading List
Synopsis
This project aims to implement reading lists into wikimedia projects. The idea was suggested in the https://meta.wikimedia.org/wiki/2015_Community_Wishlist_Survey/Reading#Reading_List community wishlist consultation and supported by multiple community members.
Mentors: @Jhernandez (technical), @4nn1l2 (community)
Deliverables
Right now the only way to save pages into lists is using the watchlist (one single list, multipurpose, tailored for editing tasks) or using wiki pages in the user namespace (public lists, non-structured wikitext, no grouping, filtering, sorting, etc.).
The scope of the project is to provide users with ways to save pages into lists/buckets, in a private way (like the watchlist), for later reference or reading. This should work on the desktop site and the mobile site both.
Core Objectives
Adding to the list: A logged in user can save pages into their reading lists from either of:
- From the page itself - a button ( probably a book icon ) neatly arranged next to the Watchlist button would be the best approach.
- From the lists interface - a Special:Reading List page, which can allow adding pages to user reading lists.
Managing lists: A logged in user can create new lists, and provide a name and description for their own reference. By default, all additions goes to a default list.
Special:Reading List
In general, a user can get the following options from the Special page:
- View the user's reading lists
- Edit their readings lists
- Edit title/description of the reading list
- Remove/add pages to the reading list
- Sort items (manually, by edit date, by added date)
- And can delete it
- And can export it to a public page (wikitext)
- Adding in tags each item, for reference ( see screenshot attached ).
Optional objectives
- Setting reminders to lists ( echo notifo reminding about it )
- Exporting list as books ( PDF/epub )
- Sharing ownership of lists with other users
Basic view
Timeline
Before Project Begins
- Focus on fixing more bugs related to Gather extension and get microtasks done.
- Understand the drawbacks of Gather and make required steps not repeat them in Reading List
During Project Period
Tasks to be completed | Timeline |
Community bonding period, get familiar with the community, contribute by submitting and fixing bugs. | 22 April to 23 May 2016 |
Set up Database. | 24 May to 31 May 2016 |
Set up Basic Outline | 1 June to 8 June 2016 |
Front end Phase I | 9 June to 16 June 2016 |
Code review, Fixing bugs | 17 June to 20 June 2016 |
Mid Term Evaluation | 21 June 2016 |
Adding to Special Preferences: Reading List | 22 June to 28 June 2016 |
Front end Phase II | 29 June to 14 July 2016 |
Writing unit tests,Testing the work flow | 15 July to 25 July 2016 |
Writing Documentation, Deployment | 25 July to 12 August 2016 |
Code Cleaning and Wrap-up | 12 August to 21 August 2016 |
Final Report Submission | 22 August 2016 |
Details
Community Bonding Period
- Interact with the community via IRC, mailing list.
- Discuss with mentors about Reading List implementation.
- Prepare the sketch for basic outline of Reading List.
- Get details of Database for the extension.
- Fix more bugs related to Gather extension.
- Get more details of the Optional features to be implemented.
Database
- Sort the details for database into different tables.
- Implement the details.
Basic Outline
- Setup the basic outline for the Reading Extension.
- Implement functionality for adding pages to list.
- Add an icon to add pages to the Reading List.
- Add pages to Reading List via List interface.
Front-end Phase I
- Implement basic functionalities like editing pages to reading List.
- Save Pages
- Delete Pages
- Add Description.
- Add Tags.
- Add functionality for sorting pages.
- Enable Functionality for viewing for the reading List.
Code Review
- Give the written code for review.
- Fix all the bugs
- Get the project ready for MVP
Front-end Phase II
- Add feature for searching pages to List like searching by tags, dates.
- Implement the required optional features like to do's reminders etc.
Writing Unit Test
- Writing Test scripts for the project for Reading List.
- Running the Test scripts.
- Code-review and code cleaning.
Documentation
- Documenting all the data for respective files.
- Test for all errors and debug.
Wrap-up
- Final week of Code cleaning and debugging.
- Deployment of the project.
- Submit the code to Google(22 August)
About Me
I am a FOSS evangelist, Computer Science major from Amrita School of Engineering, India. I started contributing to Open Source through Mediawiki doing small bug fixing. Having worked with the different kinds of bugs in a different environment improved my skills to analyze the code and submit relevant patches. All my contributions would be listed down in my Gerrit, Github. As a newbie, I was encouraged by the community on various platforms like mailing lists, IRC, which kept me involved and motivated was the constant support from the community.
I am a self-motivated programmer who is working towards for the development of a strong FOSS community by helping as many as FOSS enthusiast as I could. I have volunteered to conduct a Google Code-In three-day workshop for school teachers, so more young students can start contributing to the Open source. Through this event, some students started contributing to MediaWiki.
Skills
Web Development: HTML/CSS , JavaScript, Php, SQL
Operating Systems : GNU/Linux, Windows
Version Control System: Git
Frameworks: Bootstrap