**Name:** Hagar Shilo
**Personal website:** http://hagarsh.com/
**Location:** Israel (UTC+3:00)
**Typical working hours:** 4pm to 12am UTC+3:00
The Category filter’s purpose is to display to a reviewer the edits made to articles and other pages in that category. It will be added to the main filter panel. Desired features include several category search options, as specified in the timeline, as well as in the Phabricator task this proposal is based on (https://phabricator.wikimedia.org/T163433). The existing task includes UI mockups.
Mentors: @Mooeypoo, @Catrope
| Period | Task |
| April 23 - May 11 | Community bonding period. Get to know the mentors, read UI library documentation, get to know the organization’s work methods, version control tools, coding style guidelines, etc. Set up the developer environment. Request access to necessary tools. Structure sub-tasks. |
| May 14 - May 25 | Explore the code of the existing filter box. Add a new group type, to check and determine whether or not it could be useful for this project. Write tests for that new group, write logic for it and make sure it passes all the tests.
| May 28 - June 1 | Make API requests to fetch dummy category pages I've created, and learn about async and promises. Learn OOUI, the UI library used in the project. |
| Jun 4 - June 22 | Category filter with basic functionality (Backend): Build the supporting structure in the backend (queried to fetch category or categories in RecentChanges lists) |
| June 11 - June 15 | Mentors and students submit Phase 1 evaluations |
| June 25 - July 13 | Category filter with basic functionality (Frontend): Build the UI elements for the filter box and connect them to the data retrieved from the API. |
| July 9 - July 13 | Mentors and students submit Phase 2 evaluations |
| July 16 - July 27 | Develop additional features, if time permits. Ideally, the Category search functions will include the following: The menu’s ability to gradually replace pre-populated categories with categories the user searched for, listing them alphabetically. The selection of multiple categories and an "Exclude selected" button for inverting the search function. Make the tool more convenient to use: Handle first use: recognize when a reviewer uses this tool for the first time, and show more instructions (GuidedTour). Collect feedback and make Improvements accordingly.
| July 30 - August 13 | QA and bugfixes. Write documentation. Code cleanup for submission. |
| August 14 - August 21 | Mentors submit final student evaluations. |
| August 22 | Final results of Google Summer of Code 2017 announced |
MVP for the Category filter in RecentChanges Filters:
Prediction: the ability to provide the reviewer with available categories as they type in the filter box
The ability to filter the results by chosen categories in RecentChanges
If time permits, extra features beyond the MVP:
- Store most recently used categories for the user as an initial list
- Create a "Guided Tour" introducing the feature
Develop the frontend and backend features described in the task spec and timeline
Post weekly reports about my progress
Learn SO MUCH
Be available online on IRC/chat during my working hours
Communicate on tasks through commenting on subtasks on Phabricator
Work on a separate git branch and push code to forked repo daily
Create a pull request when a feature is done
Weekly reports will be published in my meta wiki user page
Weekly video chat with mentor(s)
I am a Web Developer with a background in Linguistics. These days I am pursuing a Master’s degree in Cognitive Studies of Language Use at Tel Aviv University, and in 2015 I got my Bachelor’s in Linguistics from The Hebrew University of Jerusalem. In 2016 I have earned a certificate in Front End Development from Holon Institute of Technology, and had a QA tester job in Contextors, a start-up company that was dedicated to building an English learning app.
I am excited about the opportunity to get involved in an open source project and help make it better. What I love about Wikipedia in particular, is the way that it makes knowledge and information accessible to so many people around the world. And as a linguist, I am inspired by it being a large scale multilingual project.
My Github account: https://github.com/strayblues
My personal website: http://hagarsh.com/