<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-Vikasmishra95</id>
	<title>OSGeo - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-Vikasmishra95"/>
	<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/wiki/Special:Contributions/Wiki-Vikasmishra95"/>
	<updated>2026-04-14T06:40:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Vikasmishra95&amp;diff=99310</id>
		<title>User:Vikasmishra95</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Vikasmishra95&amp;diff=99310"/>
		<updated>2016-06-12T12:01:43Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Vikasmishra95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am an undergraduate student from India pursuing B.E. Electronics &amp;amp; Electrical Engineering and MSc.(Hons.) Economics at BITS Pilani, Goa Campus. I have been contributing to open source organisations for almost 3 years now and have been fortunate to participate in Google Summer of Code twice, in 2014 and in 2016, both the times for OSGeo. In 2014 I worked in implementing advanced groups and permission systems for GeoNode and in 2016 I'm working on implementing remote storage options in PyWPS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GSoC 2016: Remote Output Storage for PyWPS ==&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
| Student Name: &lt;br /&gt;
| Vikas Mishra&lt;br /&gt;
|-&lt;br /&gt;
| Organization:&lt;br /&gt;
| [http://pywps.org/ PyWPS]&lt;br /&gt;
|-&lt;br /&gt;
| Mentors: &lt;br /&gt;
| Jachym Cepicky and Jonas Eberle&lt;br /&gt;
|-&lt;br /&gt;
| Title: &lt;br /&gt;
| Remote Output Storage for PyWPS&lt;br /&gt;
|-&lt;br /&gt;
| Repository:&lt;br /&gt;
| PyWPS, browse at: [https://github.com/mishravikas/pywps  PyWPS]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Blog:&lt;br /&gt;
| [https://summerofcode16.wordpress.com/ GSoC 2016 Blog]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PyWPS is an open source, light-weight, Python based, implementation of the OGC Web Processing Service (WPS) standard. It provides users with a relatively seamless environment where to code geo-spatial functions and models that are readily exposed to the Internet through the WWW.&lt;br /&gt;
&lt;br /&gt;
PyWPS offers a straightforward WPS development framework with the increasingly popular Python language. Python offers easy access to a vast array of code libraries that can be easily used in the processes, in particular those for geo-spatial data manipulation, e.g. GRASS, GDAL/OGR, Fiona, Shapely, etc., but also to statistics packages (e.g. rpy2 for R statistics) and data analysis tools (e.g. pandas). PyWPS offers storage mechanisms for process inputs and outputs and spawns processes to the background for asynchronous execution requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project idea was listed at [https://github.com/geopython/pywps/wiki/GSoC-2016-Ideas GSoC 2016 Ideas].&lt;br /&gt;
&lt;br /&gt;
== Brief Description ==&lt;br /&gt;
&lt;br /&gt;
PyWPS has to store resulting data files at some place. Currently, simple file storage is implemented - all resulting files are stored to defined output directory on the server. When this project is finished, PyWPS will support more sophisticated methods of data storage, like external cloud service and FTP. When it comes to storing data, cloud storage is quickly becoming the method of choice. Storing files remotely rather than locally boasts an array of advantages like syncing, accessibility, security, sharing, backups, etc.&lt;br /&gt;
&lt;br /&gt;
Services and protocols which will be implemented as part of the project are - FTP storage, Google Drive, dropbox, Microsoft oneDrive and box.&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
Please note that this timeline is tentative. Some parts may finish earlier than expected whereas some might take up more time if issues arise which need to be fixed before moving forward.&lt;br /&gt;
&lt;br /&gt;
* Community bonding period (22nd April - 22nd May): Use the community bonding period to interact with the mentors to build a sense of understanding as mentor-student relationship plays a very important role in the outcome of the project. Also get involved with other developers through the mailing list and get to know what other additions they might want to see in terms of remote storage. Study the codebase and fix some bugs to get familiar with the codebase. This time will also be used in deciding whether to add support for publishing data to geoserver or go for another remote storage service.&lt;br /&gt;
&lt;br /&gt;
* Week 1 (23rd May - 29th May): In the first week I will work on a concept on how to integrate new storage types while also making it easier for adding any other service in future by making everything modular and focussing on code reusability. The first thing to keep in mind while implementing remote storage is how to manage credentials. The best way to manage credentials is by using a configuration file and whenever the credentials are required they can be pulled from the conf file. Its also important to mention that it is a big security risk to store passwords in plain texts in any file. I’ll use py-bcrypt to encrypt the credentials in the conf file. It gives an added layer of security. This week will be used in creating an infrastructure for managing credentials and configurations for the proposed services. I’ll be using the current configuration file for the configuration. I’ll also create a simple python script which will create the configuration file by prompting the instance owner for the required details.&lt;br /&gt;
&lt;br /&gt;
* Week 2 and 3 (30th May - 12th June):  Implement FTP storage option in PyWPS. The Python standard library contains ftplib which implements the client side of the FTP protocol. This module allows us to perform a large range of automated jobs over an FTP protocol for e.g. upload a file, download a file, mirror a server, etc. We are only concerned with uploading the file here since we want to save the output file in the FTP server as defined in the config file. Use the configuration parser to read in the credentials for the server and create a ftp file storage class similar to FileStorage class which is used currently to store the output file in the server itself.&lt;br /&gt;
&lt;br /&gt;
* Week 4 and 5 (13th June - 26th June): In these weeks I’ll implement dropbox storage option in PyWPS. Dropbox has built a beautiful and easy to use dropbox-sdk-python which I will use here to implement dropbox storage. This module takes care of all the issues which might occur while uploading a file like it has the ability to autorename the file in case of conflicts if autorename is selected. Since the API will not be exposed to the end user, the options like autorename will be provided by the configuration file.&lt;br /&gt;
&lt;br /&gt;
* Week 6 and 7 (27th June - 10th July): oneDrive is a cloud storage service from Microsoft similar to dropbox. In these couple of weeks I’ll use onedrive-sdk-python to implement output storage in oneDrive. Similar to the dropbox implementation API won’t be exposed to the end user and user can give options like which directory to save the file in using the configuration file as developed in the first week.&lt;br /&gt;
&lt;br /&gt;
* Week 8 and 9 (11th July - 24th July): Google Drive is a file hosting service by Google and is one of the most used cloud storage services after dropbox. I’ll use this time to provide Google drive as a storage option in PyWPS. Google provides Drive REST API  which can be used to implement this. I’ll read the documentation and implement google drive storage using the REST API. Similar to other implementations user preference can be given in the configuration file. &lt;br /&gt;
&lt;br /&gt;
* Week 10 and 11 (25th July - 7th August): I have these 2 weeks to implement one more service. I can either implement Box or implement publishing of data to geoserver using its rest API.Box is an online file sharing and content management service for businesses. It would be beneficial to provide ‘box’ as a remote storage option in PyWPS. I’ll use box-python-sdk to integrate this service in PyWPS. The choice will be made in the community bonding period by asking for inputs from all the developers and setting a priority. If we decide to add support for publishing data to geoserver I’ll use GeoServer’s rest API along with gsconfig to build upon some previous works where UMN Mapserver support was added in PyWPS 3 to implement support for usage of GeoServer in PyWPS 4, to be used for output data serving, via OGC services.&lt;br /&gt;
&lt;br /&gt;
* Week 12 and 13 (8th Aug - 23rd Aug): I’ll use the last couple of weeks to write documentations and tests. Since configuration file is a very important part of this implementation, I need to write exhaustive docs on its usage and format covering almost all the options. I plan to provide example conf file for all the services implemented showing the usage of all the available options in the API. Since I believe in the test based development philosophy I can not finish my project without writing unit tests for all the storage services implemented during the summer.&lt;br /&gt;
&lt;br /&gt;
'''Note''': I have exams from 1st May - 15th May. In this period my contribution rate might drop but I will pick up as soon as my exams get over. Other than this period, I have no other commitments and am able to work on this project full time. If for any reason my code does not get merged into master, I will continue working beyond the summer to ensure that it becomes mergeable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Vikasmishra95</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2016_Accepted&amp;diff=99309</id>
		<title>Google Summer of Code 2016 Accepted</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2016_Accepted&amp;diff=99309"/>
		<updated>2016-06-12T11:59:57Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Vikasmishra95: Added a Github Repository&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:GSoC2016Logo.jpg|500px|link=https://summerofcode.withgoogle.com/]] &amp;lt;font size=&amp;quot;+3&amp;quot;&amp;gt; @ &amp;lt;/font&amp;gt; [[Image:OSGeo_300_127_pixel.png|200px|link=http://www.osgeo.org]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Back to the main OSGeo [[Google Summer of Code 2016]] @ OSGeo wiki page.&lt;br /&gt;
&lt;br /&gt;
== Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
This year OSGeo accepted 22 students working on the following projects.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#D7E3D1; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|'''Community'''&lt;br /&gt;
|'''Project'''&lt;br /&gt;
|'''Student'''&lt;br /&gt;
|'''1st mentor'''&lt;br /&gt;
|'''2nd mentor'''&lt;br /&gt;
|'''Wiki page'''&lt;br /&gt;
|'''Repository'''&lt;br /&gt;
|-&lt;br /&gt;
|GDAL&lt;br /&gt;
|Introduce Triangulated Surface, Polyhedral Surface and Triangle API in the OGRGeometry core and implement their support in OGR drivers for GDAL &lt;br /&gt;
|Avyav Kumar Singh&lt;br /&gt;
|Rob Emanuele &lt;br /&gt;
|Even Rouault&lt;br /&gt;
|[https://github.com/avyavkumar/gdal/wiki Github]&lt;br /&gt;
|[https://github.com/avyavkumar/gdal Github]&lt;br /&gt;
|-&lt;br /&gt;
|GDAL&lt;br /&gt;
|GDAL DWG support &lt;br /&gt;
|Alexandr Borzykh&lt;br /&gt;
|Dmitry Baryshnikov &lt;br /&gt;
|Even Rouault&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/GDALDWG_SoC_2016 Wiki]&lt;br /&gt;
|[https://github.com/sandyre/libopencad Github]&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|Complete basic cartography suite in GRASS GIS wxGUI Map Display &lt;br /&gt;
|Adam Laža&lt;br /&gt;
|Anna Petrasova &lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|[https://trac.osgeo.org/grass/wiki/GSoC/2016/BasicCartographySuiteInGRASS Trac]&lt;br /&gt;
|[https://github.com/lazaa32/SoC16 GitHub]&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - Additional segmentation algorithms for i.segment &lt;br /&gt;
|Bo Yang&lt;br /&gt;
|Moritz Lennert &lt;br /&gt;
|Markus Neteler&lt;br /&gt;
|[https://trac.osgeo.org/grass/wiki/GSoC/2016/Additional_segmentation_algorithms Trac]&lt;br /&gt;
|[https://trac.osgeo.org/grass/browser/sandbox/bo/i.segment.gsoc2016 Sandbox]&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - PyQt implementation of GUI forms generated automatically from XML &lt;br /&gt;
|Ondřej Pešek&lt;br /&gt;
|Vaclav Petras &lt;br /&gt;
|Anna Petrasova&lt;br /&gt;
|[https://trac.osgeo.org/grass/wiki/GSoC/2016/PyQtGUI Trac]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - WEBGRASS &lt;br /&gt;
|Mayank Agrawal&lt;br /&gt;
|Rashad Kanavath &lt;br /&gt;
|Massimo Di Stefano&lt;br /&gt;
|[https://github.com/mayank33/webgrass/wiki Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|gvSIG&lt;br /&gt;
|Add tests and educational games support to gvSIG Educa.&lt;br /&gt;
|Carlos I. Colombana&lt;br /&gt;
|Óscar Martínez&lt;br /&gt;
|Joaquín del Cerro&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/GvSIG-Educational-Games_GSoC_2016#Project Wiki]&lt;br /&gt;
|[https://github.com/nacho0605/GSoC2016 GitHub]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|gvSIG&lt;br /&gt;
|Development of a model for woody debris flooding hazard in gvSIG&lt;br /&gt;
|Silvia Franceschi&lt;br /&gt;
|Andrea Antonello&lt;br /&gt;
|Riccardo Rigon&lt;br /&gt;
|[https://github.com/moovida/jgrasstools/wiki/Google-Summer-of-Code-2016 github]&lt;br /&gt;
|[https://github.com/silviafranceschi/jgrasstools github]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|Android istSOS client&lt;br /&gt;
|Florin-Daniel Cioloboc&lt;br /&gt;
|Mirko Cardoso&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Android_istSOS Wiki]&lt;br /&gt;
|[https://github.com/istSOS/java-core Github] [https://github.com/masterflorin/java-core Fork]&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|istSOS Web API&lt;br /&gt;
|Luka Glušica&lt;br /&gt;
|Massimiliano Cannata&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/IstSOS_Web_API Wiki]&lt;br /&gt;
|[https://github.com/istSOS/javascript-core GitHub] [https://github.com/WebPractice-LukaG/javascript-core Fork]&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|VistSOS: the istSOS Data Visualization Framework&lt;br /&gt;
|Felipe Poveda&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|Massimiliano Cannata&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/VistSOS_Data_Visualization_Framework Wiki]&lt;br /&gt;
|[https://github.com/felipe07/vistsos GitHub]&lt;br /&gt;
|-&lt;br /&gt;
|NASA World Wind&lt;br /&gt;
|NASA Web World Wind - Multidimensional Visualization Tool for Environmental Variables&lt;br /&gt;
|Gabriele Prestifilippo&lt;br /&gt;
|Jakub Balhar&lt;br /&gt;
|Patrick Hogan&lt;br /&gt;
|[[NASA Web WorldWind Multidimension Visualization Tool GSoC 2016|Wiki]]&lt;br /&gt;
|[https://github.com/GabrielePrestifilippo/EST-WA-Javascript GitHub]&lt;br /&gt;
|-&lt;br /&gt;
|OpenLayers3 - Google maps&lt;br /&gt;
|OGC protocols support within OL3-Google-Maps&lt;br /&gt;
|Samuel Lapointe&lt;br /&gt;
|Alexandre Dube&lt;br /&gt;
|Jessica Lapointe&lt;br /&gt;
|[[OL3-GoogleMaps_GSoC_2016|Wiki]]&lt;br /&gt;
|[https://github.com/mapgears/ol3-google-maps GitHub] [https://github.com/samuellapointe/ol3-google-maps Fork]&lt;br /&gt;
|-&lt;br /&gt;
|OneBusAway/Transitime&lt;br /&gt;
|Tansitime Quickstart application &lt;br /&gt;
|Brendan Egan&lt;br /&gt;
|Og Crudden&lt;br /&gt;
|Stefan Steiner&lt;br /&gt;
|[https://github.com/Egan109/core/wiki/Transitime-QuickStart-Gsoc-2016 Wiki]&lt;br /&gt;
|[https://github.com/Egan109/core Github]&lt;br /&gt;
|-&lt;br /&gt;
|OSSIM&lt;br /&gt;
|A complete photogrammetric OSSIM tool for automatic DSMs generation using multi-view optical and SAR images&lt;br /&gt;
|Martina Di Rita&lt;br /&gt;
|Oscar Kramer&lt;br /&gt;
|Dave Burken&lt;br /&gt;
|[https://trac.osgeo.org/ossim/wiki/GSoC_2016  Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Flow Algorithms for pgRouting&lt;br /&gt;
|Andrea Nardelli&lt;br /&gt;
|Daniel Kastl&lt;br /&gt;
|Vicky Vergara&lt;br /&gt;
|[https://github.com/Illedran/pgrouting/wiki/GSoC-2016-Flow Github Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Implementation of a framework which supports addition of contraction techniques for pgRouting&lt;br /&gt;
|Sankepally Rohith Reddy&lt;br /&gt;
|Vicky Vergara&lt;br /&gt;
|Daniel Kastl&lt;br /&gt;
|[https://github.com/sankepallyrohithreddy/pgrouting/wiki/GSoc-2016-Contraction Github Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PyWPS&lt;br /&gt;
|Remote Output Storage for PyWPS&lt;br /&gt;
|Vikas Mishra&lt;br /&gt;
|Jachym Cepicky&lt;br /&gt;
|Jonas Eberle&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Vikasmishra95 Wiki]&lt;br /&gt;
|[https://github.com/mishravikas/pywps Github]&lt;br /&gt;
|-&lt;br /&gt;
|PyWPS&lt;br /&gt;
|Web-based administration &amp;amp; process management for PyWPS&lt;br /&gt;
|Jan Rudolf&lt;br /&gt;
|Jonas Eberle&lt;br /&gt;
|Jachym Cepicky&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/GSoC_2016_Web_administration_and_process_management_for_PyWPS Wiki]&lt;br /&gt;
|[https://github.com/jan-rudolf/pywps Forked PyWPS] [https://github.com/jan-rudolf/gsoc-python-process-control Support app 1] [https://github.com/jan-rudolf/gsoc-pywps-app Support app 2]&lt;br /&gt;
|-&lt;br /&gt;
|QGIS&lt;br /&gt;
|QGIS Styles, Symbols, and SVG Markers Sharing Repository&lt;br /&gt;
|Akbar Gumbira&lt;br /&gt;
|Alessandro Pasotti&lt;br /&gt;
|Anita Graser&lt;br /&gt;
|[[QGIS Sharing Repository|Wiki]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ZOO-Project&lt;br /&gt;
|Bringing pyModis to the web through ZOO-Project&lt;br /&gt;
|Chingchai Humhong&lt;br /&gt;
|Luca Delucchi&lt;br /&gt;
|Gerald Fenoy&lt;br /&gt;
|[http://zoo-project.org/trac/wiki/Bringing_pyModis_to_the_web_through_ZOO-Project_GSoC_2016 Wiki]&lt;br /&gt;
|[https://github.com/chingchai/pyModis/tree/gsoc-2016/zoo-pymodis/ Github]&lt;br /&gt;
|-&lt;br /&gt;
|ZOO-Project&lt;br /&gt;
|Implementing WPS for Geopaparazzi field data collection tool using ZOO-Project: Simplifying integration of field data and GIS&lt;br /&gt;
|Niroshan Sanjaya&lt;br /&gt;
|Gerald Fenoy&lt;br /&gt;
|Andrea Antonello&lt;br /&gt;
|[http://zoo-project.org/trac/wiki/IMPLEMENTING_WPS_FOR_GEOPAPARAZZI_FIELD_DATA_COLLECTION_TOOL_USING_ZOO-PROJECT%3ASIMPLIFYING_INTEGRATION_OF_FIELD_DATA_AND_GIS Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [https://summerofcode.withgoogle.com/organizations/6273632556810240/ accepted projects on Google's platform].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Vikasmishra95</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2016_Accepted&amp;diff=98499</id>
		<title>Google Summer of Code 2016 Accepted</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2016_Accepted&amp;diff=98499"/>
		<updated>2016-05-03T06:32:24Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Vikasmishra95: Added a wiki link for GSoC 2016 for PyWPS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:GSoC2016Logo.jpg|500px|link=https://summerofcode.withgoogle.com/]] &amp;lt;font size=&amp;quot;+3&amp;quot;&amp;gt; @ &amp;lt;/font&amp;gt; [[Image:OSGeo_300_127_pixel.png|200px|link=http://www.osgeo.org]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Back to the main OSGeo [[Google Summer of Code 2016]] @ OSGeo wiki page.&lt;br /&gt;
&lt;br /&gt;
== Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
This year OSGeo accepted 22 students working on the following projects.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#D7E3D1; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|'''Community'''&lt;br /&gt;
|'''Project'''&lt;br /&gt;
|'''Student'''&lt;br /&gt;
|'''1st mentor'''&lt;br /&gt;
|'''2nd mentor'''&lt;br /&gt;
|'''Links'''&lt;br /&gt;
|-&lt;br /&gt;
|GDAL&lt;br /&gt;
|Introduce Triangulated Surface, Polyhedral Surface and Triangle API in the OGRGeometry core and implement their support in OGR drivers for GDAL &lt;br /&gt;
|Avyav Kumar Singh&lt;br /&gt;
|Rob Emanuele &lt;br /&gt;
|Even Rouault&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|GDAL&lt;br /&gt;
|GDAL DWG support &lt;br /&gt;
|Alexandr Borzykh&lt;br /&gt;
|Dmitry Baryshnikov &lt;br /&gt;
|Even Rouault&lt;br /&gt;
|[https://github.com/sandyre/libopencad Github]&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|Complete basic cartography suite in GRASS GIS wxGUI Map Display &lt;br /&gt;
|Adam Laža&lt;br /&gt;
|Anna Petrasova &lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - Additional segmentation algorithms for i.segment &lt;br /&gt;
|Bo Yang&lt;br /&gt;
|Moritz Lennert &lt;br /&gt;
|Markus Neteler&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User_talk:Hao2309 Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - PyQt implementation of GUI forms generated automatically from XML &lt;br /&gt;
|Ondřej Pešek&lt;br /&gt;
|Vaclav Petras &lt;br /&gt;
|Anna Petrasova&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - WEBGRASS &lt;br /&gt;
|Mayank Agrawal&lt;br /&gt;
|Rashad Kanavath &lt;br /&gt;
|Massimo Di Stefano&lt;br /&gt;
|[https://github.com/mayank33/webgrass/wiki Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|gvSIG&lt;br /&gt;
|Add tests and educational games support to gvSIG Educa.&lt;br /&gt;
|Carlos I. Colombana&lt;br /&gt;
|Oscar Martinez&lt;br /&gt;
|Joaquin del Cerro&lt;br /&gt;
|[[GvSIG-Educational-Games_GSoC_2016|Wiki]]&lt;br /&gt;
|-&lt;br /&gt;
|gvSIG&lt;br /&gt;
|Development of a model for woody debris flooding hazard in gvSIG&lt;br /&gt;
|Silvia Franceschi&lt;br /&gt;
|Andrea Antonello&lt;br /&gt;
|Riccardo Rigon&lt;br /&gt;
|[https://github.com/moovida/jgrasstools/wiki/Google-Summer-of-Code-2016 github]&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|Android istSOS client&lt;br /&gt;
|Cioloboc FlorinDaniel&lt;br /&gt;
|Mirko Cardoso&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|istSOS Web API&lt;br /&gt;
|Luka Glušica&lt;br /&gt;
|Massimiliano Cannata&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/IstSOS_Web_API Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|VistSOS: the istSOS Data Visualization Framework&lt;br /&gt;
|Felipe Poveda&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|Massimiliano Cannata&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|NASA World Wind&lt;br /&gt;
|NASA Web World Wind - Multidimensional Visualization Tool for Environmental Variables&lt;br /&gt;
|Gabriele Prestifilippo&lt;br /&gt;
|Jakub Balhar&lt;br /&gt;
|Patrick Hogan&lt;br /&gt;
||[[NASA Web WorldWind Multidimension Visualization Tool GSoC 2016|Wiki]]&lt;br /&gt;
|-&lt;br /&gt;
|OpenLayers3 - Google maps&lt;br /&gt;
|OGC protocols support within OL3-Google-Maps&lt;br /&gt;
|Samuel Lapointe&lt;br /&gt;
|Alexandre Dube&lt;br /&gt;
|Jessica Lapointe&lt;br /&gt;
| [[OL3-GoogleMaps_GSoC_2016|Wiki]]&lt;br /&gt;
|-&lt;br /&gt;
|One bus Away&lt;br /&gt;
|One bus Away Quick start&lt;br /&gt;
|Brendan Egan&lt;br /&gt;
|Og Crudden&lt;br /&gt;
|Stefan Steiner&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|OSSIM&lt;br /&gt;
|A complete photogrammetric OSSIM tool for automatic DSMs generation using multi-view optical and SAR images&lt;br /&gt;
|Martina Di Rita&lt;br /&gt;
|Oscar Kramer&lt;br /&gt;
|Dave Burken&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Flow Algorithms for pgRouting&lt;br /&gt;
|Andrea Nardelli&lt;br /&gt;
|Daniel Kastl&lt;br /&gt;
|Vicky Vergara&lt;br /&gt;
|[https://github.com/Illedran/pgrouting/wiki/GSoC-2016-Flow Github Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Implementation of a framework which supports addition of contraction techniques for pgRouting&lt;br /&gt;
|Sankepally Rohith Reddy&lt;br /&gt;
|Vicky Vergara&lt;br /&gt;
|Daniel Kastl&lt;br /&gt;
|[https://github.com/sankepallyrohithreddy/pgrouting/wiki/GSoc-2016-Contraction Github Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|PyWPS&lt;br /&gt;
|Remote Output Storage for PyWPS&lt;br /&gt;
|Vikas Mishra&lt;br /&gt;
|Jachym Cepicky&lt;br /&gt;
|Jonas Eberle&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Vikasmishra95 Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|PyWPS&lt;br /&gt;
|Web-based administration &amp;amp; process management for PyWPS&lt;br /&gt;
|Jan Rudolf&lt;br /&gt;
|Jonas Eberle&lt;br /&gt;
|Jachym Cepicky&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|QGIS&lt;br /&gt;
|QGIS Styles, Symbols, and SVG Markers Sharing Repository&lt;br /&gt;
|Akbar Gumbira&lt;br /&gt;
|Alessandro Pasotti&lt;br /&gt;
|Anita Graser&lt;br /&gt;
| [[QGIS Sharing Repository|Wiki]]&lt;br /&gt;
|-&lt;br /&gt;
|ZOO-Project&lt;br /&gt;
|Bringing pyModis to the web through ZOO-Project&lt;br /&gt;
|Chingchai Humhong&lt;br /&gt;
|Luca Delucchi&lt;br /&gt;
|Gerald Fenoy&lt;br /&gt;
|[http://zoo-project.org/trac/wiki/Bringing_pyModis_to_the_web_through_ZOO-Project_GSoC_2016 Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|ZOO-Project&lt;br /&gt;
|Implementing WPS for Geopaparazzi field data collection tool using ZOO-Project: Simplifying integration of field data and GIS&lt;br /&gt;
|Niroshan Sanjaya&lt;br /&gt;
|Gerald Fenoy&lt;br /&gt;
|Andrea Antonello&lt;br /&gt;
|[http://zoo-project.org/trac/wiki/IMPLEMENTING_WPS_FOR_GEOPAPARAZZI_FIELD_DATA_COLLECTION_TOOL_USING_ZOO-PROJECT%3ASIMPLIFYING_INTEGRATION_OF_FIELD_DATA_AND_GIS Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [https://summerofcode.withgoogle.com/organizations/6273632556810240/ accepted projects on Google's platform].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Vikasmishra95</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Vikasmishra95&amp;diff=98498</id>
		<title>User:Vikasmishra95</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Vikasmishra95&amp;diff=98498"/>
		<updated>2016-05-03T06:29:27Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Vikasmishra95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am an undergraduate student from India pursuing B.E. Electronics &amp;amp; Electrical Engineering and MSc.(Hons.) Economics at BITS Pilani, Goa Campus. I have been contributing to open source organisations for almost 3 years now and have been fortunate to participate in Google Summer of Code twice, in 2014 and in 2016, both the times for OSGeo. In 2014 I worked in implementing advanced groups and permission systems for GeoNode and in 2016 I'm working on implementing remote storage options in PyWPS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GSoC 2016: Remote Output Storage for PyWPS ==&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
| Student Name: &lt;br /&gt;
| Vikas Mishra&lt;br /&gt;
|-&lt;br /&gt;
| Organization:&lt;br /&gt;
| [http://pywps.org/ PyWPS]&lt;br /&gt;
|-&lt;br /&gt;
| Mentors: &lt;br /&gt;
| Jachym Cepicky and Jonas Eberle&lt;br /&gt;
|-&lt;br /&gt;
| Title: &lt;br /&gt;
| Remote Output Storage for PyWPS&lt;br /&gt;
|-&lt;br /&gt;
| Repository:&lt;br /&gt;
| PyWPS-4, browse at: [https://github.com/mishravikas/pywps-4  PyWPS]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Blog:&lt;br /&gt;
| [https://summerofcode16.wordpress.com/ GSoC 2016 Blog]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PyWPS is an open source, light-weight, Python based, implementation of the OGC Web Processing Service (WPS) standard. It provides users with a relatively seamless environment where to code geo-spatial functions and models that are readily exposed to the Internet through the WWW.&lt;br /&gt;
&lt;br /&gt;
PyWPS offers a straightforward WPS development framework with the increasingly popular Python language. Python offers easy access to a vast array of code libraries that can be easily used in the processes, in particular those for geo-spatial data manipulation, e.g. GRASS, GDAL/OGR, Fiona, Shapely, etc., but also to statistics packages (e.g. rpy2 for R statistics) and data analysis tools (e.g. pandas). PyWPS offers storage mechanisms for process inputs and outputs and spawns processes to the background for asynchronous execution requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project idea was listed at [https://github.com/geopython/pywps/wiki/GSoC-2016-Ideas GSoC 2016 Ideas].&lt;br /&gt;
&lt;br /&gt;
== Brief Description ==&lt;br /&gt;
&lt;br /&gt;
PyWPS has to store resulting data files at some place. Currently, simple file storage is implemented - all resulting files are stored to defined output directory on the server. When this project is finished, PyWPS will support more sophisticated methods of data storage, like external cloud service and FTP. When it comes to storing data, cloud storage is quickly becoming the method of choice. Storing files remotely rather than locally boasts an array of advantages like syncing, accessibility, security, sharing, backups, etc.&lt;br /&gt;
&lt;br /&gt;
Services and protocols which will be implemented as part of the project are - FTP storage, Google Drive, dropbox, Microsoft oneDrive and box.&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
Please note that this timeline is tentative. Some parts may finish earlier than expected whereas some might take up more time if issues arise which need to be fixed before moving forward.&lt;br /&gt;
&lt;br /&gt;
* Community bonding period (22nd April - 22nd May): Use the community bonding period to interact with the mentors to build a sense of understanding as mentor-student relationship plays a very important role in the outcome of the project. Also get involved with other developers through the mailing list and get to know what other additions they might want to see in terms of remote storage. Study the codebase and fix some bugs to get familiar with the codebase. This time will also be used in deciding whether to add support for publishing data to geoserver or go for another remote storage service.&lt;br /&gt;
&lt;br /&gt;
* Week 1 (23rd May - 29th May): In the first week I will work on a concept on how to integrate new storage types while also making it easier for adding any other service in future by making everything modular and focussing on code reusability. The first thing to keep in mind while implementing remote storage is how to manage credentials. The best way to manage credentials is by using a configuration file and whenever the credentials are required they can be pulled from the conf file. Its also important to mention that it is a big security risk to store passwords in plain texts in any file. I’ll use py-bcrypt to encrypt the credentials in the conf file. It gives an added layer of security. This week will be used in creating an infrastructure for managing credentials and configurations for the proposed services. I’ll be using the current configuration file for the configuration. I’ll also create a simple python script which will create the configuration file by prompting the instance owner for the required details.&lt;br /&gt;
&lt;br /&gt;
* Week 2 and 3 (30th May - 12th June):  Implement FTP storage option in PyWPS. The Python standard library contains ftplib which implements the client side of the FTP protocol. This module allows us to perform a large range of automated jobs over an FTP protocol for e.g. upload a file, download a file, mirror a server, etc. We are only concerned with uploading the file here since we want to save the output file in the FTP server as defined in the config file. Use the configuration parser to read in the credentials for the server and create a ftp file storage class similar to FileStorage class which is used currently to store the output file in the server itself.&lt;br /&gt;
&lt;br /&gt;
* Week 4 and 5 (13th June - 26th June): In these weeks I’ll implement dropbox storage option in PyWPS. Dropbox has built a beautiful and easy to use dropbox-sdk-python which I will use here to implement dropbox storage. This module takes care of all the issues which might occur while uploading a file like it has the ability to autorename the file in case of conflicts if autorename is selected. Since the API will not be exposed to the end user, the options like autorename will be provided by the configuration file.&lt;br /&gt;
&lt;br /&gt;
* Week 6 and 7 (27th June - 10th July): oneDrive is a cloud storage service from Microsoft similar to dropbox. In these couple of weeks I’ll use onedrive-sdk-python to implement output storage in oneDrive. Similar to the dropbox implementation API won’t be exposed to the end user and user can give options like which directory to save the file in using the configuration file as developed in the first week.&lt;br /&gt;
&lt;br /&gt;
* Week 8 and 9 (11th July - 24th July): Google Drive is a file hosting service by Google and is one of the most used cloud storage services after dropbox. I’ll use this time to provide Google drive as a storage option in PyWPS. Google provides Drive REST API  which can be used to implement this. I’ll read the documentation and implement google drive storage using the REST API. Similar to other implementations user preference can be given in the configuration file. &lt;br /&gt;
&lt;br /&gt;
* Week 10 and 11 (25th July - 7th August): I have these 2 weeks to implement one more service. I can either implement Box or implement publishing of data to geoserver using its rest API.Box is an online file sharing and content management service for businesses. It would be beneficial to provide ‘box’ as a remote storage option in PyWPS. I’ll use box-python-sdk to integrate this service in PyWPS. The choice will be made in the community bonding period by asking for inputs from all the developers and setting a priority. If we decide to add support for publishing data to geoserver I’ll use GeoServer’s rest API along with gsconfig to build upon some previous works where UMN Mapserver support was added in PyWPS 3 to implement support for usage of GeoServer in PyWPS 4, to be used for output data serving, via OGC services.&lt;br /&gt;
&lt;br /&gt;
* Week 12 and 13 (8th Aug - 23rd Aug): I’ll use the last couple of weeks to write documentations and tests. Since configuration file is a very important part of this implementation, I need to write exhaustive docs on its usage and format covering almost all the options. I plan to provide example conf file for all the services implemented showing the usage of all the available options in the API. Since I believe in the test based development philosophy I can not finish my project without writing unit tests for all the storage services implemented during the summer.&lt;br /&gt;
&lt;br /&gt;
'''Note''': I have exams from 1st May - 15th May. In this period my contribution rate might drop but I will pick up as soon as my exams get over. Other than this period, I have no other commitments and am able to work on this project full time. If for any reason my code does not get merged into master, I will continue working beyond the summer to ensure that it becomes mergeable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Vikasmishra95</name></author>
	</entry>
</feed>