ODM2 / ODM2RESTfulWebServices

A Python RESTful web service inteface for accessing data in an ODM2 database via Django rest swagger APIs.
http://odm2.github.io/ODM2RESTfulWebServices/
BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

Beyond first set of endpoints: related features, related actions, actionby, etc #58

Open emiliom opened 6 years ago

emiliom commented 6 years ago

Looks like all the endpoints defined in the REST API design doc and targeted by issues in milestone 1 are now implemented! See @lsetiawan's test deployment at http://54.186.36.247:8001/v1/docs/ to test it out. Don is also working on a Jupyter notebook that demos some of the endpoints, for next week.

One clear need exposed by this initial implementation is the ability to request "related" entities, specially related features (eg, the site sampling feature holding the geospatial information, related to a specimen sampling feature of interest). Here is an example samplingfeaturedatasets request returning a rich response (overly rich, depending on the use case!) that does not include location (x-y coords) information or the ability to obtain it. It also doesn't have the ability to pull out the people and organizations related to the returned actions (ie, ActionBy and related entities).

Anyway, I'm laying this out just as a motivator for the next stage. Below I'll paste and briefly comment on some relevant discussions from PR #54:

(EMILIO) looking at this response and the corresponding endpoint description in the REST API Google doc brings up broader questions about what specifically should (and shouldn't?) be included in the response.

(JEFF) I think the approval of the response content and structure should go in a separate issue. I think all of the endpoints need to be reviewed now that we have initial implementations. And, as your discussions point out, this issue is tied to the Python API because the job of the REST API is to simply serialize the objects that are returned from the Python API.

@horsburgh, I don't think we should constraint ourselves to having the REST API be a 1:1 match to the Python API. They're operating in different settings and with different constraints.

But anyway, that's for the next phase of testing, discussion and dev.

Looping in @aufdenkampe, and @jkreft-usgs (since he's volunteered to provide feedback on the REST API!). Gobble gobble ...

aufdenkampe commented 6 years ago

@emiliom, thanks for that noting that milestone, providing a status summary and describing the kinds of decisions we now face!

emiliom commented 6 years ago

All: FYI, @lsetiawan has created a nice Jupyter notebook that flexes the current version of the ODM2 REST API, via the test deployment Don is managing. Give it a look. But beware that github will not render the interactive folium/leaflet map; to see those elements in action, either run the notebook yourself, or open it on nbviewer by going to this link.

Thanks, Don!