This topic covers the details about how the Sample Manager and Biologics LIMS products will handle actions across projects.
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 (assuming you have permissions to). 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 allow updating of multiple entities from different projects at the same time or 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 updating of multiple entities from different projects at the same time.
Lookups: You can look "UP" but not down the project hierarchy. 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.
When Projects are in use, these notes apply to how some cross-project actions are handled:
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.
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:
In the popup, select the project to Move to from the dropdown, enter Reason(s) for moving if desired, and click Move.
The move is audited, tracked in the Timeline for the entity, and parentage and derivation lineage connections are maintained.
You can also move a single Sample, Source, or Assay Run from the details page via Manage > Move to Project.
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 Reason(s) for moving if desired, and click Move.