What's new in eLabFTW 5.0.0

elabftw 5.0.0

Introduction

The 5.0.0 release is a major release. You can tell because before it was 4.x.y now it’s 5.x.y. But what does it mean exactly?

The major version number has been bumped because there is a breaking change: complete drop of APIv1.

And that’s it, that is the only big thing that changes, and hopefully it won’t impact many users, as everyone is now using APIv2, right? right?

Now, let’s talk about the other changes present in this release.

You can see the complete changelog on the release page. This blog post is more about going into details for some of the changes.

Important change

There is a change that is pretty important as it impacts visibility of experiments. The short version is that now Experiments belong to a team (similar to Resources), and will only appear to users of that team (logged in the same team). The base permission level “All the teams the owner belongs to” is transformed into “Only the team”.

The impact is for users that belong to several teams. Now they will only see the Experiments they created in the team they are logged in, which seems to be what most users expect, so it shouldn’t cause too much troubles. If necessary, they can extend the permission to another team or another user, as usual.

The long description of this change is available here: https://github.com/elabftw/elabftw/discussions/4908

New features

Users features

New “Scope” button

Previously, in order to control what would be listed in the Experiments or Resources tabs, a user needed to go to their User Control Panel and modify these settings:

ucp old

This was not user friendly and has disappeared in favor of a new Scope button:

scope button

It allows you to select what is listed, put differently: how “far” you can see:

  • Self: to only see your own things
  • Team: to also see things from other team members
  • Everything: to also display entries made by other teams members and visible to you

This button is present in the Experiments, Resources (+Scheduler) and Templates pages and its value is saved upon change and independent from each other, so you can have Experiments set to Self and Resources set to Team if you wish.

Better Experiments Templates

Previously, Experiments Templates were split between the User Control Panel for the ones you owned, and the Team page for the rest, now they (finally!) are all displayed at the same place: the User Control Panel, and you can use the “Scope” button to select what to display.

You will also find an improved interface, with more export options, and an important new feature: the possibility to set a different permission to the template itself and the resulting experiment:

scope button

New “Custom ID” property

custom id

A new property for Experiments and Resources appear: Custom ID. It is a number, and relates to the Category. It allows you to define an ID and easily get the next available ID with the “Get next” button. Useful if you’re importing an existing database of objects, and the number identifying them is important.

New “Create” modal for experiments

Before, when clicking the “Create” button on the top right, you either had a modal window opening asking you for the Category of Resource, or directly creating an Experiment. Now it will also display your pinned Experiments Templates in a window, allowing you to select a template or start from the common template or without any template at all.

experiments templates modal window

Easier repositioning of extra fields

Extra fields can be positioned from one another by adding a position attribute to the field. This is now made much easier with the addition of handles to drag the input in the correct position directly, without having to edit the JSON manually.

drag extra field

Multiple fixes

  • More complete CSV export with category, status and tags
  • Allow changing the language when logged out (login/register pages)
  • Fix bug where an Admin could not be demoted
  • Imrovements regarding ELN import/export

Multiple minor fixes and enhancements are also part of this release, they are reported by users and it is very useful to have these reports, so if you find an issue, make sure to make it known so it can be fixed!

Admin features

Import an existing user

Previously, only a Sysadmin could modify the relationship between Users and Teams. Now, if the Sysadmin allows it (disabled by default), Admins can import an existing User into their Team.

For that, from the Admin Panel, look for the user you want to add to your team, by checking the box “Include users not in this team”:

search from outside team

Then, go to the ellipsis menu on the right and you will see a new menu entry to add the user to your team:

add to team

A Sysadmin is still required to remove a user from a team.

If you’d like to enable this feature on your instance, make sure this setting is active from the Sysconfig Panel:

enable admin user import

Archive user without archiving experiments

Previously, archiving a user meant locking and archiving all of their experiments, too. Now this behavior is no longer the default one, but is still possible to toggle it when archiving the user:

archive user

Browse by status

The dashboard now also allows you to browse by Status, on top of browsing by Category:

browse by status

Default ordering

Previously, entries were sorted by the date attribute by default, now the default setting is to sort it with the most recently modified entry first. Existing users will not be impacted by this change, but they can modify their preferences from the User Panel.

Add Czech language

accordion

It has been a long time since a new language was added. This release contains Czech as a possible language choice! Thanks to Ondrej Kuda for his help with the translations.

Major update of the text editor

The default text editor (TinyMCE) has been updated to version 6, and new plugins are now available, such as one transforming URL in links automatically, and another allowing to set “Accordions”, or togglable paragraphs:

accordion

Sysadmins features

Audit logs

A new tab appeared in the Sysconfig Panel: Audit Logs. It contains events that are recorded by the instance. These events are deemed “sensitive” and are logged so we can retrace administrative but also user actions. Events recorder are:

  • User login/logout
  • User import/export of entries (there is a threshold)
  • Api key created/deleted
  • Admin activity
  • Sysadmin activity
  • New user created

It is likely that this list will grow over time.

The interface also allows you to emit a NOTICE event in the container logs so it can be shipped to a centralized log storage service, this option is disabled by default.

audit logs interface

Admin label

When listing users, the column with the team now displays clearly the word “Admin” when the user is Admin in that team. The gold border around the team name wasn’t explicit enough!

new admin label

New configuration options

Option to disallow Admins to archive users

This option, disabled by default, will prevent Admins users from archiving Users.

The chat room link in the help menu is now configurable (previously only the bug tracker link was).

How to update (for Sysadmins)

Update like usual: see documentation.

Conclusion

There are still many other changes that are not described here (see full changelog), so make sure to update as soon as possible!

Thanks to everyone who contributed directly or not to this release. Reporting issues on the bug tracker or in the chat is very valuable! Make sure to report any bug you might find, even the most minor one, it’s always appreciated!

To report a bug, select “Submit feedback” from the top right help menu:

report bug

The adventure continues!