Automatic cross-language screenshots/progress

Project title: Automatic cross-language screenshots

Goals for first half
The first half of the project aims to accomplish the following goals -
 * Creating a hooks which can take cropped screenshots for Visual Editor documentation, so that only task remaining will be writing browser tests for getting exact screenshots.

Communication plan

 * Meeting twice a week(Monday and Thursday) in Skype/Google Hangout to report my status of the project.
 * If anything needs to be communicated, then google chat(with mentor)/IRC/mail(in QA mailing list) is used.

Lessons learnt since April 21st

 * Learned to setup environment for running browser tests in local machine.
 * Had a pair programming with Zeljko, where he reviewed my code and taught me how to use jenkins.
 * Learned the work flow to solve Bug and submit patch: Bug #62152
 * Learned to write browser test and wrote one for preference Gadgets: Bug #58900

Week 1: May 19 to May 25

 * After hook to take Screenshots.
 * Cropping elements with respect to a scenario.
 * Working for English and German beta labs.
 * Screenshot is named according to the scenario.

Week 2: May 26 to June 2

 * Moved the After hook from wikimedia-selenium to mediawiki-extensions-VisualEditor.
 * Made tests pass, which were failing because of cross-language.
 * Tried running it for all language beta-labs and found that it works for Simple English and Hebrew, others have problems with their VisualEditor.
 * Checked if code is run by others and whether it works.

Week 3: June 2 to June 8

 * Made a bot using Mediawiki Api(Ruby) to upload into Wikimedia Commons and release new versions of it.
 * Made a jenkins job to make it run on my Cloudbees, which runs cucumber for various languages and uploads it to Wikimedia Commons.

Week 4: June 9 to June 15

 * Tested the bot with the commons beta labs.
 * Learn't to use and create templates in Mediawiki

Week 5: June 16 to June 22

 * Done with creating a job for running 3 languages.
 * Uploading script modified according to new source for the commons.

Week 6: June 23 to June 29

 * Modified the job and redirected it to tests2 beta labs
 * Wrote all the simple scenarios for the User guide
 * Discussed the complex scenarios with the mentor

Week 7: June 30 to July 6

 * Analysed the difference in the image taken from the Jenkins job and the browser running in the local machine.
 * Adjusted the size of the images, by correcting the zoom of it.

Week 8: July 7 to July 13

 * Made some changes to the User Guide of Visual Editor to check how the documentation looks like in cross languages.
 * Got permission to run the Jenkins job in Wikimedia integration.

Week 9: July 14 to July 20

 * Wrote complex scenarios for the job, to cover the complex screenshots.

Week 9: July 21 to July 27

 * Applied for the bot permission on the Wikimedia commons.
 * Uploaded 3 basic languages in the commons to test the bot.

Week 10: July 28 to August 3

 * Solved the problem of multiple uploading, which would conflict with the bot rules.
 * All the jobs now were run serially.

Week 11 and Week 12: August 3 to August 18

 * Created a documentation for the LanguageScreenshots.
 * Uploaded screenshots to the commons, after the bot was approved.
 * Redirected the job of Jenkins to the production commons.
 * Added around 23 languages for the screenshot job.