InvenioRDM Alpha 7 (May Release)

We are happy to announce InvenioRDM Alpha 7 (May release).

What’s new?

The May release is a major integration release, that as a rule of thumb will be broken in many places. We have integrated a lot of code that was developed in separate branches into the main InvenioRDM code base. We have done this now, to ensure we have enough time to iron out integration issues.

The primary focus for the release was:

  • Migrate from Bootstrap to SemanticUI
  • Deposit form frontend (JavaScript)
  • Integrate new communities prototype.
  • Upgrade to Invenio v3.3

Known issues (please read!)

!!!As a rule of thumb, many features will be broken and not work!!!

A lot of code has changed in this release, and many features have not yet undergone quality control.

UI Customizations not working

The existing method for customizing the UI will change slightly, and we haven’t documented it yet. We hope to provide this in the next release.

Visual appearance

You’ll find a lot of issues related to the visual appearance, that we have not yet had the time to iron out. This is with regards to alignment, colors, behaviors, font-sizes, and user experience.

Data model and deposit form

The data model and deposit form is far from complete. We have not yet focused on implementing the right data model with the right fields. For instance, the access right displayed in the deposit form will change, as will many of the other fields displayed.

Communities

Communities’ module is in a very initial state and many things will still change.

Previewer, OAuth login, Settings pages

The file previewer as well as OAuth login was still not migrated to SemanticUI, and thus the modules are likely not to work properly in this release.

What do you need to do?

You can install the latest invenio-cli v0.14.x, create a new instance from the beginning and see how it looks like!

Install (TL;DR)

If you previously installed InvenioRDM, make sure you have the latest Docker image:

docker pull inveniosoftware/centos7-python:3.6

To install:

pip install invenio-cli --upgrade
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 stop \$(docker ps -a -q)
docker-compose -f docker-compose.full.yml rm

Communities

To see the communities click “Communities” menu, then “New community”. You’ll be prompted to login. Simply create a new account and login with it.

Deposit form

To see the deposit click “Uploads” then “New upload”

Feedback

As always here is the template to give feedback:

## Bugs

## What worked well

## What didn't work well

## Wishes for documentation

Thank you for your patience, take care and stay safe!

3 Likes

To those copying from the install section above. The command is actually:

invenio-cli init rdm
cd my-site
invenio-cli containerize --pre

Not invenio-cli rdm init and the --pre argument is not optional for this release :wink:

As always the docs outline in greater details the steps: https://inveniordm.docs.cern.ch

Thanks!

Here are some initial reactions. I’m still working on a migration script so will add additional bugs as I find them

Bugs

  • Previewer not working (known limitation)
  • Contributors is a required field in deposit form (only creators should be required)
  • Submitting an incorrect item type returns a generic “Validation Error”, which doesn’t list what field is the issue. It’s hard to debug if you don’t know what field is the problem
  • Chrome doesn’t seem to like the default security certificate. NET::ERR_CERT_INVALID and You cannot visit 127.0.0.1 right now because the website sent scrambled credentials that Google Chrome cannot process. There doesn’t seem to be an easy way to whitelist the site. Firefox is fine.
  • Possibly invenip-cli issue with python 3.7 (3.6 is fine). Warning: Your Pipfile requires python_version 3.7 (development only), but you are using 3.7.4 (/Users/t/.local/share/v/c/bin/python). and pkg_resources.DistributionNotFound: The ‘celery>=4.3; python_version >= “3.7”’ distribution was not found and is required by Flask-CeleryExt, flask-celeryext

What worked well

  • Great documentation as usual. The more complete demo record metadata is much appreciated!
  • The overall styling looks nice and modern, and the deposit form has a lot of potential

What didn’t work well

  • I’m concerned that all the Text resource types are called “publication”. I have no idea how to include unpublished works in this framework. Including the “publication-” label on the subtype seems redundant.
  • Errors on the deposit form should reference specific fields
  • Deposit form should have defaults (for title type and language, for example)

Wishes for documentation

  • I’d like more documentation on how to update an existing install. What do I need to do to pick up the latest changes?
  • Is there any way to set a custom record id? Just setting it in the metadata doesn’t seem to work

Thanks for your feedback Tom!

As much as possible we tried to match the points above with an issue.

Previewer not working (known limitation)

Semantic-ui transition still needs to be completed: global: migrate templates/assets to Semantic-UI · Issue #120 · inveniosoftware/invenio-previewer · GitHub

Contributors is a required field in deposit form (only creators should be required)

Indeed Contributors should not be required: Contributors should not be required on the frontend · Issue #195 · inveniosoftware/invenio-app-rdm · GitHub

Submitting an incorrect item type returns a generic “Validation Error”, which doesn’t list what field is the issue. It’s hard to debug if you don’t know what field is the problem

Yes errors needs to be standardized: Ensure all fields are displaying correctly their error state · Issue #22 · inveniosoftware/react-invenio-deposit · GitHub

Chrome doesn’t seem to like the default security certificate. NET::ERR_CERT_INVALID and You cannot visit 127.0.0.1 right now because the website sent scrambled credentials that Google Chrome cannot process. There doesn’t seem to be an easy way to whitelist the site. Firefox is fine.

I couldn’t reproduce this. @ppanero or @zzacharo did you encounter this? Could you open an issue in invenio-app-rdm with the steps you took @tmorrell ?

Possibly invenip-cli issue with python 3.7 (3.6 is fine). Warning: Your Pipfile requires python_version 3.7 (development only), but you are using 3.7.4 (/Users/t/.local/share/v/c/bin/python). and pkg_resources.DistributionNotFound: The ‘celery>=4.3; python_version >= “3.7”’ distribution was not found and is required by Flask-CeleryExt, flask-celeryext

There was a recent discussion on discord about this, but @ppanero can probably comment on this one.

I’m concerned that all the Text resource types are called “publication”. I have no idea how to include unpublished works in this framework. Including the “publication-” label on the subtype seems redundant.

Resource types are fully customizable! You can change those by following the documentation here: https://inveniordm.docs.cern.ch/develop/make_it_your_own/#define-a-custom-controlled-vocabulary. If the customization doesn’t work let us know.

Deposit form should have defaults (for title type and language, for example)

The title type is given a default on the backend (MainTitle), but language is left empty if unspecified. Do you mean a default on the frontend?

I’d like more documentation on how to update an existing install. What do I need to do to pick up the latest changes?

This is something we will have to look into: command: upgrade · Issue #18 · inveniosoftware/invenio-cli · GitHub

Is there any way to set a custom record id? Just setting it in the metadata doesn’t seem to work

Sorry not quite yet. Can you provide more details on that?

Thanks for these notes, Tom. Those are good things to look at.

Bugs

After invenio-cli containerize --pre there were errors

Thanks @zzacharo I was able to deploy the release and the error disappear

That’s great! :smiley: