We are happy to announce InvenioRDM Alpha 9 (July release)!
What’s new?
The July release adds translation support and starts integrating the major backend development of last release into InvenioRDM. In particular, draft functionality has been added at the API level and is used under the hood for deposits. To achieve this integration, the hard problems like responsibility separation, error handling, pagination, linking and internal PID management were solved. Other improvements and more details follow.
Update invenio-cli
to version 0.15.0 and follow the documentation to get started!
Module translation
Thanks to the efforts of TÜBITAK, InvenioRDM was setup for internationalization: all text has been registered for translation, the Transifex service was enabled and even a VSCode extension is in the works to help future translators. Turkish was added as a first alternative language! How to go about translating and using the various tools will be laid out next month once we have more experience under our belt !
Library improvements
Error handling, default MIME type headers and uniform body + querystring deserialization have been added to Flask-Resources, our Invenio-agnostic Flask REST library.
Note that invenio-resources is now invenio-records-resources (it includes the former invenio-records-agent) and invenio-drafts-resources is the new package that houses the draft functionality.
Behind the scenes, persistent identifiers have also seen some work.
New API integration (including draft functionality)
The deposit page now uses the new API to create records by creating drafts and publishing them immediately. In the next release, we hope you will be able to save and publish separately. That being said, you can already do so on the command-line! Make sure to follow the updated documentation to see creation, publication, retrieval, and search in action there.
In addition to these tent-pole features, Python 3.7 support and general containerization was further improved thanks to Cottage Labs through an updated base image.
Community domains vocabulary
The list of available domains/disciplines that can be added to a community is now based on a pre-defined (and configurable) vocabulary.
What do you need to do?
You can install the latest invenio-cli
v0.15.0, create a new instance and see how it looks like!
Install (TL;DR)
If you previously installed InvenioRDM, make sure you have the latest Docker image of your choice according to the Python version:
docker pull inveniosoftware/centos7-python:3.6
docker pull inveniosoftware/centos8-python:3.7
docker pull inveniosoftware/centos8-python:3.8
To install:
pip install --upgrade invenio-cli
invenio-cli init rdm
cd my-site
invenio-cli containerize --pre
invenio-cli demo --containers
To destroy the Python virtualenv, and remove the docker containers run:
cd my-site
pipenv --rm
docker-compose -f docker-compose.full.yml down
Feedback
As always, we welcome your feedback. When you reply to this post your message should be pre-populated with the classic template (bugs, what worked well, what didn’t work well, wishes for documentation).
Here is the template to give feedback if it’s not automated:
## Bugs
## What worked well
## What didn't work well
## Wishes for documentation
Take care and stay safe!