WEBVTT

1
00:00:38.230 --> 00:00:40.630
Jennifer Eustis: Hello, Vivian, how are you?

2
00:00:41.300 --> 00:00:44.790
Vivian Gould: Hello, Jennifer, I'm having quite a week.

3
00:00:45.090 --> 00:00:47.110
Jennifer Eustis: Oh… Right.

4
00:00:47.490 --> 00:00:49.150
Jennifer Eustis: Good or bad.

5
00:00:49.320 --> 00:00:55.260
Vivian Gould: I… well, it's just weird. It's… I'm… I have been working on a stats project that's…

6
00:00:55.510 --> 00:01:00.630
Vivian Gould: like an ASAP, so my mind has been on a little else, but then I also had

7
00:01:01.310 --> 00:01:07.649
Vivian Gould: a really awful case of food poisoning that I had to work through because we're short-staffed.

8
00:01:07.760 --> 00:01:09.879
Vivian Gould: And so it's just… I feel…

9
00:01:11.570 --> 00:01:18.030
Vivian Gould: a certain sense of unreality. I mean, I'm now recovered from the food poisoning, but,

10
00:01:18.520 --> 00:01:21.370
Vivian Gould: Yeah, it was just… it's been kind of an interesting week.

11
00:01:21.810 --> 00:01:26.759
Jennifer Eustis: Yeah, well, I hope you get to rest sometime in the future.

12
00:01:26.820 --> 00:01:29.759
Vivian Gould: Yeah, well, I slept about 12 hours last night, so…

13
00:01:29.760 --> 00:01:31.360
Jennifer Eustis: Oh, wow. Yeah.

14
00:01:31.360 --> 00:01:31.950
Vivian Gould: Yeah.

15
00:01:31.950 --> 00:01:32.560
Jennifer Eustis: Yeah.

16
00:01:32.600 --> 00:01:35.689
Vivian Gould: I mean, honestly, for me, sleep is the best medicine.

17
00:01:36.500 --> 00:01:42.719
Jennifer Eustis: Yeah, probably. I mean, especially with food poisoning, you just kind of have to, unfortunately, ride that one out.

18
00:01:42.720 --> 00:01:43.350
Vivian Gould: Right.

19
00:01:43.560 --> 00:01:45.250
Jennifer Eustis: Yeah.

20
00:01:45.520 --> 00:01:46.090
Vivian Gould: Yeah.

21
00:01:46.380 --> 00:01:48.910
Jennifer Eustis: Does not sound pleasant, though.

22
00:01:48.910 --> 00:01:53.900
Vivian Gould: No, no, it really wasn't. It was possibly… it was just not a fun time.

23
00:01:53.900 --> 00:01:55.160
Jennifer Eustis: Yeah…

24
00:01:55.160 --> 00:01:58.280
Vivian Gould: How are you? I hope your week has been better than mine.

25
00:01:58.310 --> 00:02:15.359
Jennifer Eustis: You know, it's… it's going fine. We… gosh, it took me, like, an hour and a half to get home last night, so we were hit with another storm that had a couple inches, and then finished with a couple inches of ice.

26
00:02:15.680 --> 00:02:16.310
Vivian Gould: Huh.

27
00:02:16.500 --> 00:02:24.769
Jennifer Eustis: That's no fun. Oh, no fun at all. At least they had a delay this morning, so that was good.

28
00:02:25.080 --> 00:02:25.630
Vivian Gould: That's good.

29
00:02:25.950 --> 00:02:28.200
Jennifer Eustis: Yeah, I know.

30
00:02:32.910 --> 00:02:34.000
Vivian Gould: Morning, Cherra!

31
00:02:38.850 --> 00:02:39.909
Vivian Gould: I can't hear you.

32
00:02:41.690 --> 00:02:42.640
Vivian Gould: If you're talking.

33
00:02:45.510 --> 00:02:46.060
Vivian Gould: Nope.

34
00:02:46.450 --> 00:02:48.219
Jennifer Eustis: Oh, there they go.

35
00:03:08.010 --> 00:03:09.120
Tara Barnett (Index Data): Can you hear me now?

36
00:03:09.160 --> 00:03:09.680
Jennifer Eustis: Yep.

37
00:03:10.270 --> 00:03:11.979
Tara Barnett (Index Data): Okay, perfect. That was odd.

38
00:03:12.160 --> 00:03:12.970
Kristin Martin: Okay.

39
00:03:13.830 --> 00:03:14.540
Tara Barnett (Index Data): Howdy!

40
00:03:15.190 --> 00:03:15.810
Vivian Gould: Howdy.

41
00:03:21.720 --> 00:03:22.770
Tara Barnett (Index Data): Sorry.

42
00:03:25.570 --> 00:03:27.890
Tara Barnett (Index Data): I know some people are out today, but I…

43
00:03:28.050 --> 00:03:31.160
Tara Barnett (Index Data): See folks still rolling in, so… give it a second, Polly.

44
00:03:31.560 --> 00:03:33.260
Tara Barnett (Index Data): Try to figure out screen sharing.

45
00:03:50.380 --> 00:03:51.140
Tara Barnett (Index Data): Lord.

46
00:03:55.700 --> 00:04:06.830
Tara Barnett (Index Data): Okay, alright. Well, I hate to make people wait, and I've got a few minutes of housekeeping stuff to take care of, so, we'll do that, and then, Jennifer Eustis is here to talk about…

47
00:04:07.300 --> 00:04:08.970
Tara Barnett (Index Data): Deleting records.

48
00:04:09.720 --> 00:04:10.520
Tara Barnett (Index Data): I think.

49
00:04:11.460 --> 00:04:12.250
Tara Barnett (Index Data): Yes.

50
00:04:12.410 --> 00:04:13.230
Tara Barnett (Index Data): Yep.

51
00:04:13.230 --> 00:04:14.540
Jennifer Eustis: I'm here.

52
00:04:17.019 --> 00:04:36.290
Tara Barnett (Index Data): having an interesting, interesting Zoom morning, I think, over here. Okay, so, first I wanted to take a look at upcoming sessions that we have on our calendar. So today we're doing record deletion. Next Monday I have a conflict, so I was going to go ahead and cancel, Monday's meeting, unless there are any objections.

53
00:04:37.960 --> 00:04:54.989
Tara Barnett (Index Data): We'll say there are not, and I'll go ahead and do that. And then on the 18th, Joe Reimer has reached out to talk about, bringing acquisitions behavior in line with folio defaults. So I think that we'll do that on the 18th, if that's okay with everyone. And then, we'll have the 23rd to plan as well.

54
00:04:55.200 --> 00:04:58.730
Tara Barnett (Index Data): So, some cool stuff coming up. That sounds good to me.

55
00:05:00.080 --> 00:05:15.259
Tara Barnett (Index Data): Great. The next thing I wanted to mention, is that we are still in search of a new convener. Co-conveners are, welcome if you have a pair that would like to take on this role. So I'll keep… I'll keep looking around to find someone to take my place.

56
00:05:15.540 --> 00:05:21.330
Tara Barnett (Index Data): There was also a message posted on the channel, the PCs trying to,

57
00:05:22.210 --> 00:05:26.740
Tara Barnett (Index Data): Proactively monitor upcoming releases for new development that needs PC input.

58
00:05:26.890 --> 00:05:35.169
Tara Barnett (Index Data): They're starting with Umbrella Leaf, so they're wondering if there's any features in Umbrella Leaf that CrossAppSig is involved in.

59
00:05:35.480 --> 00:05:40.339
Tara Barnett (Index Data): I think I need to think about this one a little bit more, but if you know anything, we can reply on the channel.

60
00:05:40.550 --> 00:05:45.950
Tara Barnett (Index Data): And then the last thing that I sort of wanted to deal with, housekeeping-wise, was WolfCon presentations.

61
00:05:46.050 --> 00:05:56.219
Tara Barnett (Index Data): So traditionally, we have, submitted a working group session, and then, like, another sort of theme session. So we should decide if we want to do that

62
00:05:56.820 --> 00:06:06.969
Tara Barnett (Index Data): But the problem is that I will not be there to run it, so we would also need to decide who will run it. So, something to think about a little bit more. I don't know if folks know if they're going yet or not,

63
00:06:07.560 --> 00:06:09.929
Tara Barnett (Index Data): But it seems like we should submit something one way or another.

64
00:06:10.380 --> 00:06:13.919
Tara Barnett (Index Data): Any thoughts on any of those topics, or should we move on to record deletion?

65
00:06:18.730 --> 00:06:34.599
Jennifer Eustis: I just had one, one comment that, we do have a, submission guidelines, because I know people are like, well, what's on the submission form? So, you, don't have to ask that question any longer.

66
00:06:34.650 --> 00:06:47.670
Jennifer Eustis: So we… so here it is with the values, and there's… on the top of the page, there's a link to a presentation, that you can go through,

67
00:06:49.830 --> 00:06:50.580
Tara Barnett (Index Data): Nice.

68
00:06:50.580 --> 00:07:00.689
Jennifer Eustis: And, yeah, and so that explains everything. And if you still have questions, you know, just reach out at Wolf Calling Conference chat.

69
00:07:00.870 --> 00:07:07.869
Jennifer Eustis: Or myself, or Thomas Trott, and we'll answer your questions.

70
00:07:08.850 --> 00:07:24.080
Tara Barnett (Index Data): That's awesome. Yeah, I wonder if… I wonder if Tom might be interested in doing something with ItemState. That could be something that we're involved in, for sure. I'm pretty sure Tom will be there. I… I will not be there either in person or virtually, so I won't be able to run this virtually either.

71
00:07:25.010 --> 00:07:37.970
Jennifer Eustis: Well, we do have it, so we do have it open, so if you're presenting virtually, if you can find someone who is there in person, who can be your moderator, you can still submit.

72
00:07:39.260 --> 00:07:41.010
Tara Barnett (Index Data): For people who can go virtually.

73
00:07:41.010 --> 00:07:41.670
Jennifer Eustis: Yeah.

74
00:07:41.860 --> 00:07:42.830
Tara Barnett (Index Data): Okay. Yeah.

75
00:07:42.830 --> 00:07:46.650
Jennifer Eustis: You just have to find that in-person moderator for you.

76
00:07:48.120 --> 00:07:52.390
Tara Barnett (Index Data): Awesome. Well, I do, I do have colleagues who will be there in person.

77
00:07:52.550 --> 00:07:54.310
Tara Barnett (Index Data): But I… I will be in…

78
00:07:54.950 --> 00:08:00.099
Tara Barnett (Index Data): I will not be in either modality. So, hopefully we can find someone.

79
00:08:00.520 --> 00:08:01.770
Jennifer Eustis: Heh, yeah.

80
00:08:02.010 --> 00:08:10.030
Tara Barnett (Index Data): Cool. I see many more people joined us. Welcome. We were just doing housekeeping stuff.

81
00:08:10.030 --> 00:08:19.760
Laura Daniels: Yes, Tara, the… some of us clicked on the link in the… in the minutes, and it's for… Oh, Jesus. Yeah. I just realized that.

82
00:08:20.300 --> 00:08:21.100
Laura Daniels: So…

83
00:08:22.690 --> 00:08:24.449
Tara Barnett (Index Data): And it's for, like, a different meeting?

84
00:08:25.850 --> 00:08:30.640
Laura Daniels: I think it's for… probably, the Wednesday.

85
00:08:32.580 --> 00:08:33.210
Laura Daniels: Aren't there.

86
00:08:33.210 --> 00:08:34.400
Tara Barnett (Index Data): Today's Wednesday.

87
00:08:34.400 --> 00:08:38.050
Laura Daniels: Oh, wait, then it's for the mon… I… I don't know. It just… it was…

88
00:08:38.059 --> 00:08:39.699
Tara Barnett (Index Data): It doesn't match the calendar, is what you're saying.

89
00:08:39.700 --> 00:08:41.880
Laura Daniels: It doesn't match the calendar, yes.

90
00:08:42.080 --> 00:08:43.710
Tara Barnett (Index Data): And you weren't there.

91
00:08:43.760 --> 00:08:47.010
Laura Daniels: Several of us were.

92
00:08:47.010 --> 00:08:48.799
Tara Barnett (Index Data): Are there people still there? Should I…

93
00:08:48.800 --> 00:08:49.230
Laura Daniels: No.

94
00:08:49.230 --> 00:08:57.300
Tara Barnett (Index Data): resolve this? Perfect. Okay. All right, I'm so sorry about the mix-up. I will look and make sure. I must have just copied it from the previous week.

95
00:08:57.650 --> 00:08:59.460
Tara Barnett (Index Data): Sorry about that.

96
00:08:59.460 --> 00:09:01.189
Laura Daniels: What's a rational thing to do.

97
00:09:02.080 --> 00:09:02.900
Tara Barnett (Index Data): I… yeah.

98
00:09:03.610 --> 00:09:06.459
Tara Barnett (Index Data): And yet, and yet I have led so many astray.

99
00:09:06.670 --> 00:09:09.639
Tara Barnett (Index Data): Terribly embarrassed, thank you for your patience.

100
00:09:10.770 --> 00:09:24.600
Tara Barnett (Index Data): I will hang my head in shame for the rest of the meeting. Okay, so, great, we went through the housekeeping. The one thing that's probably important is, I'm gonna cancel March 9th, because I have a conflict, unless there are any objections.

101
00:09:24.880 --> 00:09:29.519
Tara Barnett (Index Data): And, Jennifer Eustace is here to talk about, record deletion.

102
00:09:30.400 --> 00:09:31.519
Tara Barnett (Index Data): That's what we got.

103
00:09:32.680 --> 00:09:34.379
Tara Barnett (Index Data): Did you want to share your screen?

104
00:09:34.810 --> 00:09:52.450
Jennifer Eustis: You know, I did not prepare a presentation for this, so I thought, you know, and one of the reasons I did not was, well, I was, you know, lack of time, sorry, but also, we're at the very beginning of this conversation.

105
00:09:52.450 --> 00:09:59.509
Jennifer Eustis: And bits and pieces have been happening, well, in bits and pieces, like, over the last

106
00:09:59.510 --> 00:10:04.850
Jennifer Eustis: probably 2 years, but I… what's really lacking is kind of this…

107
00:10:04.850 --> 00:10:22.059
Jennifer Eustis: holistic approach to, you know, how do we handle DELETE? Not just for Folio, but also how Folio interacts with, third-party, integrations, such as discovery, reporting, and the like.

108
00:10:22.120 --> 00:10:31.650
Jennifer Eustis: So… and I really want to thank… I did post this on Slack, and I think it was Owen and maybe Brooks.

109
00:10:31.650 --> 00:10:33.999
Jennifer Eustis: Who highlighted that this came up

110
00:10:34.000 --> 00:10:51.779
Jennifer Eustis: Actually, several years ago, or maybe, I don't know. Time is fluid for me after COVID, so several years ago could be, like, a year and a half ago. Who knows? Back in time, this did come up through technical counsel, and there really was not a resolution.

111
00:10:51.780 --> 00:10:54.620
Jennifer Eustis: On how to handle set for delete.

112
00:10:54.640 --> 00:11:03.220
Jennifer Eustis: So, I just want to give people, a perspective of where data import has been, and what it's discussing now.

113
00:11:04.840 --> 00:11:13.080
Jennifer Eustis: Oh, 2020. There you go. I mean, that's a couple years… 6 years ago, so… so there you go, that's a couple years. Thank you, Maura.

114
00:11:13.370 --> 00:11:30.570
Jennifer Eustis: Recently, we had on the new feature request list for data import, deleting holdings and items. And the discussion kind of went in tangentially and very quickly to, well, how do we handle instances?

115
00:11:30.620 --> 00:11:47.340
Jennifer Eustis: So we went back to that conversation because we thought, well, we aren't talking about instances, right now we're just talking about holdings and items. So we developed a spreadsheet, and I put the link in chat.

116
00:11:47.340 --> 00:11:57.640
Jennifer Eustis: of what are the use cases for deleting in-batch holdings and items. So right now, we can hard delete. I think it's a hard delete.

117
00:11:57.740 --> 00:12:16.250
Jennifer Eustis: Manually, and one by one, a holding and an item. So, you're in folio, you go to folio inventory app, you navigate to maybe an item record or a holdings record, and you can actually do actions and delete that.

118
00:12:16.720 --> 00:12:31.140
Jennifer Eustis: At this moment, I'm pretty sure it's a hard delete. I'm not sure if there's something like a tombstone or a record that says, you know, item record with UUID, blah blah blah has been deleted.

119
00:12:31.140 --> 00:12:37.979
Jennifer Eustis: So, we couldn't get information on that. So, you'll see from this spreadsheet, the rationale really is

120
00:12:37.980 --> 00:12:54.500
Jennifer Eustis: You know, you're dealing with mistakes, you know, these are records that aren't tied to anything financial, circulation, requests, or any of that. A lot of e-resource management, where, you know, you're dealing with

121
00:12:54.500 --> 00:13:04.800
Jennifer Eustis: subscription packages, you know, the items come in, and they go out, so you want to easily remove all of these. But in the discussion,

122
00:13:04.800 --> 00:13:06.849
Jennifer Eustis: Especially, not only for this.

123
00:13:06.850 --> 00:13:31.699
Jennifer Eustis: but also when we were looking at the phases on how to implement the mark for delete discussion, and this is another spreadsheet that we started in data import that looks at that behavior, and this is the behavior in Sunflower where we have the flag set for delete, and then it changes the position 5 of the leader, and a mark SRS to D.

124
00:13:32.090 --> 00:13:38.270
Jennifer Eustis: We included in that discussion instances, and…

125
00:13:38.460 --> 00:13:51.889
Jennifer Eustis: In all of our discussions, one of the major concerns was that there are no guardrails. So what happens if your record is linked to,

126
00:13:52.060 --> 00:14:07.060
Jennifer Eustis: You know, an order record, which is maybe still open, or even if it's closed, it's linked to an invoice in some… some capacity, or it's linked to a request, or perhaps it has something to do in

127
00:14:07.060 --> 00:14:10.719
Jennifer Eustis: courses. So, there are a lot of dependencies.

128
00:14:10.720 --> 00:14:33.160
Jennifer Eustis: And because of the business logic of Folio, these dependencies in terms of which way they're going from which app is not always clear, and that's not highlighted right now. So a lot of people are, in the discussion in data import, were really like, well, you kind of have to slow down, and before we have

129
00:14:33.160 --> 00:14:40.740
Jennifer Eustis: like a hard delete, or even a soft delete. We really need to, in some way, ensure that we

130
00:14:40.780 --> 00:14:56.070
Jennifer Eustis: guard against these dependencies. So we're not just whole-scaling, you know, getting rid of records, and then messing up logic in a different app, or even messing up, kind of,

131
00:14:56.170 --> 00:15:15.819
Jennifer Eustis: data that would be used by third-party integrations, like Discovery. So, all of a sudden, you know, if the record is no longer there, can EDS still display that? And I think it… it only doesn't display it, it's based on suppression, so if nothing's there, then…

132
00:15:15.820 --> 00:15:24.220
Jennifer Eustis: You could have these really funky, kind of corrupt kind of records, either in discovery, reporting.

133
00:15:24.220 --> 00:15:30.920
Jennifer Eustis: or, elsewhere, depending on the integration you use, perhaps ILL as well.

134
00:15:30.930 --> 00:15:32.680
Jennifer Eustis: So,

135
00:15:33.020 --> 00:15:51.300
Jennifer Eustis: we saw in data import that this discussion was much larger than just data import. You know, how do you just delete something in batch? Because it involves, many more subject areas than… than what our, you know.

136
00:15:51.330 --> 00:16:01.339
Jennifer Eustis: members were involved with. Some were involved, but not all of them. So we are bringing it to Cross Up to see if maybe we can…

137
00:16:01.420 --> 00:16:15.349
Jennifer Eustis: like, find a path forward on how to navigate this… this functionality? You know, is it functionality that we want? You know, can we come to terms with

138
00:16:15.360 --> 00:16:34.330
Jennifer Eustis: you know, maybe a soft delete for instances, which we do have a little bit, but, you know, what does a hard delete mean? You know, do we implement tombstones, that interact with our third-party integrations, and even maybe an, I don't know, an archived version of the record?

139
00:16:34.330 --> 00:16:43.710
Jennifer Eustis: So, that's why we're bringing the conversation here. And it really is just a conversation. So, I think it was Owen…

140
00:16:43.860 --> 00:17:00.650
Jennifer Eustis: If you did any reading, there was a technical… Council… Did, not that…

141
00:17:02.100 --> 00:17:05.910
Jennifer Eustis: It was the… Here, I'll just copy the link here.

142
00:17:06.869 --> 00:17:19.760
Jennifer Eustis: Yeah, I think it was… and this one, the… yeah, so we have that, if you've read that. So anyway, so I'd like to open it up for discussion, see what people think, and see…

143
00:17:19.859 --> 00:17:32.960
Jennifer Eustis: you know, I'm not sure if we can decide on how to move forward now, or maybe we… maybe the path forward is more discussions, or to reach out to more SIGs.

144
00:17:32.960 --> 00:17:39.899
Jennifer Eustis: So, that's… that is my brief presentation for y'all, and I'll open it up for discussion.

145
00:17:46.340 --> 00:17:47.370
Jennifer Eustis: Vivian.

146
00:17:48.450 --> 00:17:53.210
Vivian Gould: I had put this in the chat, but, the…

147
00:17:54.520 --> 00:18:02.180
Vivian Gould: the question of dependencies is compounded for those sites who are using ECS, because…

148
00:18:02.840 --> 00:18:06.139
Vivian Gould: The tenants can't see each other's data.

149
00:18:06.300 --> 00:18:17.119
Vivian Gould: I mean, in some cases, can see that another library has holdings, but can't see the holdings. And so, when you talk about, you know, order data.

150
00:18:17.300 --> 00:18:20.119
Vivian Gould: And order record dependencies.

151
00:18:20.240 --> 00:18:22.269
Vivian Gould: I mean, that is…

152
00:18:23.690 --> 00:18:29.660
Vivian Gould: One tenant won't even know if another tenant has order data attached to a given instance.

153
00:18:30.420 --> 00:18:36.910
Vivian Gould: And so… My… and my saying that isn't coming from a place of, oh, you know.

154
00:18:37.180 --> 00:18:41.560
Vivian Gould: This is a bad idea. I'm, I'm, you know, it was actually part of the original discussion.

155
00:18:41.850 --> 00:18:46.849
Vivian Gould: It's more that we need to make sure that there are fail-safes built in.

156
00:18:47.050 --> 00:18:56.139
Vivian Gould: So, if we're gonna do a hard delete, or frankly, even if a soft… even a soft delete, there should be some… there should be some… some…

157
00:18:56.890 --> 00:19:01.259
Vivian Gould: Guardrails built in to be able to say, you know, oh, you know.

158
00:19:03.470 --> 00:19:17.309
Vivian Gould: Folio is not going to allow you to do this because there are depend… because this record has other things that are dependent upon it not being deleted. I don't really know the right words for this, but that's the… that's the general idea.

159
00:19:20.940 --> 00:19:23.919
Vivian Gould: I think Maura, I think your hand was up next.

160
00:19:25.400 --> 00:19:32.869
Maura Byrne: I'll jump in. Yeah, I just thought I would mention that, in the,

161
00:19:33.370 --> 00:19:37.750
Maura Byrne: In user management,

162
00:19:38.110 --> 00:19:46.190
Maura Byrne: One of the libraries created a, they created a bit of code that, you know, before you delete a user.

163
00:19:46.390 --> 00:19:59.490
Maura Byrne: it checks for dependencies first, so it checks to see if there are any loans, or any fines, or anything else that is connected to any of the other apps. And I think that,

164
00:20:00.150 --> 00:20:05.860
Maura Byrne: That if there was something like that, that's sort of, like.

165
00:20:06.110 --> 00:20:09.850
Maura Byrne: That connected to any of the other apps, and, you know, just sort of, like.

166
00:20:10.260 --> 00:20:14.460
Maura Byrne: It just looked for wherever else that record is touching.

167
00:20:15.070 --> 00:20:23.059
Maura Byrne: be it orders, or discovery, or loans, God forbid, when you're deleting… when you're deleting it, that,

168
00:20:23.160 --> 00:20:30.529
Maura Byrne: you know, that… It would check for dependencies, and then, like, in the user's app, it would, like.

169
00:20:31.160 --> 00:20:41.689
Maura Byrne: It'll pop up the, you know, they'll have a modal window that pops up and says, this is, you know, these are the things that are happening, and, you know.

170
00:20:41.830 --> 00:20:48.640
Maura Byrne: So it's, I think if you had something like that, I think that, you know,

171
00:20:49.470 --> 00:20:54.229
Maura Byrne: There could be… I think that would be, helpful.

172
00:20:56.760 --> 00:20:57.930
Jennifer Eustis: Christy?

173
00:20:59.650 --> 00:21:11.880
Christie Thomas (she/her): So I'm speaking up, as the person who actually brought the use case back to the Data Import SIG, and as a co-convener of the Data Import SIG.

174
00:21:11.880 --> 00:21:23.419
Christie Thomas (she/her): And I think that it is a real… it is a complex issue, and some of the conversations are happening at cross-purposes, because…

175
00:21:23.640 --> 00:21:25.790
Christie Thomas (she/her): We have two…

176
00:21:25.860 --> 00:21:35.449
Christie Thomas (she/her): Completely different use cases, or let's say, buckets or types of use cases for needing to delete records.

177
00:21:35.460 --> 00:21:49.390
Christie Thomas (she/her): You know, one of those is a part of the natural life cycle of resource management. You've withdrawn a title from your collection, and, you know, the set for deletion

178
00:21:49.510 --> 00:22:08.300
Christie Thomas (she/her): functionality that is being developed is kind of in support of that workflow. And that is different from needing to just make records gone. I can just say that our biggest use case is needing to

179
00:22:08.650 --> 00:22:18.290
Christie Thomas (she/her): Correct an import gone awry. Needing to delete junk data. It's so easy to create a lot of corrupt data in folio.

180
00:22:18.290 --> 00:22:42.479
Christie Thomas (she/her): And then it just is going to be there forever. And there's a lot of work that has to happen so that that junk data doesn't interfere with other processes. You have to go in and you have to strip identifiers, you have to suppress things, you can delete things, but you have to go in and do it manually. And I think that for a lot of these use cases.

181
00:22:43.180 --> 00:22:50.869
Christie Thomas (she/her): it doesn't matter if there's a dependency, that all the things need to be gone, right, in an ideal world.

182
00:22:51.030 --> 00:23:02.880
Christie Thomas (she/her): So, tackling this from multiple perspectives at the same time, I think, is important, rather than…

183
00:23:03.300 --> 00:23:08.050
Christie Thomas (she/her): It feels like there's an assumption that

184
00:23:09.610 --> 00:23:20.170
Christie Thomas (she/her): you know, dependencies should always be a stopgap, and we shouldn't be able to delete anything that is attached to the order. And that is just not the case.

185
00:23:20.250 --> 00:23:39.300
Christie Thomas (she/her): We need to be thoughtful and intentional about it and understand the implications of doing so, but, you know, there are certain… if you create an order in batch, if we get, say, a batch of 400 orders from a vendor, and, you know.

186
00:23:39.580 --> 00:23:55.140
Christie Thomas (she/her): certain… I can't, for the life of me, off the top of my head, you know, say it's this property or that property, but once an order has been created, you can't actually edit all of the fields in the order, and

187
00:23:55.320 --> 00:24:01.079
Christie Thomas (she/her): The only way to recreate those orders is to delete them.

188
00:24:01.080 --> 00:24:16.490
Christie Thomas (she/her): The only way we have of doing that is doing it manually, and we have to do that with the, you know, the holdings and the items in inventory, too, because these things are coming in with barcodes. We can't just suppress them. We have to delete them, because

189
00:24:16.490 --> 00:24:35.150
Christie Thomas (she/her): the barcode is there. We can't create another item with that same barcode. And if we have to recreate the orders, we're going to have to recreate the inventory, at least how data import works. We're going to have to recreate all of the records. So what we really need is for everything just to be gone.

190
00:24:35.260 --> 00:24:46.139
Christie Thomas (she/her): And… I don't know where that gets us, other than I just want to be sure that

191
00:24:46.230 --> 00:25:04.960
Christie Thomas (she/her): We're not limiting ourselves to what I think is the most obvious use case, which is we had a resource. It was a real thing. It represented something. It's gone from our collection, and now we need to, you know, manage, manage that phase of the resource lifecycle.

192
00:25:05.040 --> 00:25:18.399
Christie Thomas (she/her): Versus, we have junk data, it needs to be gone, we need to clean it up so that we can actually load the orders and, you know, get the money encumbered on the right funds, and then load the invoice and get it paid.

193
00:25:21.850 --> 00:25:22.690
Jennifer Eustis: Owen.

194
00:25:24.530 --> 00:25:35.980
Owen Stephens: Oh… I… the… the thing, like, and so I… I kind of get that Christy is…

195
00:25:36.810 --> 00:25:38.450
Owen Stephens: Making an argument that…

196
00:25:38.840 --> 00:25:47.969
Owen Stephens: perhaps we shouldn't overcomplicate this, and I think that's a fair point. I want to just come back to what Mara said, and say…

197
00:25:48.550 --> 00:25:51.719
Owen Stephens: And I think the same goes for what Christy just said, actually.

198
00:25:52.160 --> 00:26:06.889
Owen Stephens: The problem, like, even if we're talking about deleting everything that's… that's there, the problem with folio architecture, and this is why it's a deep technical discussion, and why the previous discussion was so hard.

199
00:26:07.080 --> 00:26:11.829
Owen Stephens: For those of you who were involved in it, if there's somebody else on the call.

200
00:26:11.980 --> 00:26:15.079
Owen Stephens: And long, is because

201
00:26:15.600 --> 00:26:29.419
Owen Stephens: By their nature, the folio modules do not know anything about each other, so it is not possible to know whether another module references something that is in your module. And in the sense that

202
00:26:30.640 --> 00:26:42.539
Owen Stephens: christie's talking about getting rid of everything, It might be… Slightly easier, but the same…

203
00:26:42.840 --> 00:26:46.319
Owen Stephens: problem could occur. Like, deleting everything

204
00:26:46.960 --> 00:26:52.530
Owen Stephens: You can only delete everything if you know that.

205
00:26:53.540 --> 00:26:56.029
Owen Stephens: It is all connected in the first place.

206
00:26:57.120 --> 00:26:58.030
Owen Stephens: And…

207
00:26:59.900 --> 00:27:09.289
Owen Stephens: so you have to be careful about the way in which you're exploring that data. I think in the example that you were giving, Christy, obviously that data is all connected.

208
00:27:10.100 --> 00:27:20.949
Owen Stephens: But it's about knowing where those connections are stored, and making sure that you're not deleting the thing that knows what it's connected to before you delete the other things that are connected to it, because

209
00:27:21.140 --> 00:27:26.639
Owen Stephens: A order knows it's connected to inventory, but an inventory doesn't know it's connected to an order.

210
00:27:26.750 --> 00:27:39.060
Owen Stephens: So… the… in terms of data that's being stored. So… I… I feel… kind of…

211
00:27:39.540 --> 00:27:50.530
Owen Stephens: from the… I also think, actually, although I do understand what you've just said, Christy, I don't understand how you would know you were definitely not deleting something that mattered.

212
00:27:50.850 --> 00:27:54.800
Owen Stephens: in that… I guess you just…

213
00:27:54.910 --> 00:28:02.550
Owen Stephens: Have to be careful that something didn't exist before, that that job that you've just run that's created all of this extra stuff.

214
00:28:03.090 --> 00:28:06.799
Owen Stephens: That could interact with stuff that already exists as well, so…

215
00:28:07.020 --> 00:28:13.209
Owen Stephens: I guess that… I guess… I mean, you know this, I don't want to be… I'm not trying to teach people how to suck eggs, but…

216
00:28:13.430 --> 00:28:19.160
Owen Stephens: what I would say is, like, there are…

217
00:28:19.370 --> 00:28:24.970
Owen Stephens: there are definite architectural issues here in supporting Delete.

218
00:28:25.090 --> 00:28:34.150
Owen Stephens: And having all of these interconnected things know about each other is something that Polio is designed Against.

219
00:28:34.290 --> 00:28:40.550
Owen Stephens: Now, You can obviously… Change that,

220
00:28:41.090 --> 00:28:48.929
Owen Stephens: or you can implement things like the ModFQM which is…

221
00:28:49.410 --> 00:28:58.999
Owen Stephens: there to know how things… well, that somehow bridges that gap to some extent. it's not, I think a…

222
00:29:00.390 --> 00:29:07.490
Owen Stephens: it's not a universally agreed on solution, but it does do some of that work for you. But I think that…

223
00:29:09.070 --> 00:29:10.050
Owen Stephens: the…

224
00:29:11.410 --> 00:29:19.329
Owen Stephens: Yeah, I don't see how we have this discussion without people who are deep in the architecture of folio in the room, who can

225
00:29:19.710 --> 00:29:23.830
Owen Stephens: like, say, well, how is this going to actually work in a technical sense? Because…

226
00:29:24.660 --> 00:29:29.250
Owen Stephens: I feel like we know what the… what it is the users want, but we…

227
00:29:30.020 --> 00:29:33.339
Owen Stephens: You know, that has never got as far as implementation.

228
00:29:33.860 --> 00:29:36.100
Owen Stephens: And so we have to look at the reasons why not.

229
00:29:37.510 --> 00:29:41.130
Owen Stephens: I think, and I think it's because it's technically difficult and a lot of effort.

230
00:29:41.830 --> 00:29:48.820
Owen Stephens: And maybe we haven't got the right technical solutions in place, I don't know. But, yeah.

231
00:29:50.660 --> 00:29:53.749
Owen Stephens: I think I'm… in terms of having a conversation here.

232
00:29:56.370 --> 00:30:03.450
Owen Stephens: it's very easy for… well, not easy, but I think we can agree on the requirements much more easily than we've been able to implement.

233
00:30:04.270 --> 00:30:09.479
Owen Stephens: work that actually fulfills those requirements, and I think that's the… been the blocker in the past.

234
00:30:10.190 --> 00:30:12.250
Owen Stephens: Yeah, I'll stop there.

235
00:30:14.510 --> 00:30:17.939
Jennifer Eustis: Christine, did you want to have a chance to respond?

236
00:30:18.820 --> 00:30:24.519
Christie Thomas (she/her): I can let Martin go first, because, they've had their hand up for quite a while.

237
00:30:29.150 --> 00:30:34.889
Martin Scholz: Yeah, well, Owen… already said a lot of what I wanted to say,

238
00:30:35.140 --> 00:30:42.039
Martin Scholz: And I want to add that, I think maybe, I mean, if you want to have checks…

239
00:30:42.390 --> 00:30:50.259
Martin Scholz: before deleting, I mean… as Owen said, you basically… The modules can't know

240
00:30:50.670 --> 00:30:57.440
Martin Scholz: everything that is within a folio system that is… that has dependencies on a record.

241
00:30:57.550 --> 00:31:04.529
Martin Scholz: But… If you want to have, from a practical standpoint, maybe you could say that for each record.

242
00:31:04.750 --> 00:31:13.770
Martin Scholz: type, like items, instances, users, and so on. You could define a set of maybe, standard…

243
00:31:14.240 --> 00:31:18.239
Martin Scholz: Modules are standard dependencies that get, get checked.

244
00:31:18.560 --> 00:31:28.800
Martin Scholz: But… then maybe… A lot of libraries will use modules or apps that also have

245
00:31:29.660 --> 00:31:33.819
Martin Scholz: Dependents outside of that set, and that also have dependencies, and then…

246
00:31:34.030 --> 00:31:42.090
Martin Scholz: You will maybe get the false impression that, before deletion, every dependency is checked.

247
00:31:42.400 --> 00:31:46.340
Martin Scholz: And then, suddenly, those apps that are not considered the

248
00:31:46.720 --> 00:31:50.990
Martin Scholz: The… yeah, so the… the link is… is broken.

249
00:31:52.180 --> 00:31:53.310
Martin Scholz: I'm young.

250
00:31:54.550 --> 00:31:56.740
Martin Scholz: practical point of view, I think it…

251
00:31:57.240 --> 00:32:02.200
Martin Scholz: Maybe it would be okay to say, well, only the… Maybe, maybe…

252
00:32:03.270 --> 00:32:12.010
Martin Scholz: You can say, maybe the modules that are within the official release, or whatever, they get checked, because there you know

253
00:32:12.400 --> 00:32:14.990
Martin Scholz: If there can be dependencies or something like this.

254
00:32:16.240 --> 00:32:21.769
Martin Scholz: But… Jennifer mentioned before that,

255
00:32:22.180 --> 00:32:24.970
Martin Scholz: There could be the possibility of some kind of tombstone.

256
00:32:25.730 --> 00:32:29.870
Martin Scholz: And I really, like the idea that it's…

257
00:32:30.220 --> 00:32:31.649
Martin Scholz: That you have some kind of

258
00:32:32.140 --> 00:32:38.120
Martin Scholz: Functionality that says, okay, there was this, this, this, record was there.

259
00:32:38.340 --> 00:32:41.430
Martin Scholz: It got deleted, and

260
00:32:42.710 --> 00:32:48.570
Martin Scholz: And that the user gets… gets to know that this is not a…

261
00:32:49.110 --> 00:32:51.519
Martin Scholz: An error within the system, but yeah.

262
00:32:51.720 --> 00:32:56.089
Martin Scholz: That someone entered false data, but…

263
00:32:56.630 --> 00:33:00.410
Martin Scholz: There… there's just something missing because it was deleted.

264
00:33:01.520 --> 00:33:06.060
Martin Scholz: And if you have, if you delete, for example, the…

265
00:33:06.490 --> 00:33:10.870
Martin Scholz: Inventory data, and then have an ordered,

266
00:33:11.410 --> 00:33:16.700
Martin Scholz: You can just display that, the corresponding instances, or whatever.

267
00:33:17.680 --> 00:33:25.060
Martin Scholz: Actually, actually got deleted, and not that they… Just don't display or, yeah.

268
00:33:26.830 --> 00:33:28.420
Martin Scholz: Okay, that's… that's what I want.

269
00:33:29.200 --> 00:33:29.870
Martin Scholz: at…

270
00:33:33.070 --> 00:33:33.939
Martin Scholz: I don't know.

271
00:33:34.250 --> 00:33:35.080
Martin Scholz: Oh, Kristen.

272
00:33:36.360 --> 00:33:37.660
Laura Daniels: I think Christy.

273
00:33:39.790 --> 00:33:49.280
Christie Thomas (she/her): So, I… I hear everything that's being said. You know, it's difficult, it's hard, there's a lot of risk.

274
00:33:49.450 --> 00:33:57.099
Christie Thomas (she/her): What I will say is that, this is functionality

275
00:33:57.110 --> 00:34:08.349
Christie Thomas (she/her): that Folio should have. It is expected functionality. Other library systems have it. Other library systems that we've had have had it. We've been able to do this before.

276
00:34:08.350 --> 00:34:17.600
Christie Thomas (she/her): So how do we move it forward to figure out how to make it happen? And I think that that's what we need to, talk about

277
00:34:17.760 --> 00:34:32.140
Christie Thomas (she/her): that's… I think that that is what I would like to see us thinking about how to make this happen. I will also say that, one,

278
00:34:33.139 --> 00:34:37.919
Christie Thomas (she/her): These dependency issues have been resolved, at least

279
00:34:38.090 --> 00:34:50.920
Christie Thomas (she/her): partially, for other types of functionality that has been implemented. I'm thinking about the ability to maintain relationships when

280
00:34:51.090 --> 00:35:06.190
Christie Thomas (she/her): certain relationships change in inventory. You move a holdings from one instance to a next, and you can now maintain the relationship with the order. So, you know, it is possible to…

281
00:35:06.460 --> 00:35:14.479
Christie Thomas (she/her): to… Be able to achieve this, and I am not going to speak to how that gets achieved.

282
00:35:14.540 --> 00:35:28.479
Christie Thomas (she/her): The other thing that I will say is that, you know, we're deleting records left and right via the API, and I don't actually know exactly what you mean by tombstone, but, you know.

283
00:35:29.190 --> 00:35:50.330
Christie Thomas (she/her): all versions of… all previous versions of, like, say we… we delete holdings in batch on a regular basis, via the API, and those holdings are still there in the system, they're just not available via the UI. They're in the data in the backend in a table, I forget what the table is called.

284
00:35:50.330 --> 00:35:57.490
Christie Thomas (she/her): But I think it's history, or archive, or something like that.

285
00:35:57.540 --> 00:36:07.410
Christie Thomas (she/her): So these records are still available. You can look them up in the data, and get them. They're just not…

286
00:36:08.060 --> 00:36:26.180
Christie Thomas (she/her): active any longer, and I don't think that there's an undelete function. So, you know, I just want to say that, you know, I think that there's a lot of groundwork that we can leverage, for doing this, and,

287
00:36:27.260 --> 00:36:29.250
Christie Thomas (she/her): So…

288
00:36:30.440 --> 00:36:37.870
Christie Thomas (she/her): I can see this data. I'm going to Jennifer, who's saying that might be a feature of MetaDB, and…

289
00:36:39.810 --> 00:36:54.739
Christie Thomas (she/her): Yeah, you know, that actually could be it. But I… I… I do think that, there is, there, there actually is a table in Folio via the API.

290
00:36:54.740 --> 00:37:03.370
Christie Thomas (she/her): where, records that have been deleted, the holdings and items that have been deleted via the API,

291
00:37:03.460 --> 00:37:06.849
Christie Thomas (she/her): You know, go to, you know, out to pasture.

292
00:37:07.080 --> 00:37:15.980
Christie Thomas (she/her): I can find the name of that table, for you, or the name of that, endpoint for looking that up.

293
00:37:16.160 --> 00:37:35.860
Christie Thomas (she/her): Anyway, I will… I will hand it off, to Laura now, but I just wanted to say, I do think that there's functionality that at least gets us part of the way in thinking about how to resolve some of these problems, and I think that it is imperative that we figure out how to move forward, because functionally.

294
00:37:36.310 --> 00:37:45.070
Christie Thomas (she/her): you know, we should be able to do this. And I don't want the end of the story to be, it's hard, and it's a lot of work.

295
00:37:45.270 --> 00:37:52.900
Christie Thomas (she/her): I mean, that actually may be the end of the story, but anyway.

296
00:37:53.070 --> 00:37:53.790
Christie Thomas (she/her): Thanks.

297
00:37:55.560 --> 00:37:56.790
Jennifer Eustis: Laura?

298
00:37:56.790 --> 00:38:11.049
Laura Daniels: Yeah, so I've been part of conversations about this for as long as I can remember, and it is hard, and I feel like part of the challenge is that every time I have

299
00:38:11.580 --> 00:38:22.699
Laura Daniels: been part of a discussion about addressing this. We've tried to think about it holistically, which is great, but we've tried to figure out how can we solve all of this all at once? And to Christy's point, I think

300
00:38:22.900 --> 00:38:39.590
Laura Daniels: I'm… what I was… I made a note to myself that I… I don't think this group can solve this, but I think this group could… could come up with a plan for, okay, we'd like to address this piece first, and then we would like to address this part, etc. I do,

301
00:38:39.670 --> 00:38:56.019
Laura Daniels: Christy, you said other systems deal with this, and yes, they do, but I've also worked with systems that dealt with it very badly. So there are lots of challenges, even with an integrated system, and Folio, as we know, as microservices, or at least was

302
00:38:56.170 --> 00:39:00.069
Laura Daniels: Envision to be microservices and functions as sort of a…

303
00:39:00.180 --> 00:39:09.720
Laura Daniels: I don't know how it functions. We don't need to go there. But what I was thinking was… what I would propose is

304
00:39:09.930 --> 00:39:21.519
Laura Daniels: For a plan would be that we start with making it easier to do a hard delete without guardrails, making it very clear that it is a hard delete without guardrails.

305
00:39:21.890 --> 00:39:26.140
Laura Daniels: And that would allow us

306
00:39:26.510 --> 00:39:31.030
Laura Daniels: To delete the records that we know we really just need to get rid of.

307
00:39:31.620 --> 00:39:37.189
Laura Daniels: And then we start thinking about how… we could…

308
00:39:37.380 --> 00:39:49.109
Laura Daniels: realistically identify dependencies. I don't see it being something that, like, each app in folio can identify. I think there has to be some

309
00:39:49.110 --> 00:39:57.809
Laura Daniels: some workflow, some app that just is identifying dependencies, because as Owen… Owen says, the…

310
00:39:57.810 --> 00:40:08.759
Laura Daniels: the apps in folio often don't know anything about each other. And that is the hard part, but we… we trip ourselves up when we feel like, well, we can't…

311
00:40:08.780 --> 00:40:28.659
Laura Daniels: develop… we can't let anyone delete through the UI in any way until we've figured out how to solve the whole thing. And I would love to see us solve this bit by bit, while… while making sure that when people come to Folio, they don't assume that they… that Delete is doing things that it isn't doing.

312
00:40:31.520 --> 00:40:33.269
Laura Daniels: Owen, I see you're next.

313
00:40:35.420 --> 00:40:45.239
Owen Stephens: So, I just want to be really clear. I'm not making an argument at all that we… this should not be part of the functionality in folio. I mean, it…

314
00:40:45.340 --> 00:40:52.089
Owen Stephens: I… I… yeah, and it's not my place, and I have, you know, no interest in… in…

315
00:40:52.980 --> 00:40:59.080
Owen Stephens: In arguing against a perfectly rational and sensible and reasonable set of functionality.

316
00:40:59.250 --> 00:41:05.599
Owen Stephens: all I'm saying is that the problems we've encountered In getting this done, are not…

317
00:41:07.230 --> 00:41:14.700
Owen Stephens: About a group like this agreeing that it must be… that it should be… Part of the functionality.

318
00:41:14.950 --> 00:41:24.040
Owen Stephens: the… And I guess I wonder, maybe a starting point for this

319
00:41:26.360 --> 00:41:36.360
Owen Stephens: for me is, like, well, like, there is, you know, that work that I pointed to, that… and as Christy, you said as well, like, that have been implemented.

320
00:41:37.570 --> 00:41:45.680
Owen Stephens: in places, the work that's necessary, and that document that, that Jennifer and I linked to, that says how we should do it.

321
00:41:45.770 --> 00:41:58.419
Owen Stephens: But if you delete something, you publish a Kafka message to say it's been deleted, and then any other module that's interested in that can consume that Kafka message and know that deletion has happened.

322
00:42:00.120 --> 00:42:01.179
Owen Stephens: And that's…

323
00:42:01.390 --> 00:42:08.239
Owen Stephens: how that previous discussion said it should be done, and that's what the Tech Council signed off on.

324
00:42:08.650 --> 00:42:17.719
Owen Stephens: is, like, So I guess the question is, like, what… what is… what are the things that's stopping

325
00:42:18.280 --> 00:42:21.930
Owen Stephens: Deletion of any kind, with or without that messaging.

326
00:42:22.080 --> 00:42:28.389
Owen Stephens: happening, because you can delete things in Polio, right? It's… it's a decision to not allow deletion of things.

327
00:42:28.530 --> 00:42:37.149
Owen Stephens: And if… yeah, I mean… If you… if it doesn't…

328
00:42:37.780 --> 00:42:46.950
Owen Stephens: Especially if you… if you want to be very… Decide to take a… What's the word?

329
00:42:47.950 --> 00:42:49.260
Owen Stephens: I,

330
00:42:49.850 --> 00:42:56.579
Owen Stephens: Reasonably relaxed view of whether it's going to cause you any problems to delete something from the system.

331
00:42:57.020 --> 00:43:05.789
Owen Stephens: But certainly, there are things all over Thrall that you can delete, right? So, I guess maybe the question here is, like, what's stopping that happening in this case, and…

332
00:43:06.740 --> 00:43:11.560
Owen Stephens: What needs… like, who is it that needs to be able to… Action that.

333
00:43:12.950 --> 00:43:14.390
Owen Stephens: Which… yeah.

334
00:43:23.810 --> 00:43:31.619
Jennifer Eustis: Yeah, and those are really interesting comments, because I think, you know, we can delete invoices, we can delete…

335
00:43:31.870 --> 00:43:38.460
Jennifer Eustis: POLs, invoice lines… I think we can delete agreements, I think…

336
00:43:38.700 --> 00:43:45.680
Jennifer Eustis: even individual users you can delete. So I think each app, you can pretty much…

337
00:43:45.810 --> 00:43:48.780
Jennifer Eustis: Delete one by one…

338
00:43:49.120 --> 00:44:04.979
Jennifer Eustis: either a combination of the records that are there, or all of them. For inventory, we can already delete holdings and items, and I just looked at the bulk edit high-level roadmap.

339
00:44:05.030 --> 00:44:10.179
Jennifer Eustis: So, for batch, this is scheduled for post-umbrella leaf.

340
00:44:10.360 --> 00:44:18.160
Jennifer Eustis: I, I think, when you get to instances, I think there was just…

341
00:44:19.290 --> 00:44:21.260
Jennifer Eustis: Yeah, I mean, there's, like…

342
00:44:21.520 --> 00:44:30.280
Jennifer Eustis: Well, one, there were two concerns that I saw from the discussion here and in data import, is that we need more than one way than just bulk edit.

343
00:44:30.390 --> 00:44:36.499
Jennifer Eustis: So there was an expressed interest in having data import do that.

344
00:44:36.670 --> 00:44:39.670
Jennifer Eustis: Do the deletion.

345
00:44:39.870 --> 00:44:57.079
Jennifer Eustis: And then there is also, like, you know, how do we account for the dependencies? I mean, it's one of the reasons why I like the tombstone idea, because the tombstone can say, hey, at one time I existed, you know, and then if that has… if that's encoded in a certain way.

346
00:44:57.080 --> 00:45:14.880
Jennifer Eustis: you know, that can be communicated off to all the dependencies, and if a new dependency tries to go to that record, you know, there can be this flag saying, oh, wait, you know, I've been deleted, so you can't do this, or something like that.

347
00:45:15.020 --> 00:45:21.630
Jennifer Eustis: But you're, you're right, maybe… maybe we should go back. I, you know, at this point, I'm not sure…

348
00:45:21.950 --> 00:45:25.359
Jennifer Eustis: Because we all want deletion in some way, and there's…

349
00:45:25.680 --> 00:45:35.150
Jennifer Eustis: Multiple use cases, you know, for, you know, preserving some of the dependencies, but also just getting rid of junk data.

350
00:45:35.340 --> 00:45:43.350
Jennifer Eustis: So maybe we need to go back to the technical council. Another idea that I had was that…

351
00:45:43.470 --> 00:45:47.410
Jennifer Eustis: The Product Council is looking for ideas from the SIGS.

352
00:45:47.560 --> 00:45:50.100
Jennifer Eustis: On, you know, questions

353
00:45:50.330 --> 00:46:00.299
Jennifer Eustis: for, Folio in general on how to implement stuff, so I thought of maybe bringing this up in that conversation.

354
00:46:03.030 --> 00:46:09.959
Jennifer Eustis: And then, Owen, I'm reading your… your, chat.

355
00:46:10.340 --> 00:46:13.389
Jennifer Eustis: Does anyone else have any?

356
00:46:14.360 --> 00:46:16.150
Jennifer Eustis: Any thoughts to share?

357
00:46:29.610 --> 00:46:44.300
Jennifer Eustis: And I noticed, Owen, you mentioned prioritization, and Tara, you mentioned that as well. I was wondering if you could expand on that idea of prioritization, rather than being… not being possible.

358
00:46:45.390 --> 00:46:49.690
Owen Stephens: Well, I mean, it's just, like, who's gonna do the work? Like, who's…

359
00:46:49.870 --> 00:46:59.109
Owen Stephens: I mean, I say who's… where does the… where does the resource come from to get the work done, is maybe the best way of saying this.

360
00:47:00.470 --> 00:47:03.460
Owen Stephens: In cereals, that work has been…

361
00:47:03.920 --> 00:47:12.250
Owen Stephens: was paid for by a combination of GBV and cube, originally.

362
00:47:12.380 --> 00:47:20.460
Owen Stephens: If they had said, And… We have to have… Batch deletion in serials.

363
00:47:21.550 --> 00:47:24.820
Owen Stephens: And this is how it should work, then that would have been done.

364
00:47:25.480 --> 00:47:26.370
Owen Stephens: I mean…

365
00:47:27.060 --> 00:47:32.350
Owen Stephens: Given there was resource available to do it, and it was the most important thing to be done at that time.

366
00:47:33.650 --> 00:47:43.209
Owen Stephens: And… Obviously, different modules have different methods of prioritizing what gets done next, but

367
00:47:43.860 --> 00:47:46.329
Owen Stephens: Generally, at the part of it, in my view.

368
00:47:47.330 --> 00:47:54.929
Owen Stephens: somebody's having to pay for that to happen, so… it… It gets prioritized when

369
00:47:57.260 --> 00:47:59.709
Owen Stephens: There is resource available to do it.

370
00:48:01.740 --> 00:48:07.349
Owen Stephens: And if you pay for it, then you are providing the resource available to do it, so therefore you

371
00:48:07.780 --> 00:48:10.329
Owen Stephens: you can prioritize it.

372
00:48:11.300 --> 00:48:20.600
Owen Stephens: That's not to say there aren't other mechanisms for prioritizing things, like the SIGs prioritize things, and they're often added to the list of things to get done.

373
00:48:20.750 --> 00:48:27.050
Owen Stephens: And they do get done. But it… that's a slightly less direct route than

374
00:48:27.480 --> 00:48:35.030
Owen Stephens: money on the table. Certainly in my experience, and certainly for the modules that I'm responsible for,

375
00:48:36.810 --> 00:48:46.989
Owen Stephens: the… Yeah. So… Yeah, I see Christie's.

376
00:48:49.880 --> 00:48:57.440
Christie Thomas (she/her): Yeah, no, I mean, I can see that prioritization and money is a big part of this, and…

377
00:48:57.970 --> 00:49:01.400
Christie Thomas (she/her): I guess, you know, my question is…

378
00:49:01.620 --> 00:49:04.989
Christie Thomas (she/her): Is it the sense of this group that…

379
00:49:05.470 --> 00:49:10.490
Christie Thomas (she/her): Prioritization is the blocker for this, or…

380
00:49:10.700 --> 00:49:22.060
Christie Thomas (she/her): Is it that there isn't, like, consensus and a holistic plan for how individual modules should handle deletes.

381
00:49:22.620 --> 00:49:32.759
Christie Thomas (she/her): Like, should… do we need principles that are shared across Folio for deletion and, you know.

382
00:49:33.020 --> 00:49:37.359
Christie Thomas (she/her): interdependency between modules.

383
00:49:39.200 --> 00:49:55.309
Christie Thomas (she/her): So that, you know, if the prioritization is happening in the individual SIGs and, you know, the modules that they have stewardship for, that they can feel empowered to move forward with that.

384
00:49:55.440 --> 00:50:02.010
Christie Thomas (she/her): I think a part of this is, like, the lack of a process.

385
00:50:02.260 --> 00:50:03.780
Christie Thomas (she/her): And…

386
00:50:04.320 --> 00:50:23.220
Christie Thomas (she/her): like, how do we get this to move forward? Because, you know, we are prioritizing things, but I guess in the data imports SIG, we don't feel like we are empowered to prioritize this, that there's a lot of unknowns and a lot of,

387
00:50:23.980 --> 00:50:34.489
Christie Thomas (she/her): you know, engagement and decisions that need to be made outside of the data import SIG before we can actually prioritize this work. And maybe that's not the case.

388
00:50:39.580 --> 00:50:54.529
Jennifer Eustis: And that, yeah, as you were saying that, Christy and Owen posted in chat, you know, that was the discussion of, you know, that one of those original documents was consistency across the ops.

389
00:50:54.760 --> 00:51:11.679
Jennifer Eustis: you know, because there's delete, and there's consistency issues more than with delete, but if that document lays it out, maybe that's a good starting point. And… sorry, wait a second.

390
00:51:16.250 --> 00:51:21.159
Jennifer Eustis: Sorry, my voice just went. So maybe we could use that document

391
00:51:21.380 --> 00:51:26.220
Jennifer Eustis: As a starting point, and maybe we should go back to…

392
00:51:26.480 --> 00:51:40.300
Jennifer Eustis: both the technical council as well as the product council to see if this is something that we can now get started on, and then, you know, discuss how we prioritize that.

393
00:51:40.510 --> 00:51:50.310
Jennifer Eustis: Or, you know, how do we ensure consistency of, you know, the development teams that are… that are working on Delete? Owen?

394
00:51:51.610 --> 00:51:59.970
Owen Stephens: Yeah, so… That… that previous discussion in the document I keep mentioning, that said, how…

395
00:52:00.510 --> 00:52:03.609
Owen Stephens: a delete should be handled. I, like…

396
00:52:04.550 --> 00:52:09.610
Owen Stephens: That when you deleted something, you could publish a message saying.

397
00:52:09.790 --> 00:52:18.950
Owen Stephens: It had been deleted, and that was, the…

398
00:52:21.120 --> 00:52:24.399
Owen Stephens: So, that does not include the… that… that…

399
00:52:24.890 --> 00:52:35.500
Owen Stephens: proposal, or that… that… well, I say proposal, it was a proposal that I worked on, but it was accepted by the Technical Council, so it's an accepted recommendation. The,

400
00:52:35.960 --> 00:52:42.100
Owen Stephens: doesn't… Take into consideration the block, action. So…

401
00:52:42.160 --> 00:52:59.769
Owen Stephens: which I think this… this discussion has said kind of doesn't, you know, isn't what we're aiming at, but that… that question about actually not allowing a delete because other things rely on it is not handled by that… by that recommendation. That recommendation says delete it, and then tell everybody you've deleted it.

402
00:52:59.770 --> 00:53:02.999
Owen Stephens: Not, and this is how you should do that.

403
00:53:06.120 --> 00:53:13.139
Owen Stephens: in terms of, like, whether there should be other things, I think, like, there is, you know, there could be other

404
00:53:13.350 --> 00:53:27.319
Owen Stephens: things that we could agree on as a community, things like the two, you know, what tombstoming looks like, what soft delete looks like, you know, those are things that we could agree, but I don't think they're necessary for deletion to exist in the system.

405
00:53:32.060 --> 00:53:33.200
Jennifer Eustis: Kristen?

406
00:53:34.570 --> 00:53:45.699
Kristin Martin: Yeah, I'm just listening, and I might be misunderstanding, but if I'm hearing sort of what you were saying, Jennifer, and thinking about what Christy was saying,

407
00:53:46.780 --> 00:53:55.190
Kristin Martin: when we've tried to look at delete in, like, a holistic way, It's gotten really bogged down.

408
00:53:55.300 --> 00:54:00.930
Kristin Martin: But we have a use case for just data that gets created in error.

409
00:54:01.470 --> 00:54:07.370
Kristin Martin: And so, is one of the suggestions that's kind of out here is, like, providing

410
00:54:07.550 --> 00:54:17.499
Kristin Martin: An option that libraries could limit to very few people, to sort of do a delete without guardrails, just for that particular use case, and maybe that could be addressed.

411
00:54:17.700 --> 00:54:26.600
Kristin Martin: Well, some of these more holistic, like, data should be handled in the same way type of situations could be worked on, because it seems like

412
00:54:27.010 --> 00:54:31.180
Kristin Martin: One of the reasons why we can't clean up data created

413
00:54:31.670 --> 00:54:38.469
Kristin Martin: An error is because it's getting lumped in with this other type of use case for wanting to delete.

414
00:54:38.830 --> 00:54:42.650
Kristin Martin: And maybe that's something that could be kind of separated out.

415
00:54:49.570 --> 00:55:06.860
Jennifer Eustis: Yeah, exactly. I think it was Christy early on who said, or maybe it was Laura, I forget, sorry. So there's not just one way we should approach this. I mean, and the discrete methods are already here in many of the apps.

416
00:55:06.860 --> 00:55:19.280
Jennifer Eustis: So… and there is work, you know, at least in bulk edit, to address the, batch delete of holdings and items post-Umbrella leave. Owen?

417
00:55:21.770 --> 00:55:27.700
Owen Stephens: So… I think the issue that I would see with that idea that

418
00:55:28.000 --> 00:55:34.409
Owen Stephens: we don't need to worry about it if it's this scenario, is that I don't know how you isolate that it's this scenario, so…

419
00:55:34.660 --> 00:55:48.540
Owen Stephens: I mean, I do think that if you are adding the ability to batch delete things, you are adding the ability to batch delete things, unless you are connecting that explicitly to a function that says.

420
00:55:48.850 --> 00:55:58.400
Owen Stephens: I'm creating all of this stuff, I'm tracking everything that I'm creating, or updating, and then… I'm going to…

421
00:55:58.960 --> 00:56:05.999
Owen Stephens: keep that in memory, you know, keep a record of that so I can undo it and put everything back to how it was before.

422
00:56:06.250 --> 00:56:19.759
Owen Stephens: that I can see as a… I think I put something of that nature in the chat. Like, that as a function of a data import that tracks what it's doing, and then has the ability to therefore undo all of that, I can understand.

423
00:56:19.920 --> 00:56:24.619
Owen Stephens: adding support for deleting things.

424
00:56:25.130 --> 00:56:26.290
Owen Stephens: en masse.

425
00:56:26.960 --> 00:56:27.790
Owen Stephens: like…

426
00:56:28.480 --> 00:56:36.030
Owen Stephens: you can't… I don't know how you would then restrict that to, oh, but only if, you know, it's when I've made a mistake, because

427
00:56:36.360 --> 00:56:41.170
Owen Stephens: For the system, it's all just data, right? There's no way to know that.

428
00:56:41.170 --> 00:56:47.949
Kristin Martin: Yeah, I wasn't saying the system would know that, I was saying, like, that would be sort of the caveat emptor of the library.

429
00:56:48.390 --> 00:56:49.900
Owen Stephens: Well, sure, yeah.

430
00:56:53.230 --> 00:56:54.400
Jennifer Eustis: Christy?

431
00:56:55.850 --> 00:57:04.359
Christie Thomas (she/her): Actually, I was just going to say what… what Kristen said, and what Mara is saying in chat. It's a permission…

432
00:57:04.460 --> 00:57:18.359
Christie Thomas (she/her): It's a permissions issue, and you know, it is definitely, you know, a riskier situation, and not everybody should be able to do that, or to decide that that is the approach.

433
00:57:18.360 --> 00:57:26.310
Christie Thomas (she/her): That should be taken, but that doesn't mean we shouldn't have the power to do that when we need to, when we absolutely need to.

434
00:57:27.460 --> 00:57:32.520
Christie Thomas (she/her): And we just need to be aware of the risks, you know, in doing so.

435
00:57:36.240 --> 00:57:45.669
Jennifer Eustis: Well, we're about 5 minutes until the end of time, and this has been a really great discussion. I think we have a lot to take back to…

436
00:57:45.670 --> 00:58:02.239
Jennifer Eustis: a data import, but I think also I'm on PC, and I think I might bring this up to PC as well, in terms of, you know, this discussion, and where we are, and, you know, that document that was an accepted recommendation.

437
00:58:03.830 --> 00:58:18.110
Jennifer Eustis: by technical counsel, and see if this is something that maybe we can revive, and see how we can prioritize it as well. Are there any last comments

438
00:58:18.430 --> 00:58:20.149
Jennifer Eustis: to the discussion.

439
00:58:25.800 --> 00:58:35.170
Maura Byrne: if I could make, a remark about, permissions, just that, So far.

440
00:58:35.440 --> 00:58:43.850
Maura Byrne: In my experience, and it's only been 28 years, but it's,

441
00:58:44.200 --> 00:58:47.670
Maura Byrne: When it comes to permissions,

442
00:58:48.680 --> 00:58:53.759
Maura Byrne: there is… there's very little malice. This is all gonna be… whoopsie.

443
00:58:55.510 --> 00:59:02.729
Maura Byrne: you know, the things you guard against, mischief, malice, and whoopsie. And, that's the sort of thing that can be…

444
00:59:03.860 --> 00:59:08.299
Maura Byrne: That can be addressed, you know, by permissions and training.

445
00:59:08.550 --> 00:59:16.570
Maura Byrne: And, you know, So, I think that… that worrying about permissions is not… not an issue.

446
00:59:19.570 --> 00:59:20.200
Jennifer Eustis: Tara.

447
00:59:21.980 --> 00:59:38.880
Tara Barnett (Index Data): Oh, we're getting so close, and I don't want to hold people. But yeah, I… just… it's interesting to me in this conversation, like, I tried to ask this in chat, and now I'm really wondering about it. It feels like if someone commissioned this functionality, like, specific functionality to be developed, then, like, the answer would be, like.

448
00:59:38.880 --> 00:59:58.690
Tara Barnett (Index Data): that we need to figure out all of these sort of outstanding questions. And when things go through the prioritization process in the community, it feels like… it feels like the road has to be, like, completely smooth before things can move forward. And I don't know if other SIGs feel like that, you know? Like, so it almost feels backwards, depending on which way this gets approached.

449
01:00:00.730 --> 01:00:06.749
Tara Barnett (Index Data): Yeah. So, I don't know that not knowing everything at the start necessarily means that it can't move forward.

450
01:00:12.920 --> 01:00:26.129
Jennifer Eustis: And yeah, and that's a great point. I think things have been moving forward anyway. You know, we have already the set for delete, which, you know, responds to certain use cases.

451
01:00:26.130 --> 01:00:40.030
Jennifer Eustis: Bulk Edit is working on the batch, even though this is post-Umbrella, and we've, you know, we're, Mark Authorities has just put in, and this is for Umbrella Leave, a deletion of Mark Authorities.

452
01:00:40.070 --> 01:00:41.280
Jennifer Eustis: In batch.

453
01:00:41.380 --> 01:00:44.299
Jennifer Eustis: And so Data Import is looking at

454
01:00:44.530 --> 01:01:02.380
Jennifer Eustis: just the deletion of holdings and items through data import. So, I think a lot of this discrete work is happening and being prioritized. I think it's kind of at maybe a larger level, or with different record types. It's still…

455
01:01:02.580 --> 01:01:06.440
Jennifer Eustis: It's still being discussed, maybe, is my feeling.

456
01:01:10.020 --> 01:01:12.360
Tara Barnett (Index Data): Well, that's awesome, but we are at the end of the hour.

457
01:01:15.150 --> 01:01:19.139
Tara Barnett (Index Data): So, I guess I will say thanks very much to everyone who came.

458
01:01:19.290 --> 01:01:28.629
Tara Barnett (Index Data): And I hope to hear more about this in the coming days. That was a really interesting discussion, so everyone have a great Wednesday, and I'll talk to you later. Bye!

459
01:01:28.850 --> 01:01:30.140
Jennifer Eustis: Thanks, everyone.

460
01:01:30.140 --> 01:01:30.650
Kristin Martin: Bye.

461
01:01:30.650 --> 01:01:31.500
Laura Daniels: Bye!

