intermine / intermine/intermine-registry

new feature: return all intermines over version x

Open
#130 3 comments 0 reactions 0 assignees View on GitHub
enhancement hacktoberfest help wanted
Dominant language
JavaScript
Stars
7
Forks
24
PR merge metrics
No merged PRs in 30d

Description

Sometimes applications need to fetch all InterMines, but only above (or below) a certain version, to avoid calling features that don't exist, or to take advantage of newer features. IT would be nice to ask the registry to only return InterMines of the version we want.

A useful API call to the registry might look something like this:

http://registry.intermine.org/service/instances?version_api=gte-25
http://registry.intermine.org/service/instances?version_api=lt-24
http://registry.intermine.org/service/instances?version_api=eq-24

http://registry.intermine.org/service/instances?version_intermine=gte-2.0.0
http://registry.intermine.org/service/instances?version_intermine=lt-1.6.6
http://registry.intermine.org/service/instances?version_intermine=eq-4.0.0

the operators I've suggested above are:

```

gt (greater than)
gte (greater than or equal to)
lt (less than)
lte (less than or equal to)
eq (equal to)

```

Additionally, note that there are several different version strings returned by InterMines. Visit http://iodocs.apps.intermine.org and look at flymine, then search for the version endpoint. Here's a quick summary:

GET /version returns the API version. This is a int.
GET /version/release returns the version of the data release for that InterMine (and will be a string with arbitrary content)
GET /version/intermine returns the version of InterMine (as in the Java application). This looks like a number but is a string in semantic versioning format, e.g. "4.0.0".

/version/release and /version/intermine are newer endpoints, and older InterMines, such as Indigo, won't respond to them correctly - they'll return the int response, same as /version does. See http://www.cbrc.kaust.edu.sa/indigo/service/version/intermine for an example. Checking the response data type will give you an hint about which InterMines this happens in.

FINAL note - we should probably sort on API version and InterMine version, but the release version endpoint, given that it's arbitrary string data, won't be sortable, so it wouldn't make sense to have a filter for it.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.