User:Aniuskad/Proposal/Flow Edit Filter Integration

Name and contact information
Name: Aniuska Dominguez Email: a_dom@yahoo.com IRC: aniuskad at freenode Location: London Typical working hours: 15:00 - 22:00

Synopsis
Flow is a new discussion and collaboration system in development which will replace Wikipedia's talk pages. Wikimedia projects currently use a system that allows editors to define filters which will be applied to all actions taking place on the site, in order to mitigate spam and vandalism. My project would be to integrate Wikimedia's existing edit filter system with Flow.

Deliverables
December 10 - December 17

I will spend time talking to people about Flow and the Edit Filter to understand what they are, how they are used and how they need to work together. I will also spend some time to get to know and understand the code base and to understand what exactly it is wanted to implement. December 18 - December 31

Brainstorming - suggest ideas for prototypes. Writing my first prototype, coding and testing it to see if it is a good approach. I will discuss it with my mentor to get feedback. To integrate AbuseFilter extension.

Testing:
 * Using unit test
 * Manually using the UI

At this point I will gain a better understanding of Flow, its Data Model and how integrate Edit filter.

January 1 - January 31

Writing and implementing new prototypes or improving previous one. These prototype should provide the Flow's functional specifications - focus in Filters and interaction with other functionalities.

Filters could be used to order post and topic for different criteria such as status, time and subject. Filter should quickly determine origins of any character of text in case of abuses.

Each topic and individual post will come with a set of moderation features (Hide, Delete, Suppress). Handling spam and vandalism in Flow will be easy - Flow topics and comments exist as discrete elements, a specific post can be removed with a single set of actions.

February 1 - February 28

Implementing more functionalities such as notification of replies, 'Reply' button to avoid confusion and automatic "signing".

The whole implementation should guarantee to support existing discussion workflows as well as improve the user experience of talk pages by facilitating:
 * Productive, efficient discussions that resolve the issue at hand quickly. It should be equally fast and easy to remove inappropriate, or harmful posts from the discussion.


 * Transparency and clarity of communication to ensure good-faith dialog among peers.


 * Ease to use regardless of their level of experience with the WikiProject or the Wikimedia project.

March 1 - March 10


 * Final revision of outcome
 * Write a documentation - use, improvements, model, etc
 * Last test of filter specifications

About you
I have a degree in Computer Science and Mathematics with experience in developing database applications, biotechnological and medical applications in C and DBase, developing web information systems and front/back-end application using PHP, HTML, CSS, Javascript/JQuery and MySQL. Processing images, creating documents and reports, advanced search, collecting data and calculations. Programming applications and CGIs in C (Unix, Windows).

Wikipedia is the first source I read when I want to know about a subject new for me. I am not a content contributor but I am a keen reader. I would like to contribute in the way I know and enjoy - coding.

Participation
I will be in contact with mentor at least twice a week via IRC, email and/or another preferred media of the mentor to communicate progress of my work or for help - in case I need it. I will also create a blog or a Wikimedia page to publish information about my project and progress. I will publish my code in Github - forking master in my repository and committing changes/new code.

Past open source experience
I made small contribution to match a Category (Match class) and Search categories (QueryService class) for dynamic fields on 'Search and Natural Language Processing' project for Wikimedia, see contribution at Search.

Unfortunately, I could not continue with the project - unexpected changes in my availability. It was a short but great and enjoyable experience that I would like to repeat.