User:Zhenya

=Project= Name: Improvement of glossary tools Public URL: http://www.mediawiki.org/wiki/User:Zhenya Announcement:

= Identity = Name: Yevheniy Vlasenko Position: Student Location: Ukraine, Chernihiv Typical working hours:  9:00 - 18:00 (EEST)

University: Chernihiv Technological University (Ukraine)

Contact information: =Synopsis= Presently there are two extensions for handling glossaries in MediaWiki: Lingo and Semantic Glossary. Lingo searches each viewed wiki page for the occurrence of the terms defined in the glossary and - when hovered over with the mouse - shows a tooltip with the respective definition. It uses a dedicated wiki page to store the terms and definitions of the glossary. Semantic Glossary is an extension to Lingo that uses semantic data stored in a Semantic MediaWiki store instead of Lingo's dedicated wiki page. This project is aimed to remove bugs and improve the functionality of Lingo and Semantic Glossary.
 * IRC: Zheee
 * GMail: eu.vlasenko[at]gmail.com
 * Skype: Zhenya_987

=Deliverables=

Support for term multiple definitions
Now we can input a name of the term and its definition. No term can have more than one definition.

User should be able to enter more than one definition. When the tooltip appears, it has to display all definitions.

Support for word forms
Now word forms are set manually by users: The system should be done for automatic word forms recognition.
 * in Lingo with the help of special markup
 * in Semantic Glossary with the help of semantic properties

Customizing the tooltip by using the template
A feature that will allow to display the information in a form that is predetermined by the template. Template specifies what values​of semantic properties are displayed in hoover tooltip. The function will send a signal to Semantic Glossary, containing the name of the page and what properties must be displayed in particular template.

Ability to turn off the recognition of glossary terms in certain places
System should be able to mark the highlighted word as wrongly highlight. There should be a button "This is not a term." When the button is pressed, the word becomes not highlighted as a term for a certain page, in certain place. System must remember that the word should not be highlighted as a term even if the page has been modified

Context support (for Semantic Glossary)
When highlighting the term there should be shown contexts of this term, used in other articles.

=Timeline=

Precoding period (May 27 - June 17)

 * May 27-June 17: reading the documentation, creating profiles in gerrit, familiarize with the code

First mid-term period (June 17 - July 29)

 * Writing automated tests for the most important existing features (June 17 - June 24)
 * Ability to turn off the recognition of glossary terms in certain places. Phase 1: tags (June 24 - June 25)
 * Support for multiple term definitions. Phase 1: display all the definitions (June 25 - June 26)
 * Support for word forms. Phase 1: support for synonyms in Semantic Glossary (June 28 - July 1)
 * Support for multiple term definitions. Phase 2: ask the users which definition they meant (if possible to implement: some research is needed; probably involves JS) (July 1 - July 15)
 * Ability to turn off the recognition of glossary terms in certain places. Phase 2: visual interface for turning off (July 15 - July 22)
 * Integration with FlaggedRevs/ApprovedRevs for Lingo (July 22 - July 29)

Second mid-term period (July 29 - Septemder 16)

 * Customizing the tooltip by using a template (July 29 - August 5)
 * Context support (Terms for specified namespaces, categories, …) (August 6 - August 11)
 * Support for word forms. Phase 2: automatic support use of stemmers (try it with Russian pilot) (August 11 - August 25)
 * Optimizing performance, Testing and Bugfixing (August 26 - September 16)

End of the project: September 16
=About me=
 * (OPTIONAL) Investigate integration of FlaggedRevs/ApprovedRevs with Semantic Glossary

I am a student of postgraduate program in Chernihiv State Technological University (Unkaine), Department of Computer Science. My fields of interests are: web development, graphics, game development.

I have a good knowledge in such technologies: Java, NodeJS, PHP, Objective-C, HTML, CSS, SQL, Ruby, Javasript (jQuery), WebGL, Canvas, XML, JSON, MySQL, MongoDB.

Have skills in a filed of vector and 3D graphics.

Also have understanding of C++/C, Qt, Assembler.

Know how to use version control systems.

=Participation=

I plan to communicate with my mentor via email and Skype as its a very fast way to connect to each other. I will form the reports about "what I have done" and "what I'm planning to do" with all the sources.

I have a good knowledge of English and Russian so it will be easy for me to have phone or video sessions (as far as one of the mentors is russian).

To connect with the community I can enter IRC chat or use a MediaWiki's mailing list.

Mentors: Stephan Gambke and  Yury Katkov.

=Past open source experience=

Google Summer of Code 2011 (June 2011 – August 2011)

Project «MediaWiki Extension: SocialProfile - UserStatus feature»

Organization: Wikimedia Foundation

Description: The aim of the project was to create UserStatus feature for SocialProfile Extension. It allows users to post short "status updates" on user profile page.

Technologies: PHP, MySQL, JS, jQuery, HTML/CSS

Chernihiv State Technological University (January 2012 – May 2012) Science project «Grid Computing management tools»

Description: Project represents the API for collecting statistics in Grid networks and a JS library which allows to build GUI web application for modeling and submitting tasks.

Technologies: C/C++, ARC, XML, JS, HTML

Google Summer of Code 2012 (June 2012 – August 2012)

Project «jQuery mobile application for TagTeam»

Organization: Berkman Center for Internet & Society at Harvard University

Description: The aim of the project was to create a mobile interface for JSON API built into TagTeam with the help of jQuery Mobile.

Technologies: jQuery, Javascript, AJAX, JSON, HTML/CSS, Ruby.