User:Fantasticfears/GSoC 2014 2

One stop translation search edit

Public URL
https://www.mediawiki.org/wiki/User:Fantasticfears/GSoC_2014_2
Bugzilla report
bugzilla:35489 bugzilla:34098 bugzilla:51533 bugzilla:37297 bugzilla:39415 bugzilla:36298 bugzilla:52993 bugzilla:53656 bugzilla:52703 bugzilla:52702 bugzilla:60570
Announcement
(link to the announcement of your proposal at the wikitech-l mailing list.

Name and contact information edit

Name
Erick Guan(User page)
Email
fantasticfears gmail.com
IRC or IM networks/handle(s)
  • IRC: fantasticfears
  • Skype: fantasticfears gmail.com
  • Gtalk: fantasticfears gmail.com
Web Page / Blog / Microblog
Location
Shanghai, China (UTC+8)
Typical working hours
  • 9am to 11am, 5pm to 10pm
  • 9am to 10pm(summer vacation)

Synopsis edit

Extension:Translate is a powerful tool to translate a page. It's widely used by Meta and MediaWiki.org for publishing news, notice and policy. And many other sites which used MediaWiki also take advantage of Extension:Translate. This project aims to fix these several bugs and a redesigned translation search feature. These projects are not the big deal. Combining all small pieces would provide a new experience for the translator and admin.

 
Search overview in the design

The goal of this project would be: redesign Special:SearchTranslations page, bugfix and alternative backend based on ElasticSearch.

Special:SearchTranslations is used for the Translate extension to allow searching for translations. It's not yet finished and bugs. In addition, it lacks the ability to search in source language(bug: 53656), but show and edit messages in your translation language. The interface has some bugs with facet selection and direct editing of search results is not working properly. It is not possible to search by message key unless you know the special syntax, nor to reach a message in one clickInterface designs are available for this page.

A possible extension for the project scope: the backend is currently Solr, but an alternative backend based on ElasticSearch via Elastica is wanted to ensure good integration with WMF's ElasticSearch cluster.

This made the Extension:Translate more powerful and easy to use.

Maybe include this bug as warmup.

  • (bug 35489) Be able to set the page source language: this prevents translation to the wiki content language from other languages. For instance, Wikimedia chapters would often like to translate their reports from their language to English on Meta-Wiki.
  • (bug 34098) Currently the page title is always up for translation. For some pages the title is not relevant and unused because the content is consumed in other ways. If the translation admin could choose not to translate the page title, translators time would be saved.
  • (bug 51533) The interface on the pages itself has been nominated for redesign. Main issues are the language selection and calls to action. The first one takes too much space and is hard to use if there are many languages, the latter is hard to notice but in a place where it can break the page flow.
  • (bug 3729739415) Updating issues when moving or deleting translation units (for example to remove spam).
  • (bug 36298) The page Special:AggregateGroups is clunky, lacks features and does not scale well to thousands of pages. It needs some re-architecturing to stay usable.
Possible mentors: Robin PepermansNik Everett

Deliverables edit

Phase 1, Investigation, Apr 20 - May 1
  • Keeping in touch with mentors.
  • Ask gerrit admin to create the new feature branch and set up GitHub.
  • Reading code and documentation.
Phase 2, Planning and future investigation, May 1 - May 10
  • Read the code and talk with mentors about the exactly roadmap.
  • Decide code structure and discuss design details.
  • Warm-up, fix some little bug all around to investigate further and practice all the procedure.
  • ElasticSearch part, I have no experience with this new project at all and need to talk with mentors for details and help.
Phase 3, Mockup, May 11 - May 14
  • Build the search page front-end with dummy back-end code according to the workflow spec.
Phase 4, Search interface revised
  • Work with facet selection, May 15 - May 20
  • Work with search in source language(bug: 53656), May 21 - May 27
  • First deployment
Phase 5, Replenish , May 28 - June 27
  • Reach a message in one click
  • Test and documentation
  • Mid-term evaluation
  • Regular deployment
Phase 6, Search and ux things, June 28 - July 30th
  • Fighting for college final exam
  • Port to ElasticSearch instead of Solr
  • Adjust ux details
  • More test and documents
  • Regular deployment and collect feedback
Phase 6, Final evaluation, -
  • Documentation work
  • Submit to Google

Participation edit

Regular report
I'd like post my progress under my proposal page every week and send a email to the wikitech-l, including related project mailing list if needed.
Source code
I'd like to make a feature branch on the Gerrit, including keeping all of these on the GitHub. And I expected a test instance for this, if not, I can use my own server in college.
Communication
Most MediaWiki hacker are living in IRC, it's the best choice to get help. But it would be nice to communicate by email, private and mailing list, because I can describe more thoroughly and think more deeper which would reduce the meaning less talk. Last but not least, the bugzilla is used for tracking bugs, any further problem and progress would be referenced there. I will follow the community development process and keep in touch with mentor for the project.

About you edit

Education completed or in progress
2nd year in the college, and 2 years left
How did you hear about this program?
Mailing list for this year program and RSS feed for GSoC one year ago
Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?
I'd like to travel to Taiwan for 2 weeks on the summer vacation. If I can't keep track on the schedule, I would call it off.

I'm a wikipedian since 2008. When I create article, wikify a article and do maintenance work for local community, I found a lot of unpleasant experience or lack of some functionality. And I want to do something for me and all my friends who love wiki movement. Last summer, I'v been to Wikimania 2013, listens a lot speech there and meet with my friends in flesh. I enjoy this. Then I decide to go deeper in the tech field. I've little contribution to the MediaWiki. But It seems I don't know where I am then. I need mentor's help and finish a project on schedule to build my experience.

Past experience edit

Please describe your experience with any other FOSS projects as a user and as a contributor
DiscourseFcitx
Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them (include links)
  • Some little practice on Ruby on Rails
  • Knowledge about JavaScript/HTML/CSS, C/C++/Java/Go, Ruby/Python.
What project(s) are you interested in (these can be in the same or different organizations)?

After GSoC, I wants to work on these:

  • Parsoid, especially language converter for enabling Visual Editor for Chinese wiki project.
  • Grid system, responsive design.
  • pajx loading, pushState.
  • More guidance on Visual Editor for better instruction.
  • Flow Extension
  • Easier and central control for commonly used template(e.g. Infobox, Navbox), creating more consistent ux and reduce copying, updating work for local template version.
  • Global module
  • More modern HTML5 feature.

Any other info edit

See also edit