Premium Feature — Available in the Professional Edition of Sample Manager and all Premium Editions of Biologics LIMS. Learn more or contact LabKey.

This topic covers the details about how the Sample Manager and Biologics LIMS products will handle actions across projects.

Cross-Project Actions

Summary of Functionality

This summary covers high-level behavior of for Samples and Sources (or other Data Classes), collectively referred to as "entities" when Projects are in use.

Reading of entities: You can read the current project's entities as well as the ones in the Home Project and "subprojects" you have permissions to read.

Referencing entities for lineage-type relationships: You can reference entities in the current project and the Home Project, provided you have the necessary permission. You cannot reference entities in subprojects.

Creating entities: Entities are created in the effective project the user is viewing at the time the action is initiated. When viewing an individual entity, the project in which it was created is the effective project. When viewing a grid of data, the effective project is the project chosen in the project menu (that is, the one in the URL).

Updating entities: An entity can be updated from the (effective or actual) project in which it was created. We do not generally allow updating of multiple entities from different projects at the same time or updating from a project that entity was not created in.

Deleting entities: An entity can be deleted from the (effective or actual) project in which it was created. We do not allow deleting of multiple entities from different projects at the same time.

Lookups: You can look "UP" but not down the project hierarchy in lookup fields. In the Home Project you will see only values defined in the Home Project. In a child project you will see values in both the current and Home Project.

  • An exception to this is the Sample Status dropdown which will show only status values as configured in the current project; it will not include Home Project options.

Detailed Cross-Project Actions

When Projects are in use, these notes apply to how some cross-project actions are handled:

  • Samples:
    • Individual sample creation in a grid allows parent types from the current project and projects above it. You cannot select parents from a "child" project of the current one.
    • Grid edit, sample derivation and deletion: Only works for entities in the current project.
    • File import only allows sample parent type and parent selection from the current project, as for grid editing.
    • Editing parent details for an individual sample only works when adding parents from the current project.
    • Derived or Aliquoted samples end up in the project where they are derived/aliquoted.
  • Sources (as well as Bioregistry and Media entities in Biologics LIMS):
    • Creating entities, either in a grid or via file import, allows parents and related entities to be chosen from the current project or projects above it in the hierarchy. You cannot select parents from a "child" project of the current one.
    • Editing in a grid or in bulk is only allowed for entities in the current project. To do editing, you must be in the project the entity belongs to and will see an error if you attempt to edit in the wrong location.
    • Deleting is only allowed for entities in the current project.
    • Deriving samples from a data class (source, bioregistry type, or some media) allows parent data class objects from only the current project or a project above it.
  • Assay:
    • Imported assay data can reference samples in the current project or any 'higher' (parent) project, but cannot reference samples in sibling or 'lower' (child) project.
    • Imported assay data can also reference samples defined in the Shared project.
  • Storage:
    • Freezers (or other storage) can only be defined in the Home Project.
    • Samples from multiple projects can be selected at once for adding to storage.
    • Learn more about shared freezers in this topic: Shared Freezers
  • Workflow:
    • Creation of workflow jobs using samples from different projects is possible both from any project.
    • The job that is created will belong to the project in which it was created, regardless of the samples included.
    • Additional samples from all visible projects can be added to existing jobs.
  • Picklists:
    • Creation of picklists using samples from different projects is possible from any project.
    • The picklist that is created will belong to the project in which it is created, regardless of the samples included.
    • The picklist will be visible in only the project in which it was created.
    • Additional samples from all visible projects can be added to existing picklists in the current project.
  • Notebooks:
    • Notebooks can reference entities from all projects visible in the current context.
    • Notebooks created from a parent project are also visible from any child project, and vice versa.
    • Notebooks created in any project can be submitted for review, or accessed for review, from any project.

Restricted Visibility of Inaccessible Data

When a user has access to a subset of projects, there can be situations where this user should be restricted from seeing data from other projects, including identifiers such as Sample IDs that might contain restricted details. In detail pages, listing pages, and grids, entities a user does not have access to will show "unavailable" in the display instead of a name or rowid.

As an example, if a notebook contains references to any data a user cannot access, they will not be able to access that notebook. It will not be included on the "All Notebooks" listing and if they happen to directly access it, such as through a saved URL, they will see only a banner message reading "You cannot view notebook [notebook title] because it contains references to data you don't have permission to view. The references may be in active or archived entries."

As another example, when a storage unit contains samples you cannot view, you'll see the space occupied by a lock icon and a hover message will explain "This location is occupied by a restricted sample."

In timelines, the names of entities the user does not have access to, such as the parent of an entity they can access, will be redacted from the timeline events.

Move Samples, Sources, and Assay Runs Between Projects

When a user has access to both the current and intended destination of a Sample, Source, or Assay Run, they will be able to use Edit > Move to Project to move entities between projects. This is useful in cases where a user adds something to the wrong project by mistake, or later wants to change project affiliations.

Sample, Source, and Assay Run moves can only be initiated from the container in which they are currently defined. The user must have update permissions in the current container and insert permission in the target container.

Note that there are some situations in which data cannot be moved:

  • Samples with a "Locked" status
  • Samples with status values that are not defined in the Home Project. This is an uncommon scenario, and is prevented in the current application.
  • Assay Runs with QC states that are not defined in the Home Project.
From the grid, select the desired (eligible) rows, then select Edit > Move to Project.

In the popup, select the project to Move to from the dropdown. If the application has been configured to require a reason, you must enter a Reason for Moving, otherwise it is optional. Click Move.

The move is audited, tracked in the Timeline for the entity, and parentage and derivation lineage connections are maintained.

Move from Details Page

You can also move a single Sample, Source, or Assay Run from the details page via Manage > Move to Project.

Move Notebooks Between Projects

Notebooks can be moved from one project to another provided the user starts in the project where the notebook is defined and has insert permission in the target project. One exception is that once a notebook has been approved, it can no longer be moved.

Click the for the current Project setting in the header section of the notebook.

In the popup, select the project to Move to from the dropdown, enter a Reason for Moving if required or desired, then click Move.

Related Topics

Was this content helpful?

Log in or register an account to provide feedback


previousnext
 
expand allcollapse all