26.1.0¶
This release introduces significant changes to the LabID CLI, including a major and breaking refactoring of the codebase (see section below). In case you develop custom sniffers or scripts using the LabID Lib, please read carefully the instructions below to upgrade your code accordingly.
This release also brings improvements and bug fixes to the LabID server, UI and CLI:
- Order module (server and UI):
- Lab managers can now create (and edit) orders
owned_byany group they belong to, not only their primary group (doc). - improved error message for regular users: regular users can only create orders containing
StoreItems; only managers can create other types of orders. When a regular user tries to create an order with other types of items, the error message now clearly states this restriction.
- Lab managers can now create (and edit) orders
- Dataset sharing outside the group now correctly propagates to disk permissions (on local/NFS disks) by adding
readtoother(server). - Fixed permission propagation from item (e.g.
Sample) to their protocol list when protocol list is set after sharing the item (server). - Improved LabID server migration procedure to detect missing expected properties in model "Field Order". This new script can be run in diagnotics mode to list discrepencies without applying any change, or in fix mode to automatically fix issues while preserving your local customizations.
- Revamp of admin UI to switch all filters on admin pages to a dropdown format also allowing to combine multiple filters.
- Added default imaging annotation yypes (
Image Size X,Image Size Y,Image Size Z...) useful to record image metadata at the datafile level (server & UI). - Procotols can now be added to Specimen (server & UI)
- User can interact with individual location in an items' location breadcrumb (UI)
Change of the default permissions for new assays, instrument runs, datasets, datafiles and datafilecopies¶
Another important change is the default permissions set at creation of assays, instrument runs, datasets, datafiles and datafilecopies now include change for the group. This change was introduced to help collaborative work on these entities; for example when releasing data to public archive users in the same group can now edit the dataset metadata without requiring intervention from the owner.
CLI Refactoring¶
The CLI had a major refactoring with the externalisation of a new LabID Lib containing reusable functions and classes,
while the original LabID CLI repository retains only the code specific to the command line tools. The CLI now uses the LabID Lib as a dependency.
This refactoring will allow using LabID Lib as a dependency to: - develop sniffer in their own repositories - develop your own scripts - re-use the sniffer code in other contexts than the CLI e.g. in the LabID server in the future
Taking advantage of this refactoring, some code was renamed and changed in code-structure, particularly to remove any leftover of "stocks" the former name of LabID:
- package stocks renamed to labidlib.core
- package stocksapi renamed to labidlib.api
- class StocksManager renamed to LabidManager
- class StocksClient renamed to LabidClient
While upgrading existing installations of LabID CLI should be the same as before, your custom sniffer or scripts will need to be updated to reflect these changes.