UploadWizard OSM map embedding

FOSS OPW Round 7,Project:Upload wizard-OSM Map Embedding

 * Public URL: https://www.mediawiki.org/wiki/User:Inchikutty/UploadWizard_OSM_Map_Embedding
 * Bugzilla report: Bug 56612
 * Announcement: Upload wizard-OSM Map Embedding Project

Name and contact information
Name: Anu G Enchackal Email:inchikutty13@gmail.com IRC or IM networks/handle(s):inchikutty Location:Kerala,India Time zone:UTC+05:30 

Synopsis
This project is about enhancing the image upload process for Wikimedia Commons. Commons is an image hosting site which is used by Wikipedia and a bunch of other sites, as a central location to store free images, which can be reused anywhere without needing to worry about copyright.

Commons has millions of images and Wikipedia editors need to be able to find quickly the right ones for their articles, so it is important to store various metadata with the image which will help navigation - topic of the image, when it was made and so on. This metadata is usually stored in a complex template language that is specific to MediaWiki, and the sight of which usually makes people to flee in terror. Since we cannot expect image authors to learn to write something like that, Commons has a tool called UploadWizard which creates all the code for you, after you fill out a bunch of forms. The main goal of the OSM map embedding project would be to provide map interface & the integration with external databases to the UploadWizard. (OSM stands for OpenStreetMap - a free map application which is similar to Google Maps but not encumbered by restrictive copyright.)

The secondary goal is to integrate with some databases of locations and use that in various ways. One way would be checking if there are locations with requested images nearby (that is, someone put out a note that Commons needs good images about a certain place and doesn't currently have any), and warn the uploader about them. Another involves image competitions where people can participate with pictures taken at some predefined locations; UploadWizard could get a list of these locations and use it to help the participant in selecting where he took the photo.

Information Courtesy:Gergő Tisza,Project Mentor

Proposed Timeline [ FOSS OPW Round 7: December, 2013 - March, 2014 ]
Week 1: With the help of my mentor,I will navigate through the existing code and structure of UploadWizard, in order to understand the system in detail. Week 2-6: These five weeks are purely for coding .The plan is to first develop a map widget for UploadWizard which can meet the project's intended main goal,and adding features,one by one to it .Choosing the map plugin,adding functions to it, integrating interfaces to handle the functioning of the widget, handlers to connect the widget to external resources are a few of the many important tasks during this period. Week 7: Test and Submit the code for reviewing. Week 8-10:Take up suggestions from Code reviewers and members of wikimedia community and "code" upon the suggestions, Week 11-12: Making minor changes to the product for enhancing its appeal and providing "better finishing"!

Features

 * static map
 * dyamic map
 * geocoding
 * reverse geocoding
 * type|importance specific zoom for various locations on geocoding| reverse geocoding

Code
Change sets

Prototype
http://uploadwizard-osm.wmflabs.org/wiki/Special:UploadWizard

Status
Development of map widget completed 

Monthly Reports

 * December
 * January
 * February
 * March

Summary
Development of map widget is completed. Functionalities added to widget includes staticmap generation, leaflet based dynamic map initialization, identification & display of coordinates from dynamic map on mouse click, geocoding, reverse geocoding & Identifying type of place from geocoded result and setting zoom level accordingly.

Although map widget is completed, its design needs to be improved and there are a lot of possibilities for introducing much more features, hence this project has a future beyond end of OPW. I wish to continue contributing to this project till it achieves every single goal it has.

A note of gratitude
I would like to thank my mentor Gergő Tisza for providing complete support and rock solid mentorship during OPW internship. I would also like to thank Mark Holmquist for stepping in for code reviews and encouraging during OPW micro task days, Fedrico Leva for all the encouragement,Niklas Laxström & Pratheek Saxena for stepping in for code reviews. I would also like to thank Quim, for helping me with all queries. Thanks a lot Sumana, for all your guidance and support and a big note of gratitude to vibrant mediawiki community. :)