elabftw 5.2

Introduction

eLabFTW 5.2 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’s no longer evolving. Version 5.2.0 is production-ready, but minor bugs will surface once it’s 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 aren’t left with already-fixed bugs.

Major changes

Improved search interface

The search page has been obliterated. Instead, you’ll find a complete search interface at the top of pages listing entries, which makes more sense and has a better user experience. Click the button on the right under the help (?) button to display more filters. You will find that this new search interface is more responsive and the “Go” button disappeared as it is not needed anymore.

new search

Re-organized navigation bar

The top menu has been modified to display Templates on their own page similar to how Experiments and Resources are displayed. The Scheduler also gets its own page. A new menu entry: “Tools” appears. It contains links to the new pages: Compounds, Chemical Editor, DNA Cloning or Inventory.

The editable link (which pointed by default to the Documentation website) is gone. Most teams never changed it in the first place, so it was taking valuable horizontal space for a link to something available in the ? menu a bit more on the right.

Templates having a dedicated page is a major change. Previously they were split between user control panel and team page, then only present in user control panel, and now they exist as normal entities on a normal page, as they should.

Removed the Force permissions section in Admin Panel

Previously, if you wanted to enforce permissions on entries in your team, as an Admin, you could access the Enforce Permissions part of the Team configuration and set permissions there that would apply to all entries. This was an incomplete and cumbersome solution to a real problem. The new version removes this deprecated interface and instead you can now declare the permissions as immutable directly from the Template.

compounds database

Couple this with the option to Force users to use Templates and you now have control over the permisions of entries. We’re planning to allow Admins to set this option to force template use a per-user option, instead of everyone in the team. This will definitely allow more flexibility regarding these aspects.

New features

Editing capabilities for Extra Fields

On extra fields, you will find a new Edit icon. Click it to edit the field. This functionality was previously missing, now it’s here, thanks to Mouss! We also changed the interface for managing groups of Extra Fields.

Chemical compounds database

Ok so this is a big one. There is now, for each instance, a common database of chemical compounds. All users from all teams have access to that same database.

A chemical compound has properties such as a CAS number, a molecular formula, a molecular weight, and many more!

compounds database

They can be imported from PubChem by providing a CAS or PubChem CID number, or they can be added manually.

You can also import an existing list of compounds from a .csv (Excel) file, and it can complete information by fetching attributes from PubChem, and even process locations and quantity for the compounds. See bin/console import:compounds -h for listing available options.

Fingerprinting

In order to fingerprint compounds, which allows to do substructure search, you will need to deploy the chem-plugin container, see instructions in the documentation.

Inventory and containers

It is now possible to declare physical locations at the instance level, and create containers in these locations, with a quantity and a unit, for Resources or Experiments.

inventory

Containers

Containers are a way to say: I have this quantity of this in that place. They are simply links between entries and inventory places, with a quantity and unit.

inventory

Once you have declared containers from the edit page of an entry (either Resources or Experiments), they will appear on the Inventory page if you search for it.

New options for QR Code generation

Many labs use the QR code feature to label physical objects. We added more options to the QR code generation to better control how the QR code is generated:

qr code

Exclusive mode changes

In order to prevent two users editing simultaneously an entry, there used to be a button to set the entry in Exclusive Edit Mode, meaning that only one user was able to access edit mode. This strategy is now automatic: entering edit mode will automatically prevent other users from doing the same. When you leave edit mode, the lock is removed and other users can edit the entry again. Hopefully, this change will prevent issues that could arise from two users editing the same entry at the same time, while reducing the friction and removing the need for users to have to think about activating this option.

Preview button in the editor

The main text editor now has a Preview button, so you can display the content as it would be in View mode. This is a contribution by @Foreverfloating, which is particularly useful for Mathjax snippets.

API improvements

The API specification has been updated to reflect more closely the reality. Many options have been better documented. You can also now filter results with comma separated values. For instance, let’s say you want to list experiments with status 4 and 12, you can GET /api/v2/experiments?status=4,12.

You can also now create entries with more options. Previously the POST endpoints would only accept a very limited set of attributes (basically only title and tags for some), but now you can give it all the editable attributes directly, instead of having to PATCH the entry after creation.

A new version of elabapi-python, the official Python library for eLabFTW, has been released to reflect these changes.

More options for db:install

When running the bin/init db:install script to setup a new instance, you can now give options to create a sysadmin user, and possibly generate an api key directly. This was done to make automated deployments easier. See bin/init db:install -h.

Bugfixes

This release also contain many bugfixes, not critical enough to warrant a new patch release of the previous major version, but thanks to all the bug reports we have from our lovely community, we could tackle a good number of minor inconveniences or buggy/frustrating behavior of the application.

How to update (for Sysadmins)

Update like usual: see documentation.

If you’re looking for a more complete changelog, see the release page.

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!