Giter Site home page Giter Site logo

invenio-records-ui's Introduction

invenio-records-ui's People

Contributors

alizeepace avatar cenouralm avatar chriz-uniba avatar drjova avatar frankois avatar inveniobot avatar jacquerie avatar jirikuncar avatar kpsherva avatar lnielsen avatar samk13 avatar slint avatar tiborsimko avatar utnapischtim avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

invenio-records-ui's Issues

pid helpers support

It would be great to support the pid helper:

    'doc_files': {
        'route': '/documents/<pid(doc, record_class=DocRecord):pid_value>/files/<filename>',
    },

This will allows to be consistent with the invenio-records-rest modules. I'm facing some problems when I tried to put some files permissions.

templates: create example for MARC21

Create basic templates for MARC21 compatible records in examples/templates/invenio_marc21/detail.html that can be later moved to new invenio-marc21 package.

Add search and edit UI endpoints

It would be great to make invenio-records-ui the complete UI version of invenio-records-rest. For the REST version, it is possible to list the records given a query and filters and to create, edit, delete a record. It would be great to have configuration entries in RECORDS_UI_ENDPOINTS to specify a search endpoint and a simple editor endpoint such as: /records/new, /records/1234/edit, /records/search, etc.

This can be super useful especially when the records are not limited to bibliographic records, such as library localisation for the invenio-circulation module.

global: load blueprints via "invenio_base.blueprints"

Based on the changes introduced in inveniosoftware/invenio-base#133, it will be possible to load blueprints via a function, allowing for the application to have loaded any RECORDS_UI_ENDPOINTS config from other extensions before creating and registering the invenio_records_ui blueprint. This allows for flexible "feature-flags" as described in inveniosoftware/cookiecutter-invenio-datamodel#18.

Note: inveniosoftware/invenio-records-rest#210 implements this for invenio-records-rest)

views: redirection of merged records

Add redirection of merged records.

  1. PIDStore resolver should raise an error with information about where the new pid lives.

  2. Records module should redirect to the new page.

views: decorators

Add support for adding decorators to views. Most importantly, we need to be able to add access restrictions.

global: fix build failure

Same as:

https://travis-ci.org/inveniosoftware/invenio-records-ui/jobs/656628988

Warning, treated as error:
autodoc: failed to import module u'views' from module u'invenio_records_ui'; the following exception was raised:
cannot import name ImmutableDict
The command "./run-tests.sh" exited with 2.

Fix also deprecation warning in Travis config:
https://travis-ci.org/inveniosoftware/invenio-records-ui/jobs/656628988/config

tests: simplify doctest execution

The following cookiecutter change:

inveniosoftware/cookiecutter-invenio-module#98

should be propagated to this Invenio module.

Namely, in run-tests.sh, the sphinx for doctests is invoked after pytest run:

$ tail -3 ./\{\{\ cookiecutter.project_shortname\ \}\}/run-tests.sh
sphinx-build -qnNW docs docs/_build/html && python setup.py test && sphinx-build -qnNW -b doctest docs docs/_build/doctest

This sometimes led to problems on Travis CI with the second sphinx-build run due
to "disappearing" dependencies after the example application was tested.

A solution that worked for invenio-marc21 (see
inveniosoftware/invenio-marc21#49 (comment))
and that was integrated in cookiecutter (see
inveniosoftware/cookiecutter-invenio-module#98) was to
run doctest execution in pytest, removing the second sphinx-build invocation.

This both solved Travis CI build failures and simplified test suite execution.

Note that this change may necessitate to amend the code tests etc so that things
would be executed with the Flask application context (see
inveniosoftware/invenio-marc21@09e98fc).

Confusing explanation for example app

The doc string near the top of examples/app.py states:

Run example development server:
.. code-block:: console
   $ pip install -e .[all]
   $ cd examples
   $ export FLASK_APP=app.py
   $ ./app-setup.sh
   $ ./app-fixtures.sh

Run example development server:
.. code-block:: console
    $ flask run --debugger -p 5000

The heading is repeated ("run example development server"). This is confusing and makes it hard to understand what one is supposed to do.

Add demo screenshot in README.md

Hi,

Thanks for everything you are doing at Invenio for bringing up a digital library platform.

In order to ease the adoption of your software, could you add screenshots to this package so we have a visual, helping us project ourselves into what you are trying to show to world, address with this package.

This would be of tremendous help.

Thank you.
Have a blissful evening.

templates: common template macros

We should add a helper library of template macros that can be used to make formatting record pages easier (e.g. adding et.al. to list of authors).

views/ext: template context processors

It should be possible to add template context processors to the records view in a similar way like flask-security, so that pages such as references/usage statistics etc can ingest custom variables into the template.

views: tombstones pages

A deleted persistent identifier should return a tombstone page and correct response code (410)

We need to figure out how to handle deleted PID vs deleted record.

Probably we add an error handler on the records blueprint for 410 errors.

api: stabilise and document

  • check existing API functionality
  • add missing important API functionality
  • check API function signatures and parameters
  • enhance API docstrings (param, returns, raises, versionadded)
  • plug API functions to existing docs

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.