User interface for Invenio-Records.
Further documentation is available on https://invenio-records-ui.readthedocs.io/.
Invenio records user interface module.
Home Page: https://invenio-records-ui.readthedocs.io
License: MIT License
User interface for Invenio-Records.
Further documentation is available on https://invenio-records-ui.readthedocs.io/.
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.
deadbeef-1234-5678-ba11-b100dc0ffee5
Create basic templates for MARC21 compatible records in examples/templates/invenio_marc21/detail.html
that can be later moved to new invenio-marc21
package.
Depends on #15
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.
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
)
Add redirection of merged records.
PIDStore resolver should raise an error with information about where the new pid lives.
Records module should redirect to the new page.
Run release checklist step 1-3
Add support for adding decorators to views. Most importantly, we need to be able to add access restrictions.
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
Please verify comment in merged PR https://github.com/inveniosoftware/invenio-records-ui/pull/50/files#r72663442
Can we move the configuration inside a configuration file as is done in invenio-records-rest
?
This can help to write the documentation.
The package contains examples/app.py
example application, but there is no test
for it in tests/test_example_app.py
. It should be added. See existing examples:
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).
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.
After Invenio-PIDStore has been released lowest and release requirements must be reenabled in travis
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.
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).
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.
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.
param
, returns
, raises
, versionadded
)A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.