Difference between revisions of "GSoC 2020 Data transaction implementation on pygeoapi"

From OSGeo
Jump to navigation Jump to search
Line 15: Line 15:
 
== Timeline ==
 
== Timeline ==
  
 +
=== Community bonding period ===
 
=== 4th May - 31st May ===
 
=== 4th May - 31st May ===
'''Community bonding period''':
 
 
 
'''What I have done during this period?'''
 
'''What I have done during this period?'''
 
* Joined pygeoapi Gitter room
 
* Joined pygeoapi Gitter room
Line 31: Line 30:
 
* Started working on the openapi document
 
* Started working on the openapi document
  
=== 1st June - 7th June ===
+
=== Coding Phase 1 ===
'''Coding Week 1:'''
+
=== Week 1(1st June - 7th June) ===
 
 
 
'''What I have done during this period?'''
 
'''What I have done during this period?'''
 
* Defined openapi document schemas for remove(DELETE), insert(POST), modify(PATCH), replace(PUT) transactions
 
* Defined openapi document schemas for remove(DELETE), insert(POST), modify(PATCH), replace(PUT) transactions

Revision as of 09:56, 6 June 2020

Introduction

Idea

pygeoapi is a python server implementation of the OGC API suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML. pygeoapi is open source and released under an MIT license.

This GSoC project aims to add support for simple transactions in pygeoapi. This project will implement Create, Update, Delete operations in pygeoapi data providers, thereby enabling all standard CRUD transactions in pygeoapi. This will enable an application developer to perform a transaction in a pygeoapi data provider through an HTTP request containing the resource id and suitable HTTP verb (POST/PUT/DELETE/PATCH). The project proposal is based on OGC API - Features - Part 4: Simple Transactions.

Project proposal

My proposal for GSoC 2020 can be found at Proposal.

Advantages from this project

pygeoapi implements OGC WFS 3.0 (OGC Feature API) which is fully RESTful. This makes it much easier for the application developers to work with. This project idea implements 'Part 4 : Simple Transactions' of this OGC standard. It adds transactional capabilities to the pygeoapi data providers by which application developers can perform transactions via the RESTful API itself. A RESTful API supporting complete CRUD transactions will be preferred by most application developers over other non-RESTful APIs. So this will make pygeoapi a more popular choice among application developers.


Link to Github repository: Repo

Timeline

Community bonding period

4th May - 31st May

What I have done during this period?

  • Joined pygeoapi Gitter room
  • Went through the current features of pygeoapi
  • Went through OGC API - Features - Part 4: Simple Transactions [1] draft
  • Forked the pygeoapi GitHub repository Repository
  • Introduced myself over the channel and shared my proposal over mailing list for suggestions
  • Created a wiki page for the project "Data transaction implementation on pygeoapi"
  • Updated wiki user page and added my personal information [Link]
  • Updated links on the wiki Google_Summer_of_Code_2020_Accepted page [Link]
  • Had a discussion with mentors regarding the expectations and development workflow
  • Discussed the openapi specification document with the mentors
  • Started working on the openapi document

Coding Phase 1

Week 1(1st June - 7th June)

What I have done during this period?

  • Defined openapi document schemas for remove(DELETE), insert(POST), modify(PATCH), replace(PUT) transactions
  • Pushed the proposed openapi document sample to the openapidoc branch in my forked repo
  • Shared the doc with pygeoapi community for suggestions

What do I plan on doing next week?

  • Modify openapi.py file so that it generates the proposed openapi document
  • Test the code for compliance

Blocking issues

None

Student's Biography

My name is Alex Mathew. I am a computer science graduate now pursuing my masters in geoinformatics under the Centre of Studies in Resources Engineering, Indian Institute of Technology Bombay, Mumbai, India. Some more information about me can be obtained by following the link: [Link]

Mentors

  • Jorge de Jesus
  • Francesco Bartoli