**Name** : Siddhartha Sarkar
**Time zone** : UTC +5:30
**Email** : firstname.lastname@example.org
**IRC nick** : infobliss
**github** : https://github.com/infobliss
**Location** : India
**Working hours** : 1:00 pm to 9:00 pm UTC +5:30
Th project aims to create a tool that uploads images from a GLAM to Wikimedia Commons with the following objectives.
* To minimize the number of steps.
* To make the process of uploading easier for the non-technical users by mapping GLAM's metadata to the Commons metadata.
* To be able to choose a set of relevant images from a GLAM site and upload them thus avoiding uploading unnecessary images and minimizing processing time.
Our Flask app uses OAuth for authenticating the Commons user. In addition we would like to do some metadata mapping for some of the GLAMs. In summary we intend to provide a tool to the users to upload images from a GLAM to Wikimedia Commons most efficiently.
**Mentors**: @Basvb, @zhuyifei1999, @tom29739
| **Period** | **Task** |
|May 4 to May 29|**Community bonding period**. Studying existing tools for uploading media to commons. Studying the Commons metadata fields in depth. Planning the design of the tool including both the frontend and the backend. Compiling a list of GLAMs. Adding and structuring the corresponding task in Phabricator. Requesting access to Tool Labs.|
|May 30 to June 10|Designing the UI templates for the FLASK app. Study the API of a number of GLAMs to decide what metadata suits the best for writing a generic file title generator module based on the metadata extracted from the GLAM API. Write the relevant code.|
|June 11 to June 20|Design the FLASK app backend.|
|June 21 to June 26|Learn how to do the OAuth authentication using Wikimedia Commons login credentials. Also learn how to host an app on wmflabs tools site.|
|June 26 to June 30|**Phase I evaluation**|
|June 30 to July 5| Work to make the tool have the ability to provide the flexibilty of choosing a number of desired files (may be by providing checkboxes against the image thumbnails) and quickly upload them to Commons (may be by a single click button)|
|July 6 to July 10|Testing Round 1: Exploratory testing and bug fixes|
|July 11 to July 16|To give the option to search for images based on a searchstring across the selected GLAMs and upload the desired ones.|
|July 16 to July 20|Receive feedback and do changes if necessary.|
|July 16 to July 20|Testing Round 2: Exploratory testing and bug fixes.|
|July 28|**Phase II evaluation**|
|July 29 to August 8| Design a template for the metadata mappings and easy way to update/edit them.|
|August 9 to August 15|Write metadata mapping for a number of GLAMs.|
|August 16 to August 20| Testing Round 3: testing the robustness of the app with the new metadata mappings already created and bug fixes.|
|August 21 to August 28|Freeze the code, write documentation and user guides. Host the tool on https://tools.wmflabs.org/.|
|August 29 to September 5 |Mentors submit final student evaluations.|
|September 6|**Final results of Google Summer of Code 2017 announced**|
- Early and robust design of the tool.
- Creation of the UI templates.
- Writing a generic file title generator module.
- Design the FLASK app backend.
- Providing OAuth authentication with Wikimedia Commons.
**Phase I evaluation**
- Providing search option across selected GLAMs for uploading.
- Improving the app based on feedback.
**Phase II evaluation**
- Designing a template for the metadata mappings.
- Writing metadata mapping for a number of GLAMs.
- Writing easy-to-read documentation and user guide of the tool.
- Write documentation and update guides.
- Hosting the tool to https://tools.wmflabs.org/.
- I will work on a separate branch on git and upload code to the forked repo periodically.
- I will be online on IRC in my working hours ( 1:00 pm to 9:00 pm UTC +5:30) to collaborate with the mentors.
- I will use Phabricator for managing bugs and subtasks.
- I will be available in gmail to be contacted when needed in the non-working hours.
Currently I am pursuing MS in Computer Science in the Indian Institute of Technology, Delhi. I am a patient learner and like to work in collaboration. To me dedication to one's work is the primary ingredient of satisfaction. This is my first participation in GSoC.
I have been contributing to Wikipedia as a translator for some time now. I am inspired and thrilled by the vision of wikipedia of making contents available in every natural language. I think contributing to wikimedia will impact the world in a very positive manner. At the same time for me it will push the horizon even farther by letting me collaborate with the excellent wikimedia community members. Most importantly I will be making something that will make the world's largest free encyclopedia, among other wikimedia sites, richer in content and organization.
I have experience in working with C++, Java, Python, HTML, CSS, PHP among others. Among databases I mostly worked on mysql, Oracle DB and among VCS I worked with Tortoise SVN.
I maintained and enhanced a video server website in IIT Delhi for streaming recorded lecture videos to the IIT Delhi community.
At IIT Delhi I have made several contributions such as configuring and incorporating a captcha to Moodle, an open source course management system.
Earlier I had also worked for improving the features of a proprietary software as well.
- T161332: Flask Backend for Single Image Batch Upload