Attendees (please add your name):
Magda Zacharska (OLD ACCOUNT) Erin Nettifee leeda.adkins@duke.edu Jennifer Eustis Kimie Kester Sara Colglazier Tim Dannay Christine Tobias
Note Taker:
Meeting Recording:
- Recording and chat: https://recordings.openlibraryfoundation.org/folio/bulk-edit-working-group
Discussion:
Topic | Notes |
---|---|
Housekeeping |
|
Development updates |
10:22:38 Does it also turn into unknown or and I do believe that the orders are being covered. 10:22:48 No, actually Yes, but , , right requesting is one of the dependency checks. that happens with the user delete. 10:22:59 So yeah, I guess not request in the sense of request that there's a field like isn't it called or selector, or is the order Field called I can mark that somebody asks for something to be 10:23:14 ordered it's not necessarily that they that's just a straight up right now, that's just a straight up text field that has no connection to a user record. So deleting a user wouldn't do anything to 10:23:27 that field. Okay, Okay, , great thanks. So I I would like to move to another features as well. 10:23:38 And just a quick note i'm meeting with the user sick tomorrow again to discuss this implementation, and get their final blessing for the approach or not. 10:23:53 In any case, for now it is planned for Nalana. 10:23:57 If rejected by Okay, user, and management sake. 10:24:06 And then we will discuss this probably later. The next user started is the the next feature is about 10:24:22 In app approach for user records, as you recall. 10:24:28 At the end of morning chlorine. the user records will be deleted. 10:24:33 Sorry. I edited all the through Csv approach, meaning the user will download the Csv. 10:24:43 File with the matching records and make the change locally and upload the Csv. 10:24:48 File as you also may recall, and there was a user testing done in healthy months of this year, and it was stated by community that that preferred way of doing pack edit is in up so to make the 10:25:12 meet this expectation. we will be adding this functionality for user records as well. 10:25:20 So at the end of the Nolan do this, the user records will user on the user record site. 10:25:35 The the in app approach will support changes today. Patron group exploration that an email address mostly to the a part of the email 10:25:52 For example, those 3 kids were not selective I'm only Thomas, can you, mute? 10:26:02 I think that might be coming from you background. sorry about that that's okay, Thanks. 10:26:09 And at some point I review all the fields on the user records. 10:26:18 My with the user sync, and we come up with the priorities of the fields. 10:26:26 So if all those that are marked as 0 must have, it will be addressed. 10:26:33 Right now, with the exception of permissions that are a separate separate record group, and will be addressed in later releases. 10:26:46 And I do believe that in my out of scope I specified that this will be planted or okay, to release, which is the next, at least after any questions, comments, 10:27:14 The next one on the list is the holdings location and I think it's clear we need this. 10:27:27 So we did similar work for the E item location. 10:27:28 So the system straight forward, and this is definitely wouldn't be implemented in in scope of Nalana. 10:27:37 The next one is deleting item records that makes me a little bit nervous. And I would like to hear from this group. your take on that just deleting records just makes you nervous. 10:27:54 Yes, I understand I understand that. I can yeah yeah, I think I definitely think it's needed. 10:28:04 I think we would want to spend time talking to Metadata management, or talking to Charlotte right about. 10:28:14 So again I mentioned the bulk Delete uses the existing Api. 10:28:25 So whatever is done on the inventory site to the need. 10:28:30 Item: , sure, I think. Yeah. So Jennifer is commenting in the chat that right now, Metadata management is doing a lot of work. 10:28:38 On instance solution , and and gathering those use cases because we've implemented item delete already. 10:28:47 Then maybe there's not a ton of conversation or maybe the people here from Metadata management can go back to that working group and say, Hey, this is coming. 10:28:56 Is there anything you want us to make sure that we talk about or that we're concerned of? 10:29:02 And so maybe that's enough I guess I just feel like having that conversation might ameliorate any worries that we might be implementing functionality that isn't desired. 10:29:13 So I know it's a desired functional I think because I have , other spreadsheet that based on , use user use cases provided by community and I will share this , shortly as 10:29:31 well, but My concern about the division of item right now is that the functionality, the and dependencies are handled in the Ui. 10:29:49 And I see if John stated that this is meaning. We have this on the Ui. 10:29:56 That means if we call Apis, we are deleting everything, causing hello of damage. 10:30:07 , which we obviously don't want to to do if we need to implement this on the back end, then it's significantly. 10:30:17 Increase the scope of the work. Sure, so I see Sarah sent up, and i'm curious to hear what you think. 10:30:29 Yeah, hi! So and so it's interesting because this morning this came up for as a topic to me. 10:30:37 So we're we have rows and rows and rows of stack shells that we want to weed, and we don't have the time right now physically to take that on On the other hand, if I my one 10:30:49 record instance record has 1,668 items attached to it, and that's just one of the things that we want to weed is, if I wait till folio that Will be an individual as far as I can 10:31:06 tell item by item by item, deletion, right right now, Eric, right? 10:31:12 And there is no way in inventory for me to just say, check all of these off and delete all of them, because I've just weed them. 10:31:22 So for me. This is the so right Now i'm debating for like 10 to 20 such cases, whether to already in my old system, do a total delete where I can do that I can just totally delete them all in 10:31:37 one go one push, the button. they're all gone and just leave them on the shelves, and then just make myself a huge, huge, huge note, saying, Don't forget the remove them from the shelves, and put them in the 10:31:49 garbage at at some point in the future. 10:31:54 Do you see my dilemma like if I wait? 10:31:57 What are I gonna do? it's not a great answer. But it is pretty trivial to script it. 10:32:05 In fact, yes. but if you script this Erin this would be exactly the same case. 10:32:14 We are facing right now. everything could be So if you have . 10:32:22 To check the dependencies manually. but then if you were like absolutely I'm. 10:32:25 Ready to get rid of these 1,500 records that's pretty easy to do with, like a python script. 10:32:34 3. yeah, 3 of the Api. So again, though, this all relies on the the access to that. 10:32:42 And the ability to do that, and so forth sure that's Why, I said, it's not a great answer right . 10:32:49 But there is a pot. There is a a way to do it. 10:32:53 , yeah. So But even even so like so but eventually I don't think this is how we want to be have to do it right eventually. 10:33:03 We want , and that's exactly what magda's outlining in the Shira is is some of the challenges that we'll be involved in getting there. 10:33:10 It looks like Jackie has her hand up 10:33:17 I do. i'm actually gonna say something I would say i'm on the other end of what Sarah is describing, and Jen can speak to this, too, that we were required to do a mass withdrawal project after 10:33:29 implementation, and I don't know how difficult it was for the batch processing office to take care of the records that were so huge that we couldn't manually delete them. 10:33:43 But we had staff sitting here deleting hundreds of records manually, and it was. 10:33:49 And if we can have a solution to that happy I don't know if that's a constructive comment. 10:33:55 But yeah, it is Constructive Company. Hmm: Yeah, it is. 10:33:59 And all the comments are constructive. I just see we need to, do this, and we need to implement the dependencies that are currently in the Ui to implement them on the back end. 10:34:20 I also believe that not all the dependencies that are implemented in the Ui the the ui, the the dependencies that are implemented to Ui cover all use cases for the mission So this one require additional research I see 10:34:39 both. you can up good I for us. to we can across the system. 10:34:49 Different records is a high priority. I have a hard time understanding why this this isn't a very high priority, as most current systems you can delete records. 10:35:00 I mean this is just gonna be this is a big problem for us. 10:35:05 We're always the leading things out of Our system 10:35:10 This is really good. If you can add bankings to this. 10:35:13 The tickets that would be helpful, and the one please add the rankings, and I will follow up with 2 meta data management link to talk about the dependencies and what we need to implement to make it working I see 10:35:33 that there is a huge need for this. Any other comments from another one before I move to another. 10:35:47 , more comfortable. So so Noana, so far is ultimately inventory. 10:35:54 Items users in app approach, and then is that it, or is there other stuff in no longer? 10:36:06 , this This is Nolana , so bulk the link users , users holdings, location Baltimore item records, and the last one. 10:36:13 This is the the most controversial from my point of view, and I would like to hear your feedback on this. 10:36:21 Any other comments about deleting inventor item records 10:36:33 Okay, So this is I didn't want it to do this but okay, 10:36:44 This is in draft, and the behavior will be exactly the same as we do with the user records. 10:36:54 Right now. So we are identifying records for about update based on submitted identifiers. 10:37:04 So this doesn't change then saving records to the Csd. 10:37:12 File all the fields in Csd file. Then user make the changes locally and then upload the files. 10:37:25 Hmm, 10:37:26 Hmm. and the system updates every field at E as it was specified in the in the Csv. 10:37:34 5. The reason I think it is comfortable, virtual is because of the dependencies. 10:37:44 What we are going to do. We are going to grade. 10:37:47 Get the Csv file and put the records as they are specified in the data. 10:37:55 Obviously there will be all these steps that are in the user records update. 10:38:02 When when we are asking you to come. Are you sure you want to do this? 10:38:07 You want to process, you can also revert your your changes by just something. 10:38:15 The original file. So there are ways of Question is, do item. 10:38:29 Records have optimistic locking at this point so but I don't think optimistic looking will prevent someone to make a change in loan types. 10:38:43 For example, that will affect the behavior, or will change the status for the record. 10:38:50 That is in order, for example, or something like that. The Csv approach relies heavily on the knowledge of people who do about that. 10:39:04 We can at this specify. I think in the future limit the access to this functionality by permissions through permission so only selected will have access to it. 10:39:18 But it's extremely powerful tools. you can do whatever you want on the record. 10:39:25 But you need to know the consequences of your actions. 10:39:31 Optimistic locking should stop it if like let's say for example, I downloaded a 100 items and I was working on the Csv file, and during the time I was working on the Csv file 5 of those items were 10:39:47 checked out that changes the item status should increment record version. 10:39:53 So I should get an error when I post that record back. 10:39:56 Right. Yes, so optimistic locking will work only if the change occurred. 10:40:02 In the meantime, but optimistic locking will not prevent you. 10:40:06 On. If the record was set in transit yesterday, you get the file today and change the status for it. 10:40:18 For example. Oh, no, in transit maybe it's not very good Let's say the status is paged the status is page. 10:40:25 You downloaded the file this morning, and in the afternoon the status is still page, and you are making a change into the status to available optimistic locking is not going to prevent You it. 10:40:41 Should. Why, you are making another change. There was no change. This is another update. because the field that you wouldn't optimistic locking is not looking at the values. 10:40:58 Optimistic locking is only checking the version. I see there is something in right , I guess I would assume that the version that you have is like version 20 and when you downloaded it, the versions matched But then when the 10:41:13 status changed in inventory. it became version 21 and then at that point the versions don't match, and so I shouldn't be able to post that record back to inventory 10:41:29 Why would they? not? much? Because the change of the status and inventory, while I was working on the Cs. 10:41:37 . I created a file this morning, and let's say the version of the record was 30. 10:41:48 There were no changes in the in the record. The record was paged all the time. 10:41:56 Right. I make the changes locally, and a couple of hours later I'm: uploading my file. 10:42:02 So this is a new version, and overwriting the page. 10:42:08 Wait available. The version status change to 31 optimistic locking would work only if I had version 30, someone in the meantime, in the system change the status to waiting, awaiting off whatever they got, and so then that would change the 10:42:34 version in optimistic locking, and my override would not work because I had the older version. 10:42:42 But if the record has not changing the meantime, nothing will prevent me from changing the record that was page to be available. 10:42:50 I see what you mean. I see a lot of conversation in chat, and I before I read. 10:43:00 Can someone speak up and say what they are typing so yeah so 10:43:07 There's only one real question in here it's from Sarah says the in app approach for item records is locations and statuses, and she's asking about whether in app is supporting loan type. 10:43:18 The in app for item records. I don't remember no it is not. 10:43:25 And this is actually on my list of things to do because we were talking about long, long types at some point. and decided this is a dangerous territory, and we don't want to adventure there. 10:43:38 Yet. But if we go with the Csv approach and the user will be able to to change the loan loan type anyway. 10:43:47 And when I look at my spreadsheet 10:43:50 Of the most frequently requested fields so this is a nice spreadsheet. 10:43:56 It's not pretty, but it has a lot of information well helpful for me. 10:44:03 So what I did. can you read it? or, should I change the a bit bigger? 10:44:10 Would help. Okay, So what what I did? I would to all use cases that we had for bulk edit. 10:44:19 And I, making note of the what changes were may indicate requested for each record type. 10:44:29 And now we are talking about items so i'm on the we inventory tap, and when I look at the item record. 10:44:38 Here are the areas that were mentioned and statistical codes talks, discovery, suppress. 10:44:49 We will talk about this shortly. The Urls, the delete. 10:44:58 These status and call up or type and the status in that case is on the instance, because the instance also has a status. 10:45:08 Oh, oh, yeah, you're right, yeah but sure yeah, yeah, item, status is definitely needed, and and we already implemented it. 10:45:18 But, So the call number types, prefixes, numbers, and long types. 10:45:27 I'm wondering if the if it would make sense instead of investing time into the Csv. 10:45:39 Approach. good! those missing fields to inventory in our approach 10:45:50 So you're saying that the the doing the csv approach next would address the things that are listed here. 10:45:59 Yes, but in addition to others, and i'm just concerned that we are opening a account of forms. 10:46:11 I mean I think you'll find that any library can come up with a use case for editing a field on the item record needed to do it in bulk. 10:46:18 My concern would be that there are things that are inherited on the item record that you wouldn't want to necessarily edit, because you don't wanna mess with business logic right like things like item effective location. 10:46:32 You don't want to accept that but if it's a field that is directly on the item. 10:46:40 Why not be able to edit it having a Do we have anyone from the Mmc. chiming in? 10:46:51 Let me check the the chat. Jen, I see your comments. 10:46:58 Can you? What do you think people should look like guilty Well, that's that's you can ignore that. That's just me. ? 10:47:06 And Jackie time. my , my most recent one was just agreeing that the so it for the result, it's a whole process. 10:47:13 We need to change the location. The temporary looks and the temporary loan type they can only do half of that. 10:47:23 They're still gonna have to come to us and get it finished. 10:47:25 So basically you're saying the location without long time. types don't really work for for the most I mean the reserves are just such a common umhm it's you know it's like 2 or 10:47:41 3 times a year for multiple We have to do it. 10:47:47 So , like 3 times per year i'm gonna have to do this for 4 libraries, right? like that, I can predict Jen. 10:48:00 And what are the implications of changing the long type so It's just a temporary one, So it's a very. 10:48:09 It's very low also so I guess as long as we're not deleting my feeling about a lot of these is you've given it a list of ids and told it a change to make if you change your 10:48:21 mind, you can give it the list of ids again and change it back. 10:48:25 So for me it feels low risk that's all right all that loan type is gonna do. 10:48:34 Is it's gonna influence the potentially influence a circle right? So if I change a loan type, it may mean that a different circulation rolled after it's not gonna you're not messing with data integrity in that sense you're 10:48:46 not you know you're not risking losing information necessarily 10:48:54 So you are saying we should concentrate on temporary loan types. 10:49:01 You would want to be able to do both permanent and temporary. 10:49:06 The temporary just happens more often. Okay, let alone. 10:49:11 I mean at least in my experience alone type doesn't change it's. 10:49:16 It's. Sometimes something goes into in or out of like a special collection and that'll that'll be to be on changes. 10:49:22 But but that's a lot less often but it's also. 10:49:27 We have used cases at Duke, for for example, making things on circulating and circulating again, and we would use loan type for that. 10:49:34 And you know if you're doing that for a year you're gonna change the permanent loan type. 10:49:39 How could change on the long time depend on the item status? 10:49:46 But would you? If something is checked out, for example, you can change the loan type on. 10:49:53 I checked out Item. and this is a design behavior all it it doesn't influence the active loan. 10:50:03 What would happen is, if the person chose to renew the item, they might get a different circle the next time. 10:50:13 So you know, if I have a an item where my certain my loan type is standard loan, and I need that thing to be a course reserve. and I change the loan type from standard loan to course reserve that may mean that that patron 10:50:24 can't renew that item and that's desired right because I want that thing to come back. 10:50:32 So I mean there's something people need to understand the implication. 10:50:35 But it's not you're not hurting things there and you don't need to build in a particular guard rail. 10:50:42 In my opinion, and unfortunately I have to drop off for my next meeting. 10:50:49 So . you think? Thank you. And I seen chat hey! come on or agree with the Aaron suggestion. 10:51:04 So I won't follow up I The item check and check out. 10:51:12 Note sometimes goes hand in hand with these types of things. So, for example, we do a lot of displays, and so we have. 10:51:20 The temporary location gets changed to on display that may or may so require us to change the the loan type. 10:51:29 If we're making that display non time right and then we usually have a check-in checkout type. 10:51:36 Note especially, so that when the thing it it's dropped off at the counter, and because somebody's looked at it and then left it lying somewhere right and not put it back on display Then it immediately pops up as for 10:51:52 the circulation person. Oh, this goes on display right now, right like so it's a help with that, And sometimes you can borrow the things that are on display. 10:52:04 So then the check-in check out note saying, Oh, if it comes back, put it back on display. 10:52:08 It is really helpful, and and that would have no dependencies that would be totally item dependent and totally relevant for anything else to check. 10:52:21 Just going back to what I think Aaron was saying earlier, that you know these things are just really. 10:52:25 Item and why shouldn't we be able to change them okay. 10:52:32 Just mine, too. I will follow up So basically we have 2 options. 10:52:38 One. Add to the list of properties that are supported in in app approach or spend time on the Cse approach for items. 10:52:55 And how this group fields, what would be more beneficial? 10:53:03 Additional fields in enough approach, or all fields in Csv. 10:53:08 Approach. Yeah, how do you? How do you? how this group feels? 10:53:22 And they want please. I'm Sorry jen what Did you say that my vote is for Csv. 10:53:36 And out there I can see the benefit of the Csv. 10:53:41 Really, truly, Yes, and and obviously there are a lot of things there that have to become that way because of the dependencies. 10:53:49 I guess you know that it will just make it easier. 10:53:50 But I think that there are also a lot of things that are have are irrelevant for dependencies like the check-in checkout. 10:54:01 No, For example, then users who do not necessarily have the permissions to do the Cse version. 10:54:11 Can take care of an app , and I think there's a benefit to letting people do their job. 10:54:18 To the best that they can, right or to the fullest that they can, and and by making everything so the more difficult way, or the more permission heavy way, is a barrier. 10:54:39 Yeah. but then so, Sarah, are you saying that you want to have more in app approach? 10:54:45 So I want everything right 10:54:50 I know I can give you everything in the next 10 years. 10:54:57 Yeah, I know So I guess I wouldn't I guess what i'm saying to a certain extent is, if if certain things can be it, I understand that you need to weigh what is , if something like book editing the 10:55:22 check-in check out note in app was not a difficult thing to do. 10:55:28 Then it would be really nice to have sooner rather than later. 10:55:31 , I I guess, to to allow for the different things. 10:55:35 But if if everything has to go towards the csv because that's what then? 10:55:42 Yes, of course, that's what I have to admit that I am surprised that I get so many comes up for Csv because I was expecting I will get a push back from from from from this group. 10:56:01 So thank you very much. Put to speak back and for the long run, obviously we would like to do the enough approach to make it easier for the users. 10:56:13 But we are facing. Give you something or give you something. 10:56:18 And Csv is the approach. that we can do this faster, but we put a lot of responsibility on on the users. 10:56:28 However, as I said before, and I think John repeated it. 10:56:33 The changes that i'm being made with csv can be This is that re updated by submitting the file again. 10:56:43 But I will follow up with the Mmc. 10:56:48 1 one more time, and to make sure I was talk to them about the shan of items, and we'll bring it to Csv. Mentioning that this group strongly supports Csv Approach Thank you. 10:57:06 Very much. We have 3 min left, and I would like to use those 3 min for the this. 10:57:14 Follow up from the discussion that we had in slack regarding the suppression. 10:57:20 And this is what Jennifer mentioned, and I do believe that this should be implemented first on the inventory for one record. 10:57:34 So once you suppress the record on the instance, level it automatically. 10:57:42 Should be holdings and items. This is Karen not implemented on the inventory. 10:57:51 And my question basic question to this group is, Do you think this is just bulk edit, specific functionality? 10:58:05 Or this is the functionality that you would like to have in inventory as well 10:58:19 This is jennifer x I think i'd like to see it on on inventory. 10:58:24 I mean if you are doing it at that level of you know the instance. it's it's kind of the top level. 10:58:31 You know whether or not you have an underlying, you know, Mark Srs. 10:58:36 I mean in that case you're suppressing everything from discovery. 10:58:41 So it makes sense to you know suppress everything I mean i'll bring it down so to the and i'm sick as well to to Get that. 10:58:56 Feedback, and if this is implemented on the inventory, then we can reuse it very easily for the bulk edit as well. 10:59:04 I do have one use case where this is not a good idea, though. 10:59:11 I am in the process of suppressing a bunch of records in a collection that we're moving, and 10:59:28 In some case it gives, some of the records will be unsuppressed in the future, because some were keeping in some or not. 10:59:36 , I'm. not going to know which records were which holdings and items records were suppressed previous to my having 6. 10:59:51 The instance record. So if I suppress the instance records in it, suppresses everything underneath it. 10:59:59 But then, when I unsuppress, what needs to get unsuppressed apps, the item and holdings level 11:00:12 This can get complicated. And how are you using those suppression? 11:00:18 Is this for or is this for something else? We have a collection that we are in the process of withdrawing a large percentage of the collection, but not all of it. 11:00:32 2 facilitate that right now we are simply suppressing everything in the collection. 11:00:41 And then we will go back and unsuppress. 11:00:44 The problem is I mean it's the problem i'm running into now is that some of the titles also have holdings outside of this collection. 11:00:58 So. In that case actually I can't suppress the instance record. 11:01:05 I can only suppress the holdings record, so maybe this is I mean, maybe this is a moot point, but I can see instances where you're going to suppress an instance record, and then you're going to turn it back on later. 11:01:18 On. but now everything underneath it's suppressed and you don't know what was previously suppressed, and what was suppressed as part of suppressing the instance and Yes, and I think there is also a question of 11:01:33 what will happen if you to the suppress suppress instance, you add a new holding holding soup. 11:01:40 Would you assume that it will be suppressed automatically as well or not? 11:01:48 And the same for items in so i'm doing this of course, by script right now. 11:01:54 , But no, I am not suppressing the holdings, because eventually most of those holdings will be withdrawn, and they will get suppressed as part of that process. 11:02:06 But when I go back and unsuppress the records that we're going to keep, I don't want to have to unsuppress the holdings records, so in my case I only want to suppress 11:02:18 let's see the instance records I'm. 11:02:23 Sorry I have to run to another meeting. we will believe we will continue this conversation. 11:02:30 The suppression conversation during that, and then sick meeting. If I get on their schedule this week or next week, we still have the permissions. 11:02:40 For the expert manager. We will talk about this, and and next time, and the Jennifer. 11:02:48 I saw your comment about the bug edits and looked at the item statuses and inventory. 11:02:58 I need to. There is this: There are a couple of statuses that are currently not supported by bucketed. 11:03:05 I will need to take a closer look at the implication of it and notification if needed. 11:03:10 We will add this in a Nolana as a supported, additionally supported status. 11:03:23 But this requires some work on my side first I also have another meeting. I'm. 11:03:25 All of the late for it have to run i'll see you in 2 weeks 30 min late, and then normally I will post this on the channel. 11:03:35 Thanks again for your feedback. have a good rest of your day, Thanksgiving. 11:03:40 Bye, 11:04:03 And I don't know how to leave the meeting |
User Acceptance Testing: June 28- July 12 | We need to push UAT one sprint later as MODEXPW-145 and UIBULKED-100 affect how the Are you sure and Confirmation form report updated records |
Nolana features review | UXPROD-3230 - Bulk delete user records UXPROD-3705 - Bulk Edit - User data - in app approach UXPROD-3704 - Bulk Edit - in app approach - holdings locations UXPROD-3706 - Bulk delete inventory item records UXPROD-3707 - Bulk edit - inventory items - csv approach |
Propagating suppress from discovery flag from instance to holdings and items records | Should this work to be done first on the inventory and then bulk edit or is this behavior bulk edit specific? |
Permissions to Export Manager for accessing files with user records (UIBULKED-70) |