Coder Social home page Coder Social logo

backrest's People

Contributors

hakbailey avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

backrest's Issues

Error when retrieving logo bitstreams

The URLs for logos are being constructed like regular bitstreams:

/bitstream/handle/1721.1/234/filename?sequence=1

but this is incorrect - there is a special syntax for them:

/bitstream/id/dbid/filename?sequence=-1

Error occurs when attempting to look up handle as though it were an item

Default to JSON-serialized responses

Currently, server errors occur if the client does not set an Accept header to one of a few expected values (application/xml or application/json). The API should be more flexible and provide a default serialization in other cases (missing Accept or value of '/'). JSON seems a reasonable choice.

?expand behaviour for /items/{itemId}

Behaviour of expand parameter for /items/{itemId} differs from DSpace 5.4:

  1. name element is only populated if expand=metadata is used (DSpace 5.4 populates always)
  2. ?expand=all fails
  3. ?expand=parentCommunityList fails

Test issue

Quick test from an external account...to be closed...

Dockerize

Create docker image for easy deployment

Probe DB to enable version-aware service

Each major version of DSpace modifies the database schema in potentially API-affecting ways. One simple example is the introduction of item counts in collections. Since that is a reported field in the API, if backrest were not aware of the version of DSpace it was running, the query would cause an exception. Solution would be to query a Postgres system table at start up, and version-sensitize the DB queries.

Add response document cache

The response content (at least for certain endpoints) is quite static and therefore amenable to caching, which would avoid both the database hit(s) and the marshalling cost of recreating with each request. A simple cache where the key is a combination of the requested URL and the Accept header media type, and the value the XML or JSON document response (NB: bitstreams would not be cached) should suffice.

Capitalisation issue with resourcePolicy/resourcepolicy

When obtaining bitstream policy data using XML format, DSpace 5.4 REST API uses an element 'resourcePolicies'. Backrest returns a 'resourcepolicy' element, which doesn't match the same xpath...
(This looks like an inconsistency in the DSpace API, given that it returns 'resourcepolicy' elements with 'resourcePolicies', but Backrest must reflect the same behaviour as the 'official' api.)

NPE when logo name is null

Not sure how one can create a logo without a name, but since it (name) is not required for resolution (the bitstream primary key is in the URL), should handle more gracefully

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.