koopjs / koop

Transform, query, and download geospatial data on the web.
http://koopjs.github.io
Other
651 stars 125 forks source link

adjust FeatureServer route urls #112

Closed jgravois closed 8 years ago

jgravois commented 9 years ago

From @jgravois on November 11, 2014 20:57

From @jgravois on November 11, 2014 18:17

my recommendation is that FeatureServer urls adhere to the following convention: http://koop.dc.esri.com/rest/services/github/chelm/grunt-geo/forks/FeatureServer/0

koop itself should return a valid ArcGIS Server like response for GETs/POSTs to http://koop.dc.esri.com/rest/info and http://koop.dc.esri.com/rest/services (listing providers)

Copied from original issue: chelm/koop-github#7

Copied from original issue: Esri/koop-server#35

jgravois commented 9 years ago

From @chelm on February 3, 2015 14:51

@jgravois ahh here it is. Would mind moving this to Esri/Koop so you still own it?

jgravois commented 9 years ago

From @chelm on February 3, 2015 14:53

@jgravios also can you shoot me some examples of the correct response of http://koop.dc.esri.com/rest/info and http://koop.dc.esri.com/rest/services

I know I had that at one point.

jgravois commented 9 years ago

example info response here example services response here (in which koop providers could be exposed as 'folders').

ungoldman commented 8 years ago

I disagree wholeheartedly. I don't think we should add ArcGIS Server conventions to the root of all Koop URLs. They're bad conventions carried over from SOAP that don't belong in a modern web server. We've talked about working on expanding the status and providers routes that already exist on koop.dc.esri.com at http://koop.dc.esri.com/providers and http://koop.dc.esri.com/status respectively. I think finding a good forward-thinking convention to address the needs these cases represent would be the way to go.

ungoldman commented 8 years ago

Additionally, Koop can (and should) be mounted on a specific route as Express middleware like so:

var app = require('express')()
var koop = require('koop)()
app.use('/koop', koop)

Mounting it like so would allow for the base route (http://koop.dc.esri.com/) to expose this kind of information by default rather than just returning an outdated demo page or a 404, and for koop itself to act more like API middleware within an express server.

ajturner commented 8 years ago

Agreed so long as Koop can quack like a FeatureService when existing apps come calling. It's not always clear which FS endpoints are doc'd, expected, or actually required.

But there isn't a good reason to make it look like a duck merely for form's sake.

ungoldman commented 8 years ago

To my understanding we only really need to emulate the FeatureServer endpoint and everything to the right of it (/0, queries, etc).

@jgravois is there a reason to have these endpoints other than emulating ArcGIS Server (i.e. a use case that not having such endpoints blocks or impairs)?

jgravois commented 8 years ago

this suggestion was made in an attempt to get koop feature services to be valid AGOL gp input. (see comment here).

i've heard we've made significant progress in that area, so i'm going to close.