##GSoC proposal: adding "user" search filter to Recent Changes Filters
Name: Hagar Shilo
Personal website: http://hagarsh.com/
Location: Israel (UTC+3:00)
Typical working hours: 4pm to 12am UTC+3:00
The User filter’s purpose is to display to a reviewer the edits made by a particular user, or by several users at once. It will be added to the main filter panel. Desired features include several user search options, as specified in the timeline, as well as in the Phabricator task this proposal is based on (https://phabricator.wikimedia.org/T167224). The existing task includes UI mockups.
Mentors: @Mooeypoo, @Catrope
**April 23 to May 11**
Community bonding period.
Get to know the mentors, read API documentation for fetching user info, get to know the organization’s work methods, version control tools, coding style guidelines, etc.
Add and structure sub-tasks in Phabricator and install developer environment.
Request access to necessary tools.
Create additional UI Mockups if needed.
**May 14 to June 8**
Get to know the code of the existing filter box.
User filter with basic functionality (Backend): Build the supporting structure in the backend (queries to fetch user or users in RecentChanges lists)
**June 11 16:00 UTC to June 15 16:00 UTC**
Mentors and students submit Phase 1 evaluations
**June 11 to July 13**
User filter with basic functionality (Frontend): Build the UI elements for the filter box.
**July 9 16:00 UTC to July 13 16:00 UTC**
Mentors and students submit Phase 2 evaluations
**July 16 to July 27**
Develop additional features, if time permits. Ideally, the User Search functions will include the following:
The menu’s ability to gradually replace pre-populated usernames with usernames the user actually searched for, listing them alphabetically.
The selection of multiple users 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 to August 13**
QA and bugfixes.
Code cleanup for submission.
**August 14 - August 21 16:00 UTC**
Mentors submit final student evaluations.
Final results of Google Summer of Code 2017 announced
MVP for the User filter in RecentChanges Filters:
The ability to provide the reviewer with available users as they type in the filter box
The ability to filter the results by chosen usernames in RecentChanges
If time permits, extra features beyond the MVP:
- Store most recently used usernames for the user as an initial list
- Create a "Guided Tour" introducing the feature
Weekly progress reports
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
Do to a weekly video chat with mentor
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/