Cross-tenant queries
The Lists app is adding initial support for cross-tenant queries as part of the Ramsons release as part of - UXPROD-4566Getting issue details... STATUS . The specific functionality described on this page is only available in ECS environments.
Definitions
Term | Definition |
---|---|
Intra-tenant query |
|
Cross-tenant queries |
|
Entities (record types) that support cross-tenant queries
Limited record types support cross-tenant queries as of the Ramsons release.
Instance records
Holdings records
Item records
Cross-tenant query restrictions in the Lists app
For the Ramsons release, lists with a cross-tenant query will be restricted to a single user (via ‘private’ visibility option). Important note: as of the Ramsons release, all lists of Instances, Holdings, or Items in the Central tenant will set to ‘Private’ visibility.
Simplifies experience: no accounting for scenarios when users with different affiliations / permissions interact with the same list), and allows us time to gather user feedback
An indicator that a List uses a cross-tenant query will be added to the Lists UI
[Add screenshots]
Permissions
In the context of ECS, Lists/FQM access is enforced at each member affiliation.
For an overview of Lists app permissions that were added as part of the Ramsons release, see https://folio-org.atlassian.net/wiki/x/YIAmIg
Example of permissions based on user affiliations + app permissions + content permissions
The table below reflects the permissions for a single user in an ECS environment. Each row reflects the access the user has within the context of a given tenant.
When the Central tenant is the active affiliation (Row 1): this user can access the Lists app and:
make lists of Instances, Holdings, and Item records that exist in the Central tenant
make lists of Instances, Holdings, and Item records that exist in Member tenant A (cross-tenant queries)
notes:
No other record types are available due to the content permissions
Data from Member Tenant B won’t be returned in cross-tenant queries because the user lacks Lists app permissions from that tenant (and therefore the data won’t be returned)
When Member Tenant A is the active affiliation (Row 2), this user can access the Lists app and make lists of Instances, Holdings, and Items records that exist within Member tenant A.
note: while Member Tenant B is the active affiliation, the user cannot query records from the Central tenant
When Member tenant B is the active affiliation (Row 3), the Lists app won’t be visible (because the user lacks permissions), and no data from this tenant can be returned in queries
The user doesn’t have an affiliation for Member tenant C (row 4), so it will never be an active affiliation, and it’s data cannot be returned in queries
Tenant | Tenant affiliation | Lists app permissions | Content permissions | Outcome - Access to data from this tenant? | |
---|---|---|---|---|---|
1 | Central Tenant | ✅ Tenant affiliation | ✅ App permissions | ✅ Instances, Holdings, Items | ✅ Access to Lists app/ FQM in the Central tenant for Instances, Holdings, Item record types |
2 | Member Tenant A | ✅ Tenant affiliation | ✅ App permissions | ✅ Instances, Holdings, Items | ✅ Access to Lists app/ FQM in Member tenant A for Instances, Holdings, Item record types |
3 | Member Tenant B | ✅ Tenant affiliation | ❌ App permissions | ✅ Instances, Holdings, Items | ❌ No access to Lists app / FQM in Member tenant B (or data from it) |
4 | Member Tenant C | ❌ Tenant affiliation | N/A | N/A | ❌ No access to Lists app / FQM in Member tenant C (or data from it) |