Automatic cross-language screenshots

Automatic cross-language screenshots for user documentation
Public URL: https://www.mediawiki.org/wiki/User:Vikassy/GSoC14
 * Bugzilla report:
 * Announcement: :

Name and contact information
Name: Vikas S Yaligar

Email:  vikasyaligar.it@gmail.com

IRC: vikas/vikassy on freenode

Blog: vikassy.github.io

Location: Surathkal [During GSOC: Bangalore], India (UTC+05:30)

Typical working hours: 12:30 pm - 09:30 pm (UTC) (adjustable)

Synopsis
Problem

MediaWiki is a large and complex piece of software, and the user guide for core and those for extensions (like VisualEditor or Translate) each have a large number of images illustrating functions and stages of operation. However, these often date quickly as the software changes, and are generally only available in English or at best a few languages, which means that non-English users are not as well served.

'''How is it currently being solved? '''

Currently all the screenshots are taken manually and uploaded after cropping. But Wikimedia supports 287 languages, hence doing it manually is redundant and time consuming.

Solution 

A web automation which will capture the current look of the software with screenshots of the entire browser window, or sections of it, doing some scripted actions, across the hundreds of languages that MediaWiki supports and upload it to Wikimedia commons. Hence whenever a functionality is changed, the automation can be rerun to get updated images.

Implementation

Currently there are many features of extensions are being tested using browser testing. It would be sensible to use them as a part of current project for taking screenshot. It is feasible to use the mediawiki_selenium gem to achieve the automation for screenshots. More information about this can be found in deliverables.

Amire E Aharoni, James Forrester  and the Quality Assurance team
 * Possible mentors

Deliverables
Please describe the details and the timeline of the work you plan to accomplish on the project you are most interested in (discuss these first with the mentor of the project):

Participation
My process of participation in project will be as follows:
 * Notify mentors and Quality Assurance team(through mailing list) about the work for the week.
 * If stuck at any point, search for solutions first.
 * If searching did not help, check if mentors/QA team members are free at that point of time in IRC, if so ask them about the problem.
 * If no one is free, then put it up in mailing list and wait for some time for response.
 * If the problem is complex, ask other people working outside community for help.

About me
I am studying 3rd year(Bachelors of Technology) in National Institue of Technology Karnataka Surathkal. From friend who had been selected for GSOC. No. Only GSOC.
 * Education completed or in progress
 * How did you hear about this program?
 * Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?
 * We advise all candidates eligible to Google Summer of Code and FOSS Outreach Program for Women to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?

Past experience
I started my journey by learning git and adding all of my projects to opensource. Then I started to look for bugs which I can solve. I made my first contribution by fixing a small bug in active_admin gem, which made me understand how one can automatically generates documentation for code written and experienced support for contribution. Hence I decided I should be a part of organization which supports FOSS projects. In Wikimedia I enjoyed worked on Bug #62152, Bug #58900 and happily working on Bug #55867, with these I learnt how to write browser tests and how these are run in cloudbees. I have contributed to Codeniti, by being a part of Map my village project(contribution), with this I learnt to create and collaborate with a team to create applications. I have also worked on rails internals and tor projects, which gave made me realize how important tests are. This one, because I find it interesting.
 * Please describe your experience with any other FOSS projects as a user and as a contributor
 * Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them (include links)
 * What project(s) are you interested in (these can be in the same or different organizations)?