InvenioRDM Alpha 13 (November Release)

We’re excited to announce the InvenioRDM Alpha 13 (November release)!

What’s new?

Files support

It is now possible to upload files on the draft form and publish them.

File uploader

When creating a new draft, you can now also upload files that will be included in the published record. The file uploader supports:

  • Drag-n-dropping files to be uploaded
  • Concurrent uploads (by default up to 4)
  • Setting the default preview file
  • Completely disabling files to allow for metadata-only records

New REST API

Big part of our efforts went into designing a new files REST API that will allow InvenioRDM to easily support upload workflows depending on third-party storage systems (e.g S3).

You can check out the documentation of these endpoints in our newly added REST API reference.

Files listing and preview

Uploaded files are also listed and can be previewed on the record’s landing page, using a variety of extensible previewers. We currently support preview of PDFs, images, ZIP files, CSV tables, and some text-based formats like XML, JSON, and Markdown.

By default, files are listed in alphabetical order and the first previewable file is shown in the preview box. You can specifically set which file you want to be by default previewed in the record’s draft form.

Reorganized CLI commands

Thanks to the community’s feedback, in this release we have also updated the existing CLI commands, with the goal of improving the development and operational workflows of an InvenioRDM instance. Our newly added CLI reference documentation lists and describes in detail the command groups, their sub-commands, and the options they support.

Make sure to go through our documentation, since many old commands have now new options and different default behavior (e.g. service setup will now also create demo records).

Feedback

As always, we welcome your feedback. When you provide feedback on Discourse 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!

2 Likes

Hi!
invenio-cli check-requirements shows 3.9.0 as supported, but running the init for rdm doesn’t show 3.9 as supported.

Additionally, when docker-compose is not found, an exception is thrown (opened an issue on the invenio-cli repo)

My two cents:

The setup of the RDM instance worked well with no issues for me.
I’ve tried the “Python development” section but I didn’t know that I had to restart the server (invenio-cli run) after invenio-cli packages install ./path/to/py-package to make the changes visible, maybe we can add a note on that in the docs?
invenio-cli assets watch worked nicely with no server restart needed.

Bugs

It is not clear to me if this is a bug or basically that the command is not properly sending the appropriated syntax, note that I tried from Mac OS and from RHEL 7. while going through the documentation I issued this command:

curl -k -XPOST https://xxxx/api/records/j5jy2-dam45/draft/files -H "Content-Type: application/json" -d '[

{"key": "test_leaf_doge.jpg"},

]

''

I got 500 error, looking at the logs

  File "/usr/lib64/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 3 column 1 (char 35)

What worked well

The inclusion of demo records
Installation went smoothly

What didn’t work well

It is not clear to me if a pre-check can be done so the installation will check InvenioRDM docker images available to be in accordance with the python version selection while customizing the instance.

There is actually a BUG in the documentation

curl -k -XPOST https://127.0.0.1:5000/api/records/jnmmp-51n47/draft/files -H "Content-Type: application/json" -d '[
  {"key": "leaf_doge.jpg"},
]
'

Should be

curl -k -XPOST https://127.0.0.1:5000/api/records/jnmmp-51n47/draft/files -H "Content-Type: application/json" -d '[
  {"key": "leaf_doge.jpg"}
]
'

I was able to complete the file upload after this was fixed