Giter Site home page Giter Site logo

augeias's People

Contributors

bartsaelen avatar cahytinne avatar cecemel avatar claeyswo avatar kmillet avatar koenedaele avatar pieter-beckers avatar pyup-bot avatar wim-de-clercq avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

cahytinne

augeias's Issues

Migration script

Might be interesting to have a script that moves files from one type of storage to another.

Security implementation

Make a security model similar to the one in Atramhasis. Simple and configurable. The development environment by default has no security.

Get object metadata

Currently, you always need to download an object to find out more about it. To make it possible to save some bandwith, we will implement the HEAD method for objects.

Unexpected error with status code 200

While retrieving an object from a pair tree file system store, it is possible to get an unexpected error with status code 200.
This is an unclear error message with the wrong status code.

URI Generation

Containers, Collections and objects have URI's.

Going to go with the possiblity to configure different generators per collection. But there's no reason different collections couldn't have different uris (eg. https://id.erfgoed.net/augeias/paardenstal and https://things.erfgoed.net/horses).

A generator is an object with three methods: generate_collection_uri, generate_container_uri and generate_object_uri. The actual generation could be done by something like the skosprovider.uri generators (http://skosprovider.readthedocs.org/en/latest/api.html#module-skosprovider.uri).

We should provide a default generator that just generates the actual url's where our objects are living (eg. https://storage.onroerenderfgoed.be/collections/horses, https://storage.onroerenderfgoed.be/collections/horses/containers/pegasus and https://storage.onroerenderfgoed.be/collections/horses/containers/pegasus/1914).

python 3.x

Looks like PairTree is only available for python 2.7. And not the best maintained library out there. This means that python3 compatibility will be hard to achieve.

Either we need to fork PairTree and fix it ourselves or not ship it as the default environment?

Improved generation of HEAD request

See #9 . Currently, the server fetches the entire object, generates metadata and then throws away the object. Saves some bandwith between the client and Augeias, but can probably be made more efficient between Augeias and the store.

Switchen van wsgicors naar wsgicoers

Indien van toepassing. In de requirements wsgicors dependency verwijderen en toevoegen wsgicoers==0.8.2. In prodcution.ini use = egg:wsgicors#middleware vervangen door use = egg:wsgicoers#middleware.

PairTreeFileSystemStore uri_base

This store takes a uri_base. From looking at the PairTree code, it doesn't do a lot. Seems more of a reminder where the files are served on the web.

In our current implementation, the default value for this is urn:x-vioe:, which doesn't seem to be what the PairTree code was expecting. But it seems to be working.

From looking at the code, it seems like the uri_base should be the web adress where the collection this store is working for can be found.

Update list of supported python version

Currently Travis tests are run against 2.7 and 3.5. Setup.py only mentions 2.7. Have to check tox as well. I think we're still targetting 2.7, 3.5, 3.6 and 3.7 here.

Update documentation

Concerning use of mimetype:

Mimetype can now be served to the client using the function get_object_info that must be provided by the stores.

content_type = collection.object_store.get_object_info(container_key, object_key)['mime']

In case of the PairTreeFileSystemStore, the
magic.from_buffer(open(file_path).read(1048576), mime=True) cannot guess Microsoft mimetypes. This can be solved by adding configuration to the /etc/magic file as described in following link
https://serverfault.com/questions/338087/making-libmagic-file-detect-docx-files/377792#377792

Verwijderen rq_dashboard

Aangezien we het rq-dashboard kunnen raadplegen in de monitaurus mogen alle verwijzingen naar rq-dashboard uit de toepassingen gehaald worden. Dus indien van toepassing moet de view verwijderd worden en rq-dashboard uit de requirements gehaald worden.

Conditional Get

Would be nice to allow a client some more options in caching by:

  • Adding an ETag or last-Modified header
  • Allowing conditional GET requests

Lijst met vertaling van id naar bestandsnaam meesturen download zip

https://github.com/OnroerendErfgoed/premieaanvragen/issues/359

def get_container_data(self):

De bedoeling is dat er extra query parameters worden meegestuurd: ?id1=naam&id2=naam,... bvb. ?001=kostenraming.pdf&002=bestek.pdf&...

Voor zippen moet dan de vertaling worden gemaakt tussen id en bestandsnaam.

Indien geen parameters aanwezig of de parameter voor een bepaalde id ontbreekt gewoon werken zoals vroeger.

Mimetype

Currently, Augeias has no idea of the mime-type of the files it's storing. Whenever we serve something to the client, it's served as Content-Type:application/octet-stream. So, another application has to track what kind of files it has been storing in Augeias.

Seems like it would be better for Augeias to have some knowledge of that.

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.