What's new in eLabFTW 5.3

Introduction
eLabFTW 5.3 has been released! This new version brings many new features, enhancements and a few bugfixes. This blog post highlights some of these changes, but the complete list of changes is available on the release page.
A note about “stable” releases
eLabFTW is a living project — “stable” would imply it is no longer evolving. Version 5.3.0 is production-ready, but minor bugs will surface once it is in wide use, and patches will follow.
We target major releases every few months and issue patches as needed. A “.0” tag means the code and docs are ready to deploy, but be sure to apply subsequent patch releases so your users are not left with already-fixed bugs.
Video format
We produced a video summarizing the main points:
(production: Hüseyin Uzun; voice acting: Sydney Koke)
Major changes
Give proper Categories to Resources
Ok so pay attention, this is a big one.
Previously, Resources Categories could only be edited by Admins, and basically corresponded to Resources Templates, because you could only have one.
So a “Microscope” Resource Category was in fact a “Microscope” template. The reason for this was completely arbitrary, and over time we realized that this could be problematic for many use cases. Additionally, this could create problems in the code base, with the need to handle this special case.
A feature request from @Aveyron-RetD on GitHub triggered the final push to homogenizing everything, both in terms of the user interface and the code.
Now, as with Experiments:
- Resources have Resources Categories
- Resources have Resources Templates
And both entity types (Experiments and Resources), have their own sub-menus to access entries, categories, status and templates for each type.

This change is backward compatible − you can still continue to have a single Resource Template per Resource Category, as before. But now you can also have several per Resource Category.
Allowing users to edit Categories and Status
Previously, only Admins were able to create and edit Categories and Status (for Experiments and Resources). While this worked in many cases, it could also lead to frustration when the Admin in the team was not available to make these changes.
Now, users have the possibility to edit Categories and Status by themselves, by accessing the corresponding pages from the menus.
As an Admin, you can revert to the old behavior and prevent users from making such modifications via the Admin Panel:

Allowing users to manage the User <-> Team relationship
There is now a dedicated option that controls whether Users are able to manage the User <-> Team relationship. They need to be Admin to access the feature. This setting can be toggled from the User modal window in the Users tab of a Sysconfig panel (only a Sysadmin can change this setting). This should allow more flexibility in terms of how Admins manage Users in teams without requiring full Sysadmin rights.

Permissions for Compounds and Inventory Locations
In version 5.2, anyone could add and modify Compounds stored in the common database and Inventory locations. In this new version, we find the same behavior by default, but a Sysadmin can now require edit rights for compounds or inventory locations, which requires users to have the right to modify the compound database or storage locations.

When edition rights are required, a Sysadmin needs to give explicitely permissions to edit Compounds or Inventory locations to users. From the Sysadmin panel, click a user row to edit these permissions:

By default, no users are granted this permission, not even Sysadmins.
Spreadsheet editor
This has been a long awaited feature, the spreadsheet editor is here! At least, a first iteration that is simple but functional (mostly).
You can use it to create a table with rows and columns, and save that as a .csv, .ods or .xlsx. Or you can click on an already uploaded file to visualize and edit it directly in the application without having to download it and then upload back the updated version!

Important note: this is a beta version. It is still buggy, missing important features such as calculation, and its interface is a work-in-progress. It only supports simple spreadsheets, so do not try to merge cells, use graphs or upload complicated worksheets. It is designed for use with straightforward tabular data: rows and columns.
Send email to users of a bookable resource
A new button has been added to the toolbar of bookable Resources. It allows a user to send a message to past and future users of a resource. This is useful for communicating with colleagues about a shared Resource.

Per-team user archival status
Previously, the Archived state of a User was linked to the user account itself. Now it is linked to the User in a Team. This means that a user account can be Archived in one Team but active in another.
Thanks to Goethe Universität Frankfurt for sponsoring this feature!
Quality of life
Important user interface changes
We took a step back and realized that the Main Text was way too low on the page, with a number of administrative fields above it. To address this, we reworked how we display everything to have a more compact design. We’ve also re-arranged the order of sections. In the future the section order will be customizable on a per-user basis.
We’ve also grouped Links together (to Experiments, Resources or Compounds) so they take up less vertical space, and also because it makes sense to have them together. Similarly, incoming and outgoing links are now grouped (and an arrow indicates the “direction” of the link).
Better table for listing and managing users
For both Sysadmins and Admins, the User table has been upgraded to have more (resizable) columns, a better search interface, and a dedicated modal window for each user.

Double-click a user to bring up a modal window that shows all parameters that can be modified:

Notifications
The notifications have been improved so that error messages now stay on the screen until they are closed. This should help users report the text of error messages when submitting support tickets instead of saying “it does not work”!

Remembrance
The application (browser actually) will now remember the last Identity Provider that you used on the login page, and the team in which you previously signed on. This will reduce friction during the login phase, and improve user experience.
Quicksearch
Quicksearch inputs have been added in the menus to help you find entries faster.

Override exclusive edit mode
Some users reported that from time to time, an entry would stay locked even if a user had left the edit page. To prevent users from having to wait for the lock to timeout (42 minutes), we added a button to remove the lock. We believe this solution is the best to prevent accidental concomitant edition, while still allowing users to override the lock if they know better than the software.

Miscellaneous
- The molecular weight of compounds has been added in the Compounds table and is now displayed when linking a compound from an Experiment or Resource.
- We’ve added more actions to the changelog
- We fixed the drawing editor so it now works more consistently on touch devices
- We used a different API endpoint for importing compounds from PubChem to avoid importing related compounds
- The common Team template was removed - it’s better to use a proper template
- We added a table to display template options in the Create New menu, and the software now asks for an entry title directly afterwards.
- We added a
DEMO_MODEenv var. You might find this useful if you wish to host a sandbox instance. Set its value to “true” to mimic the deployment of demo.elabftw.net - We improved the usage of vertical space in PDFs
- We reduced the default line-height in the main text (from 1.4 to 1)
- Better handling of deleted/archived entries, the ability to unarchive entries as a batch action, the ability to lock entries when deleting them
Internationalization
A new language was added: Estonian

Many thanks to Anti Sooäär for helping greatly with the translation of terms.
If you’d like to contribute to the translation of the application in one of the 22 languages supported, start here.
We’ve also improved the handling of graphemes on autocomplete inputs.
Authentication
We reworked the authentication related code to allow multi-factor authentication (MFA) to work with SAML or LDAP login. Now you can enforce MFA for any type of login, and users can setup MFA themselves even when logged in through centralized authentication. Previously, this was bounded to local authentication (email+password) only.
We’ve also improved the user experience of setting up MFA, avoiding a redirection to the login page:

API
- add
compounds_counttoapi/v2/infoendpoint
Bug fixes
- We made the process of assigning a custom ID to an entry more robust. Previously, the app sometimes failed to retrieve the next available value.
- Eln import: we fixed an issue with entries having
|in the title. This was preventing uploaded files from being found during import. - Trusted timestamps now have a more robust datetime parsing from the response. This address a rarely occuring issue with a few timestamping providers.
- Admins are now able to edit the permissions of an entry with locked down permissions.
- The missing ’table’ plugin for the text editor has now been added in mobile view
- We’ve fixed the GHS import in PubChem (contribution by Henri Valeins from CNRS).
We’ve also focused on improving the performence of the application. For example, we’ve increased the loading speed of big javascript libraries and reduced network calls to the minimum. Overall, the application should feel snappier.
Security related aspects
Deltablot commissioned a security researcher to conduct penetration testing of the application in real conditions. They only found 2 informational issues that were promptly adressed.
We also received reports from responsible security researchers about various minor issues, and we wish to thank them for reporting these issues to us privately.
For Sysadmins only
Miscellaneous
- We added information about uploaded file storage backend to the sysconfig page.
- The upload migrator (from local storage to S3) now prevents updating of the
modified_atcolumn during migration - A UI switch was added for the S3 Path Style Access parameter (contribution by Patrick Kibies from TU Dortmund)
- Audit logs sent to PHP stderr are now INFO instead of NOTICE
Note about image tags
Note: image tags meanings have changed:
latestnow meansstable
Previously, latest could point to an alpha or beta version, now it will only point to stable versions, as this is what most users expect.
Note that we recommend pinning the exact version you use, such as 5.3.2. If you like living on the edge, you can use the edge tag (for instance on your pre-production instance), to get the alpha/beta versions.
Update eLabFTW
Update like usual: see documentation.
If you’re looking for a more complete changelog, see the release page.
Tip: use AUTO_DB_UPDATE=true as an ENV variable to automatically run the db:update script upon container start!
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!