DCB Questions
# | Assumption | Status |
---|---|---|
1 | There is no entry in audit-log table for virtual items and virtual patron. | TBD |
2 | In CIRCLOG screen, any entry for virtual patron (lending and pickup libraries), user barcode will be received as "-" in get API | TBD |
3 | In CIRCLOG screen, any entry for virtual patron (borrowing libraries), item barcode will not be provided in get API | TBD |
4 | As per pre-requisites, there will be patron groups already created in Folio which will be used by DCB | TBD |
5 | DCB user needs to be a value "DCB" against user_type | AGREED BY KALIBEK |
6 | Umbrella Instance and Holding are not to be displayed on ui-inventory module. They are not searchable, and user cannot perform any actions on them. | |
7 | Alias (via a DCB suffix/prefix) - Inventory Instance and related data created for DCB - same for Users related data created for DCB | AGREED BY KALIBEK |
8 | Notices are not triggered for virtual patrons | AGREED BY KALIBEK |
9 | Patron Notifications and Fee Fines should not be sent to virtual patrons from lending and pickup libraries. These loan policies should be managed by library staff manually as part of configuration. | TBD |
Back-end
# | Question | Answer | Comments |
---|---|---|---|
1 | When we are creating a request in lending, borrowing and pickup library, what is the service point that we needs to use ? | Answer provided by Tim Auger We will not use a dedicated service point. We will use a proxy service point for each pickup location that every library within the consortium will add to their list of service points (or the equivalent in their platforms). which is equivalent to... BradenSP1 at Spongebob Public Library is a defined pickup type proxy (or virtual) Service Point. When a patron selects their pickup location from the list of available pickup locations, they choose SP1. When the DCB generates a message to place a page at the lending location, it will map SP1 to BradenSP1 using the DCB API. I believe we would set the service point in the patron record? It is not clear to me how we would do that but I think Steve could help us track it down. Tim Auger Steve Ellis Gurleen Kaur1 Kalibek Turgumbayev Irina Pokhylets Vignesh Kalyanasundaram Steve and I talked further about service points on Friday and Monday. For FOLIO libraries, we hypothesized that a proxy pickup service point would probably not be necessary to accomplish the goal of routing to the destination pickup location. That said, we still need to add the pickup location name to the DCB patron request since the data will be needed for transit slips and FOLIO circulation app displays. Question1: If we have a UUID for the real pickup location, should that be passed to the lending library as well? How would we use it? Question2: Do we need a valid pickup service point in the request or can we get away with less than valid? | Are we going to use dedicated service point. Tim Auger As per the below API contract, So, Does this mean DCB will provide a valid service point value in the pickupLocation field for every post request. Answer provided by Yes. For every item request, a valid service point is required for all transaction legs. |
2 | For checkin/checkout by barcode in the code its noticed that fetchItemRelatedRecords has also been called. In this method item's related record data is fetched based on the holdingsRecordId, materialTypeID, permanentLoanTypeId and effectiveLocationId. As per the design the new table CirculationItem table does not have these columns or tables for such kind of data. From where the virtual items related data will be fetched ? and where it will be persisted ? | (Steve) See my question below this one. | |
2.1 | Looking at the code for fetchItemRelatedRecords it would appear that there is the possibility of returning an empty Instance and an empty Holdings – not an null but an empty object. See for example what ofAsync(Instance::unknown) does. My question is did we try checkout using an empty objects for these two types? Because if we could get it to succeed with these empty objects we wouldn't have to create umbrella ones. | ?? | |
3 | DCB material type will it be matched with folio material type ? Every material type will have a circulation rule associated with it. How will it be handled in case of DCB material type ? | Answer provided by Tim Auger Yes, DCB (borrowing or pickup) material types will be matched with FOLIO material types. That said, the distinguishing bit of data for circulation rules is the unique agency location code. So, technically, unless there is one or more uniquely defined materials types amongst all members, there isn't a need for loans to use a "DCB" material type. The existing material types should suffice. Either way, the DCB will have a mapping table to map equivalent material types across the entire consortium to their local equivalents. | Tim Auger you mentioned that DCB will have a mapping table. So do we need to call the table to get the local equivalent material type or DCB will do the mapping and send us the valid material-type in the Post transaction Answer provided by Tim Auger DCB will do the mapping and send the valid material-type in the post tranaction. |
4 | Will DCB have a dedicated circulation policy ? How will that be set via scripts or via system admin user? | Answer provided by Tim Auger DCB will make use of circulation rules just like standard/local circulation. | |
5 | Does checkin and checkout action on a DCB virtual item schedule notices ? | Answer provided by Tim Auger It depends. At the borrowing library, the corresponding circulation rules should have associated notices. At the pickup library, no. When the pickup library receives the item, the DCB polling will pickup the status change and then post a change to the borrowing library system to indicate the change of state. The change of state will be changed, as if it had changed locally at the borrowing library, to awaiting pickup. That will trigger a pickup notice. The pickup notice will be populated with the proxy pickup location. The patron will receive the notice about where to pickup, go to that location and have the item circulated to the patron. In turn, that will trigger another synchronization event between pickup and borrowing location, checking out the item to the patron as if it had been performed at the borrowing library. | |
6 | The temporary patron/user will be created in mod-users module from mod-dcb ? | (Kalibek) Yes, the patron should be created by mod-dcb | |
7 | Will this temporary patron/user behave like a real user in terms of its loans getting assosciated, fee/fines, requests etc ? | (Kalibek) Only in a limited sense, fee/fines and requests should be handled only in the borrowing role, where a patron is the real patron | |
8 | Will this temporary patron/user be searchable in user app ? Will this user be allowed all the actions like a real user? | (Kalibek) No, temporary patron should not be searchable and only have to have limited access | |
9 | Will there be loans created for a temporary user ? | (Kalibek) Necessary loans should be create | |
10 | (Kalibek) That's a question for BA/PO. Let's check with Irina Pokhylets and Tim Auger | Comment provided by Tim Auger Please see the table"Front-end" questions for a response to this question. | |
11 | In the code there is a check for isRequestedByAnotherPatron - Does the check prevail for a DCB item ? | ?? | |
12 | What will be the patron group of DCB user ? Will this patron group be present in folio and who and how will its rules be set? | (Kalibek) That's a question for BA/PO. Let's check with Irina Pokhylets and Tim Auger | Comment provided by Tim Auger see the three questions and my responses in Single instance/holding prerequisites |
13 | Will there be notices sent for a temporary user/patron ? | (Kalibek) Notices should be managed in the patron's library (borrowing side) | Comment provided by Tim Auger There is no reason to prevent DCB patrons from having notices defined as part of a circulation rule. But, it would be a very odd use case if you did and against convention for these types of system. Circulation rules will need to account for disabling notices by default for DCB transactions. |
14 | Do we need to add an entry in patron_action_session table for the checkout from a temporary user ? | (Kalibek) Let's investigate this in detail, most probably, yes. | |
15 | Lets assume for some reason our system is not able to process the page request creation or virtual patron creation, In this case what will be the transaction status ? As of now there are no error state in the state transition diagram. | (Tim) Yes, we will need to add some error states. I think these are the types of errors that need to be examine by the DCB administrator. | |
16 | Can you please share a sample Post request payload which we will get from DCB ? | (Tim) See line 17? I have commented on the payload in the top row of this table. | |
17 | Assuming the payload should like below, "DCBItem" : { { There wont be any first name or last name or any other fields for a virtual patron. Tim Auger Irina Pokhylets Is it fine to create a virtual patron only with the above fields. Please confirm When we are creating a virtual patron with the barcode we received from DCB, do we need to add any prefix or suffix with the patron barcode. | Gurleen Kaur1 since we are not checking out the item from the lending library, I no longer see a need for barcode. id and group are definitely needed. We may need to create a virtual patron with a name like DCB Patron <UUID>@<5 character agency/institution code>. Let's check with Ian and Marc from K-Int, what we did for Name field for Sierra implementation. | |
18 | When we are creating a page request, what will be the value we need to give for FulfillmentPreference? Delivery or Hold Shelf | (Tim): Holdshelf. |
Front-end
# | Question | Answer | Comments | Status | Priority |
---|---|---|---|---|---|
1 | What is the approach for creating a user/patron for a transaction? Is it a user per transaction or one dedicated user for all dcb transactions? | One user per transaction. | -- |
| |
2 | Should this dedicated dcb user (or all dcb users) be displayed on UI? Are they searchable? If dcb users are not searchable, should /users GET API respond with filtered (excluding dcb users) results? Usecase Ex- Users - FOLIO , Users - FOLIO |
DCB users will be available within FOLIO and will have DCB user type. |
https://github.com/folio-org/ui-users/pull/2543/files https://github.com/folio-org/mod-users/pull/305/files Irina: The technical approach on how to exclude DCB users from search needs to be discussed. | High | |
3 | Does DCB user detail differ from regular users? Are they editable? How should Action menu function for dcb user? | N/A | Tim Auger Is this question invalid, in case dcb user is not searchable? Priyanka Terala ^^You are correct. The question is invalid. |
| |
4 | Will there be a dedicated patron group for dcb user(s)? How does its display affect user groups in user settings ex: https://folio-snapshot.dev.folio.org/settings/users/groups | There will not be a dedicated patron group for DCB users. There will be multiple DCB patron groups. | Priyanka Terala Please take a look at the 4 DCB patron groups I added: https://folio-dev-volaris-diku.ci.folio.org/settings/users/groups In nearly all cases, the configuration will have a 1:1 configuration to the major local patron groups: Undergraduate, Graduate, Faculty, Staff. But with public libraries in the mix, there will be another schema: Adult, Juvenile, Staff. I added only 4 but can add the rest. There are many other minor groups for both academic and public schemas but not necessary to implement for our efforts, just an FYI. Tim Auger Should such DCB specific user groups be suppressed from being edited or deleted? If yes, what should be considered as their uniqueness - name starting with DCB? Priyanka Terala I might be misunderstanding the question but why does uniqueness matter? Irina: From a system perspective "DCB patron group" is a regular patron group. UI change on the 'Patron groups' page is not required. |
| |
4.1 | Based on the comments in Question4.
| Irina: UI behavior should be the same as for the regular patron group.
|
| ||
5 | How does the patron blocks function for dcb user? | It's not clear from the documentation whether or not we specify "no maximum" in https://folio-dev-volaris-diku.ci.folio.org/settings/users/limits/a4301f4d-68d1-4001-bac3-15320fc5da4d . Regardless, we should be able to set a high enough maximum to effect the same behavior. No changes for settings > patron groups-limits | Priyanka: I think automated patron blocks are in place unless some limits are set in settings > user > limits against a patron group. @Irina could you please clarify around this point? should the limits fields be disabled for DCB patron groups? Priyanka Terala I think we could test and I'm happy to run it.
Irina: UI change on the 'Limits' page is not required. By default limits for patron groups are not required, so should be empty for DCB patron groups as well. DCB user is a virtual user with minimal data, so patron blocks won't be applicable for DCB users in MVP. |
| |
6 | For that matter, how does each of the settings screens differ for a dcb user setting? | Irina: There is no impact on UI user settings. No change is required. |
Irina: There is no impact on UI user settings. No change is required. |
| |
7 | Checkout screen on lending library - does it differ for a dcb transaction? In case of many dcb users, should patron look up retrieve only dcb users? In case of a dedicated dcb user, should "patron lookup" be disabled and prefill the patron details? | Effectively, the design bypasses the need to use the checkout application for DCB transactions. When the item is paged, the page will collect the item and use the checkin application to trigger putting the item in transit to the destination pickup location. Once that happens, the item is packaged for shipment to the pickup service point (in FOLIO terms). Once checked in to the correct service point, it will trigger a state change to Awaiting Pickup where it sits on the holdshelf and triggers a pickup notice sent to the patron. It is then loaned to the patron and then returned to the borrowing library. It then goes through the shipment and delivery process to be returned to the lending library. Checkin application is used to terminate the DCB transaction and removing all DCB records. |
Priyanka: is a transit slip created when checkin happens for a dcb transaction? If yes, will there be dcb dedicated transit slip? how does the template for this dcb dedicated translip slip differ from the regular one? is this shown on settings > circulation > staffslips ? is it editable? Priyanka Terala Yes, a transit slip should be created when checkin happens for a DCB transaction. Ultimately, whether or not to have a dedicated transit slip is determined by the consortium but I strongly suspect the consortium will want to differentiate between local transit activity and interlibrary transit activity. Priyanka: Needs to be discussed on dedicated transit and pick slip Irina: Was made a decision (9/14/2023) that a dedicated DCB transit slip is out of scope. We may back to it after MVP implementation. |
| |
7.1 | Based on the question7 above, Tim Auger Confirm the approach for transit slip. Need for a dedicated transit slip?
| Irina: Was made a decision (9/14/2023) that a dedicated DCB transit slip is out of scope. We may back to it after MVP implementation. |
| ||
8 | How does dcb transactions impact "Circulation Log" results list based on various filters? | We need to include DCB circulation transactions into the circulation log and be able to offer much of the same field data as local circulation. Any null fields will be empty cells to the end user. As for the filters, most values are valid for DCB transactions and a few will not be relevant. I'll take it as an action item to identify which and how to handle. |
Priyanka: Circulation log list have links to patrons and inventory items. Tim Auger Does dcb transaction that shows up in circulation log list also hold links? Priyanka Terala For MVP, let's keep it simple and not have links to any DCB transactions. Any references to local items or patrons should remain linked. | ||
9 | Borrow and pickup – From my reading - I could understand that umbrella instance and holding are created on inventory and virtual items on circulation-item. Is my understanding that these virtual items are not shown/visible on inventory correct? does this umbrella instance and holding differ from the regular ones on UI ex - "Add Item", Action Menu and others? | Yes, DCB virtual items are not accessible from within the Inventory application. |
|
| |
10 | Borrow and pickup – Is there a plan for implementing a UI for circulation-items | Not at this time. | -- |
| |
11 | Lending, Borrow and pickup – Are umbrella instance and holding searchable? some flag needed here while creation? | Not at this time. | -- |
| |
12 | Borrow and pickup – Does Requests UI change for DCB transactions? Should Page requests(Lending library), Hold requests(borrowing and pickup libraries) be visible on UI? Is UI similar to regular requests? | The UI should remain the same, IMHO. A large subset of the data available from local circulation transactions will be available from all DCB transactions. |
|
| |
13 | Lending library – In case of a Page request against a real item in lending library, will request(DCB transaction) UI remain same as regular one? | Yes. It should be the same. |
Answer provided by Tim Auger We have some options and I'd like your thoughts. Ideally, we would provide the least amount of information to any agency (that is what we've defined thus far). Ideally, a single transaction number for the full lifecycle of the ILL transaction is a big asset. We have that in the DCB circulation store in DCB. Priyanka Terala Do you know if there is such a thing as a universal front-end behavior in FOLIO for null values? If so, we can follow that pattern does that give us enough for an estimate at this point? Answer provided by Priyanka Terala In case of null values, a "hyphen" is rendered on UI. Priyanka Terala Great! Let's stick with that wherever we have a null value. Priyanka: Tim Auger In case of dcb requests, how should the Action menu items behave? what is your idea about the links to items(virtual items on borrowing role)and patrons(virtual patrons on lending role)? Priyanka Terala As I was going into the rancher environment this eve, it became unavailable. will pick up tomorrow. Tim Auger Just in case you need our snapshot environments (that are updated everyday) |
| |
13.1 | Page request on Lending Library - Display user display name and user barcode without links (just as a text)? And what basis? | Irina: Yes, disable as text Priyanka: Decision based on the API response | |||
13.2 | Hold Request on Borrowing Library - Display instance title and item barcode without links (just as a text)? And what basis? | Irina: Yes, disable as text Priyanka: Decision based on the API response | |||
13.3 | Hold Request on Pickup Library - Display user display name and user barcode, instance title and item barcode without links (just as a text)? And what basis? | Irina: Yes, disable as text Priyanka: Decision based on the API response | |||
14 | Lending library – In Request creation page, does "requester look-up" differ in dcb transaction? | These types of requests are local, not DCB. So, not applicable. | -- |
| |
15 | Lending library – Does "Request Type" selection list include all types of requests (hold, recall, page)? | These types of requests are only local, not DCB. So, not applicable. | -- |
| |
16 | Lending library – The initial action on Lending side - creating a page request - as it is always an item level request, should title level request be disabled? | These requests should only be or local, not DCB transactions. Not applicable. | -- |
| |
17 | Lending library – As per final design solution, Patron notifications are handled ONLY on borrowing side. How are these controlled on lending and pickup library side? ex. - control over hold staff slip config for dcb transaction? | The circulation rules will contain corresponding notice types. | Irina: We don't need to control notifications on Lending Pickup sides. |
| |
18 | Lending library – Impact on circulation rules and other policies? | Several areas:
Gurleen Kaur1 here is something I had not originally considered when we decided on project scope. A couple of months ago, I inquired with Marc Johnson about the level of difficulty of introducing wildcarding into the circulation rules table and he suggested it would be small. We want to allow for the wildcarding of locations because it will allow us to minimize the number of circulation rules and lines within the circulation rules. In a consortium like MOBIUS, it is critical that we envision this as high priority. Happy to write up a Jira. | High | ||
19 | Lending library – will existing pick slip work for dcb transaction on lending library? | It needs to work for DCB transactions. |
|
| |
20 | Lending library – Do we have a dedicated pick slip for dcb? Will this dedicated dcb pick slip be displayed on circulation settings staff slips? ex - https://folio-snapshot.dev.folio.org/settings/circulation/staffslips If yes, what CRUD operations will be allowed? Are any permissions associated with these CRUD operations? If no, should associated API /staff-slips-storage/staff-slips respond with filtered results? |
Based on my understanding of current FOLIO template capabilities, the ability to separate out slips based on whether it is a DCB transaction, would not possible with more extensive development. |
Priyanka: Tim Auger To my understanding a staff slip is generic, once template defined, it applies to all types of transaction. If for instance, we define a MOBIUS branded template in each of the staff slip template and enable the fields, they will render in every other staff slip, irrespective of type of transaction. So do we use dcb dedicated staff slips? or enhance the existing ones? Priyanka Terala Thanks. Based on my reading of the documentation, I think your understanding is correct. |
| |
21 | Lending library – How about hold slips? | No need to produce hold slips for the lending library. | -- |
| |
22 | Lending library – if checkin at lending library has to happen at some dedicated dcb servicepoint/virtual servicepoint, are these dcb virtual servicepoints assigned to some patron group who actually performs this checking for dcb transaction?and do they show up on user profile to switch servicepoints? should these servicepoints be displayed on tenant settings servicepoints page? ex - https://folio-snapshot.dev.folio.org/settings/tenant-settings/servicePoints If yes, what CRUD operations will be allowed? Are any permissions associated with these CRUD operations? If no, should associated API /service-points respond with filtered results? | TBD |
| ||
23 | Are dcb patron groups, dcb service points allowed to be assigned to any other user? If no, should these values appear in lists on user create and user edit forms, settings > users > owners, ...? If yes, there can be stale records in system, once dcb specific entries are removed. | Irina: From UI perspective, DCB patron groups/ service points should behave as regular ones. Prerequisite configuration (Loan type, Material type, Service points, Circ rules, etc.) will be done manually according to the library's needs and is the responsibility of that library. We won't delete any DCB data at the moment (just soft delete?), approach for data cleanup will be considered later. |
| ||
24 | are dcb service points allowed to be displayed in a user profile? Ex. - if local ciculation activities that happen around dcb servicepoint can potentially become stale once the dcb servicepoint is removed from system. | TBD | Irina: A service point cannot be deleted in user interface (Deleting a service point). |
| |
25 | Within the Requests Application, include and edit or something else? | Tim: Since the requests application produces the pick list, we will need to surface DCB item transactions in the requests application. | |||
26 | Do we want to add cancellation reasons? | Tim: I've changed my mind. Yes, we want these cancellation reasons. We can pass it along to the DCB hub with the authoritative database of transactions. We could then mine that data. | NOTE: I changed my mind on to include cancellation reasons. |
| |
27 | In either of the flows, lending to pickup or lending to borrowing, there will be checkout to patron. On checkout screen there is an opportunity for the staff to make patron-lookup. The look up screen uses "/users" end point to retrieve the records based on the search criteria. The same API is being used for searching user records in ui-users module. With reference to the answer provided to question2 above, what will be the approach to search dcb virtual patrons? My proposals are as below -
| Tim Auger Irina Pokhylets What are your thoughts around this question? Irina: Checkout to patron can happen at Borrowing or at Lending library. The case with the Borrowing library is not a problem because the patron exists here. In the case with the Lending library, we will have a virtual patron, that should not be searchable within the FOLIO application. My suggestion is:
Priyanka: Hey Irina Pokhylets The approach to hit "Enter" also uses "/users" GET API. Is "/users" API supposed to respond with DCB users? Tim: Priyanka Terala Irina Pokhylets I agree with the above approach. |
| ||
28 | Page Request - Lending Library : There are links to requester barcode and requester display name. (The links point to users app user detail view.) Should the links be rendered as it is? | Tim: We will provide a standard syntax for the name for all DCB patrons. No barcode should be displayed. Keep empty. |
| ||
28.1 | Page Request - Lending Library : As and when a Page Request is created, there is an entry available in circulation log list, any change needed here in case of menu items? | Tim: Disable user details from this menu. | |||
29 | Hold Request: Borrowing and Pickup Library When in case of a hold request (on borrowing and pickup libraries - where it is virtual item and umbrella instance), there are links to instance and item, should these links be rendered as is? | Tim: No. Let's not have title and barcode links. I would like to limit navigation to places that might also require us to modify those screens. | |||
29.1 | Hold Request: Borrowing and Pickup Library when a hold request is created in Folio System, there is a record available in circlog. In case of Borrowing Library and Pickup Library - it is virtual item - should the links be rendered as is? In case of Pickup Library - it is virtual item and virtual patron - should the menu item user details also to be rendered as is? | Tim: I wish the machines didn't log-off during my early evening. Makes testing nearly impossible sometimes. flying a bit blind here... the links should be disabled in the first and second use cases for 29.1 | |||
30 | Checkout at pickup library - virtual item | Tim: We want item details leading to inventory view. | |||
30.1 | Same question (as above) applies to "loan details" menu item, which leads to user loan details view. |
Front end decisions and proposals
# | Issue | Proposal for Approach |
---|---|---|
1 | DCB users need not be displayed on UI | /users API respond with filtered results, that do not include dcb users' records |
2 | Tim Auger | |
3 |
| |
4 | Don't show umbrella Instance and Holding in ui-inventory |