Promote a local instance to become a shared instance
CSP Request Details
CSP Rejection Details
CSP Approved
Description
Environment
Potential Workaround
Attachments
defines
is required by
relates to
Checklist
hideTestRail: Results
Activity

Ann-Marie Breaux October 9, 2023 at 1:11 PM
Hi All looks good now with sharing of the Source = MARC instance. Thank you!

Mariia Aloshyna October 5, 2023 at 1:19 PM
Hi I created a ticket for it, it's . The thing is that sharing an instance with source = marc needs more time, so the UI shows not updated version of the instance. We need to discuss with BE how to handle this in the best way, maybe we will add some delay on UI until the sharing process is complete. BTW do you think it's better to leave it as task or convert to a bug?

Ann-Marie Breaux October 5, 2023 at 5:27 AMEdited
Hi and
Please see red comments for scenarios 4 and 5. Sharing of a local source = FOLIO instance worked fine on the Folijet consortial env (University). Sharing of a local source = MARC instance did not work, and did not show it as shared after a page refresh. Does the Folijet consortial env need updating with the latest code? I'll add a video too: Testing UIIN-2460. Leaving In review for now.

Maksym Ishchenko October 3, 2023 at 2:02 PM
Hello
Ticket verified on consortia env. Sharing working as expected except for marc source - we need to refresh the page after the sharing to see the changes. Moving ticket to In review
cc:

Ann-Marie Breaux September 20, 2023 at 8:29 AM
Hi and Please review the video that I attached, demonstrating how FOLIO-shared and MARC-shared are only very temporary in the UI. Let me know if that explanation is correct, or if it needs some refinement.
This is a change that Kate, Masha, Olamide and I discussed and decided on last week. We needed to get very clear on what was populating the UI details of a shared instance, when viewing it in a member tenant. We decided that it would be populated with the details from the central (master) instance, rather than the shadow (member) instance - the only difference being that the instance view on the member tenant would show any holdings/items for that tenant 1) above the consortial accordion, instead of in it, and 2) would show Acquisitions accordion info from the member tenant.
In mod-inventory-storage for the member tenant, the shadow instance will still exist and will still have source CONSORTIUM-FOLIO or CONSORTIUM-MARC, and that's what the member tenant's holdings/item/acq info will be attached to.
Why the UI change?
1. Since the shadow instance is always in sync with the central shared instance, exposing the "shadow" in the UI seems like unnecessary complexity to expose to the user
2. When a central shared instance is updated, those updates have to flow to all the shadow copies of that instance in however many tenants have holdings/items/acq info for it. That should be a fast process, but it is an additional step that happens after the changes to the central instance are saved. By displaying the central instance details, we ensure the user in the member tenant will see the edits as quickly as possible
You'll only see MARC-shared or FOLIO-shared in one, fleeting scenario, which I documented in the attached video.
User is viewing a local instance (FOLIO or MARC) in a member tenant
User has permission to promote that local instance to be shared, and does so
When that happens, the header at the top of the Instance changes from local to shared, the ember HRID is replaced with the central HRID, and the source field changes from FOLIO or MARC to FOLIO-shared or MARC-shared.
However, when the user refreshes their screen in the member tenant, or navigates away from the instance and back to it, the next time (and all subsequent times) that they view the instance details, they will be viewing the central instance's details, even though they are in the member tenant. That means they will see Source = FOLIO or MARC, and no mention of -shared in the Source field.
So the attached video documents that one case where they (very temporarily) see source = x-shared in the instance details, and what they will see after they refresh their screen.
if we have any TestRails that refer to source = MARC-shared or FOLIO-shared, except for the test for this story's scenario 5, we'll need to update them to just refer to source = MARC or source = FOLIO
Please let me know if that helps, and if you have any questions. Thank you!
Details
Assignee
Mariia AloshynaMariia AloshynaReporter
Ann-Marie BreauxAnn-Marie Breaux(Deactivated)Priority
P2Story Points
3Sprint
NoneDevelopment Team
FolijetFix versions
Release
Poppy (R2 2023)TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee

Reporter

Purpose: In a consortium environment, libraries may want to share local instances that were created in their individual member library tenants. To enable that, FOLIO will add a new permission (see UIIN-2461) and Inventory detail action. Once local instances are shared, they will live in the central consortial tenant, along with any related MARC Bib, which will live in the central tenant SRS.
Requirements:
Have a separate permission to enable a user to share a local instance. Hide that menu option permission if a user does not have that permission.
If a user opts to share a local instance
move the instance and any associated SRS MARC Bib from the member library storage to the central consortial tenant storage
change the instance HRID (and any associated HRID in SRS MARC Bib) to a central consortial tenant HRID
change the instance from "Local" to "Shared"
display a shadow version of the instance in the member library tenant, along with any links unique to the member library's instance (orders, holdings, items) and with a new Consortial holdings accordion (which will have no details for any other member libraries immediately after an instance is shared)
When a user selects to share a local instance, display a confirmation modal before executing the changes
Display a green success toast or a red failure toast upon completion
Do not display this action menu option for shared instances
Do not display this action menu option if the user does not have Inventory: Share local instance to consortium permission
Do not display this action menu option for non-consortial tenants
Scenarios:
Scenario 1
Given that a user has permission Inventory: Share local instances to consortium
And is in a member library tenant
And is on a local instance
When viewing the Instance detail Action menu
Then display a new option below "Duplicate instance" and above "New order" consisting of:
[the sharing icon] followed by Share local instance confirmed on Folijet University
NOTE:
Do NOT display this new menu option if the user does not have the specified permission confirmed on Folijet College
Or if the user is on a shared instance confirmed on Folijet University
Or if the user is on a central consortial tenant confirmed on Folijet Consortium
Or if the user is on a non-consortial tenant confirmed on Snapshot
Scenario 2
Given the new Instance menu option Share local instance
When a user selects that action
Then display the following confirmation modal
Header: Are you sure you want to share this instance?
Text: You have chosen to share the local instance [title of instance] with other member libraries in your consortium
Left button: Cancel
Right button (default): Share
Scenario 3
Given the confirmation modal for the Share local instance action
When a user selects "Cancel"
Then close the confirmation modal
And display the existing instance detail view
And leave the instance as Local (unshared)
Scenario 4
Given the confirmation modal for the Share local instance action
When a user selects "Share"
Then close the confirmation modal
And share the instance (see additional details in the next scenario)
And display a green confirmation toast
Local instance [Instance title] has been successfully shared
NOTE: The sharing and updating of shadow instances are asynchronous, so the BE response may be sent before the shadow instance has been updated in the member library tenant. Do we need to account for that in the success toast wording? Poll for a new version of the member library instance, per Masha
Scenario 5
Given the confirmation modal for the Share local instance action
When a user selects "Share"
And the action is successful
Then the following things should happen
Instance HRID is reassigned based on the central consortial tenant HRID settings
Instance HRID is updated in any associated SRS MARC Bib (001 and SRS wrapper) - applies to source = MARC instances, but not source = FOLIO instances
Controlling instance moves from member library tenant's Inventory-storage to central, consortial tenant's Inventory-storage
Associated SRS MARC Bib moves from library tenant's SRS to central, consortial tenant's SRS - applies to source = MARC instances, but not source = FOLIO instances
Previous instance in the member library tenant is a Shared "shadow" instance with Source = MARC or FOLIO
Any existing member library tenant links for orders, holdings, items are associated with the member library shadow instance now
Scenario 6
Given the confirmation modal for the Share local instance action
When a user selects "Share"
And the action is NOT successful how can we trigger this? Network issue
Then close the confirmation modal
And display the existing instance detail view (still local)
And display a red failure toast
Local instance [Instance title] was not shared and any error details?
Testing
Member library tenant
Test with the Share local instance permission, for a source = MARC, local instance
Test with the Share local instance permission, for a source = FOLIO, local instance
Test with the Share local instance permission, for a source = MARC, shared instance (should not see the menu option)
Test with the Share local instance permission, for a source = FOLIO, shared instance (should not see the menu option)
Test without the Share local instance permission (should not see the menu option)
Is there a way to trigger a red failure toast?
Central, consortial tenant
Test with the Share local instance permission, for a source = MARC, shared instance (should not see the menu option)
Test with the Share local instance permission, for a source = FOLIO, shared instance (should not see the menu option)
Test without the Share local instance permission (should not see the menu option)
Is there a way to trigger a red failure toast?
Non-consortial tenant
Confirm the "Share local instance" menu option does not appear for any instances