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:
This was not user friendly and has disappeared in favor of a new 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:
New “Custom ID” property
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.
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.
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”:
Then, go to the ellipsis menu on the right and you will see a new menu entry to add the user to your 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:
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:
Browse by status
The dashboard now also allows you to browse by Status, on top of browsing by Category:
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
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:
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.
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 configuration options
Option to disallow Admins to archive users
This option, disabled by default, will prevent Admins users from archiving Users.
Configurable chat room link
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:
The adventure continues!