Skip to content

v0.0.1

Choose a tag to compare

@mcb77 mcb77 released this 23 May 14:41
· 5 commits to master since this release

movebank-mirror-api 0.0.1.

A read-only HTTP server that replays the Movebank REST API on
top of a local on-disk mirror produced by
movebank-mirror.

Verified compatibility

Verified against the canonical R clients in the movement-ecology
ecosystem on this release:

Client Result
move v1 4 / 4 checks pass (compatibility/move-r/verify.R)
move2 (0.5+) 4 / 4 checks pass (compatibility/move2-r/verify.R)
movebank-api-client Covered by the in-process DirectReadIntegrationTest, runs on every build

The R-client regression is documented and reproducible against
the pinned R environment in
mcb77/movebank-rocker.

Install

Requires JDK 21.

tar -xf movebank-mirror-api-boot-0.0.1.tar
./movebank-mirror-api-boot-0.0.1/bin/movebank-mirror-api -d /var/lib/movebank-mirror

(.zip available too if you prefer.)

Then point any Movebank-API client at http://localhost:8080/movebank.

Pairs with the rest of the family

What's load-bearing about the "weird-looking" code

This server replicates Movebank's own undocumented behavioural
quirks so existing R clients work unchanged. See
BUG_COMPATIBILITY.md for the verbatim
curl-against-live-API findings and the corresponding server fixes.
Read this before refactoring EventService / MirrorService /
DirectReadController.

Known gaps

TODO.md tracks them transparently. Headlines:

  • sort and limit query parameters are ignored
  • No authentication (default bind is 127.0.0.1 deliberately;
    put a reverse proxy in front before exposing externally)
  • In-memory cache: every request re-reads study JSON from disk

Most existing clients work fine with these gaps; they hit the
80% the API is used for.

License

LGPL-2.1.