WEBVTT

00:02:24.000 --> 00:02:25.000
That's good.

00:02:25.000 --> 00:02:32.000
Yeah, I know.

00:02:32.000 --> 00:02:38.000
Morning, Tara!

00:02:38.000 --> 00:02:39.000
I can't hear you.

00:02:39.000 --> 00:02:41.000
Ooh.

00:02:41.000 --> 00:02:45.000
If you're talking.

00:02:45.000 --> 00:02:47.000
Oh.

00:02:47.000 --> 00:03:08.000
Well, there they go.

00:03:08.000 --> 00:03:09.000
Can you hear me now?

00:03:09.000 --> 00:03:10.000
Yep.

00:03:10.000 --> 00:03:11.000
Yes.

00:03:11.000 --> 00:03:13.000
Okay, perfect. That was odd.

00:03:13.000 --> 00:03:15.000
Howdy!

00:03:15.000 --> 00:03:21.000
Howdy.

00:03:21.000 --> 00:03:25.000
So…

00:03:25.000 --> 00:03:28.000
I know some people are out today, but I…

00:03:28.000 --> 00:03:31.000
See folks still rolling in, so… give it a second, Polly.

00:03:31.000 --> 00:03:50.000
try to figure out screen sharing.

00:03:50.000 --> 00:03:55.000
Good lord.

00:03:55.000 --> 00:04:02.000
Uh, okay, all right. Well, I hate to make people wait, and I've got a few minutes of housekeeping stuff to take care of, um, so…

00:04:02.000 --> 00:04:04.000
Uh, we'll do that, and then, uh…

00:04:04.000 --> 00:04:07.000
Jennifer Useless is here to talk about…

00:04:07.000 --> 00:04:09.000
Uh, deleting records.

00:04:09.000 --> 00:04:18.000
I think. Yes.

00:04:18.000 --> 00:04:20.000
I have an interesting, interesting Zoom morning, I think.

00:04:20.000 --> 00:04:26.000
Over here. Um, okay, uh, so, uh, first I wanted to take a look at upcoming sessions that we have on our calendar.

00:04:26.000 --> 00:04:34.000
Um, so today we're doing record deletion. Um, next Monday I have a conflict, so I was gonna go ahead and cancel, uh, Monday's meeting.

00:04:34.000 --> 00:04:38.000
Unless there are any objections.

00:04:38.000 --> 00:04:41.000
We'll say there are not, and I'll go ahead and do that.

00:04:41.000 --> 00:04:48.000
Um, and then on the 18th, uh, Joe Reimers reached out to talk about, um, bringing acquisitions behavior in line with folio defaults.

00:04:48.000 --> 00:04:50.000
So, I think that we'll do that on the 18th.

00:04:50.000 --> 00:04:55.000
Uh, if that's okay with everyone. And then, uh, we'll have the 23rd to plan as well.

00:04:55.000 --> 00:04:57.000
Um, so some cool stuff coming up.

00:04:57.000 --> 00:05:00.000
That sounds good to me.

00:05:00.000 --> 00:05:06.000
Uh, great. Uh, the next thing I wanted to mention, um, is that we are still in search of a new convener.

00:05:06.000 --> 00:05:11.000
Co-combiners are, uh, welcome if you have a pair that would like to take on this role.

00:05:11.000 --> 00:05:15.000
Um, so I'll keep… I'll keep looking around to find someone to take my place.

00:05:15.000 --> 00:05:22.000
Uh, there was also a message posted on the channel, um, the PCs trying to, uh…

00:05:22.000 --> 00:05:26.000
proactively monitor upcoming releases for new development that needs PC input.

00:05:26.000 --> 00:05:34.000
Um, they're starting with umbrella Leaf, so they're wondering if there's any features in umbrella Leaf that CrossAppSig

00:05:34.000 --> 00:05:35.000
is involved in. Um…

00:05:35.000 --> 00:05:40.000
I think I need to think about this one a little bit more, but if you know anything, uh, we can reply on the channel.

00:05:40.000 --> 00:05:46.000
And then the last thing that I sort of wanted to deal with, uh, housekeeping-wise, was WolfCon presentations.

00:05:46.000 --> 00:05:53.000
Uh, so traditionally, we have, uh, submitted a working group session, and then, like, another sort of theme session.

00:05:53.000 --> 00:05:56.000
So we should decide if we want to do that.

00:05:56.000 --> 00:06:03.000
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.

00:06:03.000 --> 00:06:07.000
I don't know if folks know if they're going yet or not.

00:06:07.000 --> 00:06:10.000
But it seems like we should submit something one way or another.

00:06:10.000 --> 00:06:11.000
Any thoughts on any of those topics, or should we move on to record deletion?

00:06:11.000 --> 00:06:18.000
Yep, I'm here.

00:06:18.000 --> 00:06:24.000
I just had one comment that, um, we do have a…

00:06:24.000 --> 00:06:29.000
Um, submission guidelines, because I know people are like, well, what's on the submission form?

00:06:29.000 --> 00:06:34.000
So, you, uh, don't have to ask that question any longer.

00:06:34.000 --> 00:06:44.000
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.

00:06:44.000 --> 00:06:46.000
Um, that you can go through.

00:06:46.000 --> 00:06:49.000
Um…

00:06:49.000 --> 00:06:50.000
Nice.

00:06:50.000 --> 00:06:55.000
And, yeah, and so that explains everything. And if you still have questions,

00:06:55.000 --> 00:06:59.000
Um, you know, just reach out at Wolf Calling Conference,

00:06:59.000 --> 00:07:03.000
Chat, um, or myself, or…

00:07:03.000 --> 00:07:08.000
Tratt, um, and we'll answer your questions.

00:07:08.000 --> 00:07:16.000
That's awesome. Um, yeah, I wonder if… I wonder if Tom might be interested in doing something with item state. That could be something that we're involved in, for sure.

00:07:16.000 --> 00:07:19.000
I'm pretty sure Tom will be there.

00:07:19.000 --> 00:07:24.000
I will not be there either in person or virtually, so I won't be able to run this virtually either.

00:07:24.000 --> 00:07:30.000
Well, we do have a… so we do have it open, so if you're presenting virtually,

00:07:30.000 --> 00:07:32.000
If you can find someone

00:07:32.000 --> 00:07:35.000
who is there in person,

00:07:35.000 --> 00:07:39.000
Who can be your moderator, you can still submit.

00:07:39.000 --> 00:07:40.000
For people who can go virtually?

00:07:40.000 --> 00:07:42.000
Yeah. Yeah.

00:07:42.000 --> 00:07:43.000
Okay.

00:07:43.000 --> 00:07:48.000
You just have to find that in-person moderator for you.

00:07:48.000 --> 00:07:52.000
Awesome. Well, I do… I do have colleagues who will be there in person.

00:07:52.000 --> 00:07:54.000
But I… I will be in…

00:07:54.000 --> 00:07:58.000
I will not be in either modality, so…

00:07:58.000 --> 00:08:01.000
Uh, hopefully we can find someone.

00:08:01.000 --> 00:08:03.000
Um…

00:08:03.000 --> 00:08:07.000
I see many more people.

00:08:07.000 --> 00:08:08.000
joined us. Welcome. Uh, we were just doing housekeeping stuff.

00:08:08.000 --> 00:08:15.000
Yes. Yes, Tara, the… some of us clicked on the link in the… in the minutes, and it's for…

00:08:15.000 --> 00:08:16.000
Oh, Jesus.

00:08:16.000 --> 00:08:20.000
Yeah. I just realized that.

00:08:20.000 --> 00:08:22.000
So…

00:08:22.000 --> 00:08:25.000
And it's for, like, a different meeting?

00:08:25.000 --> 00:08:27.000
Um, I think it's for…

00:08:27.000 --> 00:08:33.000
Probably, uh, the Wednesday.

00:08:33.000 --> 00:08:34.000
Today's Wednesday.

00:08:34.000 --> 00:08:37.000
Aren't there… I think there… oh, wait, then it's for the mon… I… I don

00:08:37.000 --> 00:08:38.000
It doesn't match the calendar, is what you're saying.

00:08:38.000 --> 00:08:42.000
It doesn't match the calendar, yes.

00:08:42.000 --> 00:08:43.000
Okay.

00:08:43.000 --> 00:08:48.000
And you weren't there. Several of us were.

00:08:48.000 --> 00:08:49.000
No.

00:08:49.000 --> 00:08:51.000
Alright, are there people still there? Should I attempt to resolve this? Perfect, okay.

00:08:51.000 --> 00:08:54.000
All right, I'm so sorry about the mix-up, um…

00:08:54.000 --> 00:08:57.000
I will look and make sure… I must have just copied it from the previous week.

00:08:57.000 --> 00:08:58.000
Sorry about that. Um…

00:08:58.000 --> 00:09:01.000
That would be the rational thing to do.

00:09:01.000 --> 00:09:03.000
I… yeah.

00:09:03.000 --> 00:09:06.000
And yet, and yet I have led so many astray.

00:09:06.000 --> 00:09:10.000
terribly embarrassed. Thank you for your patience.

00:09:10.000 --> 00:09:20.000
I will… I will hang my head in shame for the rest of the meeting. Um, okay, so, uh, right, we went through the housekeeping. The one thing that's probably important is, um, I'm gonna cancel March 9th, because I have a conflict.

00:09:20.000 --> 00:09:25.000
Um, unless there are any objections.

00:09:25.000 --> 00:09:30.000
And, uh, Jennifer Eustace is here to talk about, uh, record deletion.

00:09:30.000 --> 00:09:31.000
That's what we got.

00:09:31.000 --> 00:09:32.000
Yeah, yeah.

00:09:32.000 --> 00:09:34.000
Uh, did you want to share your screen?

00:09:34.000 --> 00:09:40.000
Um, you know, I did not prepare a presentation for this, so I thought, you know,

00:09:40.000 --> 00:09:50.000
And one of the reasons I did not was, well, I was, you know, uh, lack of time, sorry, but also, we're at the very beginning.

00:09:50.000 --> 00:09:56.000
of this conversation, and bits and pieces have been happening.

00:09:56.000 --> 00:09:59.000
Well, in bits and pieces, like over the last…

00:09:59.000 --> 00:10:05.000
probably 2 years, but I… what's really lacking is kind of this…

00:10:05.000 --> 00:10:14.000
Um, holistic approach to, uh, you know, how do we handle DELETE? Not just for folio, but also how folio interacts.

00:10:14.000 --> 00:10:21.000
With, uh, third-party, um, integrations, such as Discovery, reporting, and the like.

00:10:21.000 --> 00:10:27.000
Um, so… and I really want to thank… I did post this on Slack.

00:10:27.000 --> 00:10:31.000
And I think it was Owen and maybe Brooks,

00:10:31.000 --> 00:10:33.000
Who highlighted that this came up

00:10:33.000 --> 00:10:51.000
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, um, this did come up through technical counsel, and there really was not a resolution.

00:10:51.000 --> 00:10:54.000
on how to handle set for delete.

00:10:54.000 --> 00:10:59.000
So, I just want to give people, um, a perspective of where data import

00:10:59.000 --> 00:11:03.000
has been, and what it's discussing now.

00:11:03.000 --> 00:11:10.000
Um… 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.

00:11:10.000 --> 00:11:13.000
Thank you, Maura. Um…

00:11:13.000 --> 00:11:18.000
Recently, we had on the new feature, request lists for data import.

00:11:18.000 --> 00:11:21.000
Deleaning, holdings and items.

00:11:21.000 --> 00:11:23.000
Um, and the discussion kind of…

00:11:23.000 --> 00:11:27.000
went in tangentially and very quickly,

00:11:27.000 --> 00:11:30.000
to, well, how do we handle instances?

00:11:30.000 --> 00:11:36.000
Um, so, we went back to that conversation.

00:11:36.000 --> 00:11:40.000
Because we thought, well, we aren't talking about instances

00:11:40.000 --> 00:11:43.000
Right now, we're just talking about holdings and items.

00:11:43.000 --> 00:11:47.000
So we developed a spreadsheet, and I put the link in chat.

00:11:47.000 --> 00:11:52.000
of what are the use cases for deletioning in batch,

00:11:52.000 --> 00:11:57.000
Holdings and items. So right now, we can hard delete. I think it's a hard delete.

00:11:57.000 --> 00:12:02.000
Um, manually, and one by one, holding an item.

00:12:02.000 --> 00:12:06.000
So, you're in folio, you go to folio, inventory app,

00:12:06.000 --> 00:12:11.000
You navigate to maybe an item record, or a holdings record.

00:12:11.000 --> 00:12:14.000
And you can actually do actions and delete that.

00:12:14.000 --> 00:12:22.000
Um, at this moment, I'm pretty sure it's hard delete. I sure if there's something like a…

00:12:22.000 --> 00:12:25.000
tombstone or a…

00:12:25.000 --> 00:12:30.000
A record that says, you know, uh, item record with UUID, blah blah blah has been deleted.

00:12:30.000 --> 00:12:34.000
So, we couldn't get information on that.

00:12:34.000 --> 00:12:37.000
So you'll see from this spreadsheet, the rationale really is

00:12:37.000 --> 00:12:44.000
You know, you're dealing with mistakes, you know, these are records, there aren't tied to anything.

00:12:44.000 --> 00:12:49.000
Financial circulation requests or any of that.

00:12:49.000 --> 00:12:52.000
a lot of, uh, e-resource management,

00:12:52.000 --> 00:12:57.000
Where, you know, you're dealing with subscription packages, you know, the items…

00:12:57.000 --> 00:13:02.000
come in, and they go out. So you want to easily remove all of these.

00:13:02.000 --> 00:13:04.000
But in the discussion, um,

00:13:04.000 --> 00:13:06.000
Especially, not only for this,

00:13:06.000 --> 00:13:11.000
But also, when we were looking at the phases on how to implement

00:13:11.000 --> 00:13:29.000
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,

00:13:29.000 --> 00:13:32.000
and a Marcus or S to D.

00:13:32.000 --> 00:13:37.000
Um, we included in that discussion instances,

00:13:37.000 --> 00:13:45.000
And… in all of our discussions, one of the major concerns was that there are no guardrails.

00:13:45.000 --> 00:13:48.000
So what happens if…

00:13:48.000 --> 00:13:50.000
your record is linked to…

00:13:50.000 --> 00:13:58.000
Um, you know, an order record, which is maybe still open, or even if it's closed,

00:13:58.000 --> 00:14:03.000
It's linked to an invoice in some capacity, or it's linked to a request

00:14:03.000 --> 00:14:06.000
Or perhaps it has something to do in

00:14:06.000 --> 00:14:10.000
courses. So, there are a lot of dependencies.

00:14:10.000 --> 00:14:22.000
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.

00:14:22.000 --> 00:14:32.000
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

00:14:32.000 --> 00:14:37.000
Like a hard delete or even a soft delete, we really need to…

00:14:37.000 --> 00:14:40.000
in some way, ensure that we…

00:14:40.000 --> 00:14:46.000
guard against these dependencies. So we're not just wholescaling…

00:14:46.000 --> 00:14:54.000
you know, getting rid of records, and then messing up logic in a different app, or even messing up

00:14:54.000 --> 00:14:56.000
kind of, um…

00:14:56.000 --> 00:15:01.000
data that would be used by third-party integrations, like Discovery, so…

00:15:01.000 --> 00:15:08.000
All of a sudden, you know, if the record is no longer there, can EDS still display that? And I think it…

00:15:08.000 --> 00:15:15.000
And only doesn't display it, it's based on suppression. So if nothing's there, then…

00:15:15.000 --> 00:15:22.000
Um, you could have these really funky, kind of corrupt kind of records, either in Discovery,

00:15:22.000 --> 00:15:25.000
reporting or, um…

00:15:25.000 --> 00:15:30.000
elsewhere, depending on the integration you use, perhaps ILL as well.

00:15:30.000 --> 00:15:32.000
So, um…

00:15:32.000 --> 00:15:37.000
We saw in data import that this discussion was much larger.

00:15:37.000 --> 00:15:43.000
than just data import. You know, how do you just delete something and batch?

00:15:43.000 --> 00:15:47.000
Because it involves, um, many more subject areas.

00:15:47.000 --> 00:15:51.000
than… than what our, you know…

00:15:51.000 --> 00:15:55.000
members were involved with. Some were involved, but not all of them.

00:15:55.000 --> 00:15:58.000
So we are bringing it to Cross Up.

00:15:58.000 --> 00:16:01.000
To see if maybe we can…

00:16:01.000 --> 00:16:05.000
Like, find a path forward on how to…

00:16:05.000 --> 00:16:08.000
navigate this…

00:16:08.000 --> 00:16:15.000
this functionality, you know, is it functionality that we want? You know, can we come to terms with…

00:16:15.000 --> 00:16:20.000
you know, maybe a soft delete, for instances, which we do have a little bit…

00:16:20.000 --> 00:16:25.000
But, you know, what is a hard delete mean? You know, do we implement tombstones?

00:16:25.000 --> 00:16:31.000
Um, that interact with our third-party integrations, and even maybe an…

00:16:31.000 --> 00:16:34.000
I don't know, an archived version of the record?

00:16:34.000 --> 00:16:40.000
Um, so, that's why we're bringing the conversation here. And it really is just a conversation.

00:16:40.000 --> 00:16:43.000
Um, so, I think it was Owen…

00:16:43.000 --> 00:16:46.000
Um, if you did any reading…

00:16:46.000 --> 00:16:50.000
Um, there was a technical…

00:16:50.000 --> 00:16:51.000
Council…

00:16:51.000 --> 00:16:56.000
Did, uh…

00:16:56.000 --> 00:17:01.000
Not that, um…

00:17:01.000 --> 00:17:06.000
It was the… here, I'll just copy the link here.

00:17:06.000 --> 00:17:12.000
Yeah, I think it was… and this one, the… yeah, so we have that, if you've read that.

00:17:12.000 --> 00:17:19.000
Um, so anyway, so I'd like to open it up for discussion, see what people think, and see…

00:17:19.000 --> 00:17:27.000
you know, I'm not sure if we can decide on how to move forward now, or maybe we… maybe the path forward is,

00:17:27.000 --> 00:17:30.000
More discussions, um…

00:17:30.000 --> 00:17:32.000
or to reach out to more SIGs,

00:17:32.000 --> 00:17:36.000
So, that's… that is my brief

00:17:36.000 --> 00:17:46.000
presentation for y'all, and I'll open it up for discussion.

00:17:46.000 --> 00:17:48.000
Pimian.

00:17:48.000 --> 00:17:51.000
I had put this in the chat, but um…

00:17:51.000 --> 00:17:54.000
the…

00:17:54.000 --> 00:17:58.000
The question of dependencies is…

00:17:58.000 --> 00:18:03.000
compounded for those sites who are using ECS, because…

00:18:03.000 --> 00:18:06.000
The tenants can't see each other's data.

00:18:06.000 --> 00:18:09.000
I mean, in some cases,

00:18:09.000 --> 00:18:14.000
can see that another library has holdings, but can't see the holdings.

00:18:14.000 --> 00:18:17.000
And so, when you talk about, you know, order data,

00:18:17.000 --> 00:18:20.000
an order record dependencies.

00:18:20.000 --> 00:18:23.000
I mean, that is…

00:18:23.000 --> 00:18:30.000
One tenant won't even know if another tenant has ordered data attached to a given instance.

00:18:30.000 --> 00:18:32.000
And so…

00:18:32.000 --> 00:18:37.000
my… in my saying that isn't coming from a place of, oh, you know,

00:18:37.000 --> 00:18:42.000
a bad idea. I'm, you know, it was actually part of the original discussion.

00:18:42.000 --> 00:18:47.000
It's more that we need to make sure that there are fail-safes built in.

00:18:47.000 --> 00:18:54.000
So, if we're gonna do a hard delete, or frankly, even if a soft… even a soft delete,

00:18:54.000 --> 00:18:56.000
There should be some… there should be some… some…

00:18:56.000 --> 00:19:03.000
guardrails built in to be able to say, you know, oh, you know…

00:19:03.000 --> 00:19:12.000
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.

00:19:12.000 --> 00:19:20.000
I don't really know the right words for this, but that's the… that's the general idea.

00:19:20.000 --> 00:19:26.000
Um, I think, Maura, I think your hand was up next.

00:19:26.000 --> 00:19:31.000
I'll jump in. Yeah, I just thought I would mention that.

00:19:31.000 --> 00:19:36.000
Uh, in the, uh… in user management.

00:19:36.000 --> 00:19:47.000
Um, uh… One of the libraries created a they created a bit of code that, you know, before you delete a user.

00:19:47.000 --> 00:20:04.000
uh, 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, um… Uh, that if there was something like that.

00:20:04.000 --> 00:20:15.000
Um, that's sort of like… that connected to any of the other apps and, you know, just sort of like… It just looked for wherever else that record is touching.

00:20:15.000 --> 00:20:25.000
be it orders, or discovery, or loans, God forbid, when you're deleting it that you know.

00:20:25.000 --> 00:20:32.000
that it would check for dependencies, and then, like in the user's app, it would like.

00:20:32.000 --> 00:20:42.000
uh, 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.

00:20:42.000 --> 00:20:49.000
So it's, I think if you had something like that, I think that, you know.

00:20:49.000 --> 00:21:00.000
there could be.

00:21:00.000 --> 00:21:17.000
Um, so I'm speaking up, uh, 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. And I think that it is a real… it is a complex issue.

00:21:17.000 --> 00:21:25.000
And some of the conversations are happening at cross purposes because.

00:21:25.000 --> 00:21:41.000
We have two completely different use cases, or let's say buckets or types of use cases for needing to delete records. One of those is a part of the natural lifecycle of resource management.

00:21:41.000 --> 00:21:57.000
You've withdrawn a title from your collection. And you know the the set for deletion functionality that is being developed is kind of in support of that workflow.

00:21:57.000 --> 00:22:26.000
And that is different from needing to just make records gone. I can just say that our biggest use case is needing to… correct an import gone awry, needing to delete junk data. It's so easy to create a lot of corrupt data in Folio. And then it just is going to be there forever. And there's a lot of work that has to happen.

00:22:26.000 --> 00:22:44.000
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.

00:22:44.000 --> 00:22:52.000
It doesn't matter if there's a dependency that all the things need to be gone right in an ideal world.

00:22:52.000 --> 00:23:04.000
Um, so tackling this from multiple perspectives at the same time, I think is important rather than.

00:23:04.000 --> 00:23:21.000
It feels like there's an assumption that. Um… 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.

00:23:21.000 --> 00:23:37.000
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.

00:23:37.000 --> 00:23:56.000
And, you know… 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.

00:23:56.000 --> 00:24:12.000
The only way to recreate those orders is to delete them. 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.

00:24:12.000 --> 00:24:28.000
We can't just suppress them. We have to delete them because 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.

00:24:28.000 --> 00:24:38.000
Um, at least how data import works. We're gonna have to recreate all of the records. So what we really need is for everything just to be gone.

00:24:38.000 --> 00:24:57.000
And… I don't know where that gets us, other than I just want to be sure that 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.

00:24:57.000 --> 00:24:58.000
It's gone from our collection, and now we need to, you know, manage, manage that phase of the resource lifecycle 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.

00:24:58.000 --> 00:25:24.000
Uh, Christy.

00:25:24.000 --> 00:25:29.000
Oh, um…

00:25:29.000 --> 00:25:32.000
I… the thing, like, and…

00:25:32.000 --> 00:25:34.000
So I… I… I kind of get that…

00:25:34.000 --> 00:25:36.000
Christy is…

00:25:36.000 --> 00:25:38.000
making an argument that

00:25:38.000 --> 00:25:41.000
Perhaps we shouldn't overcomplicate this, and…

00:25:41.000 --> 00:25:46.000
I think that's a fair point. I want to just come back to what Mara said.

00:25:46.000 --> 00:25:48.000
And… and say,

00:25:48.000 --> 00:25:52.000
And I think the same goes for what Christy just said, actually.

00:25:52.000 --> 00:25:56.000
The problem, like, even if we're talking about deleting everything that's

00:25:56.000 --> 00:26:04.000
that's there. The problem with folio architecture, and this is why it's a deep technical discussion, and why

00:26:04.000 --> 00:26:06.000
The previous discussion was so hard,

00:26:06.000 --> 00:26:11.000
Um, for those of you who were involved in it, if there's somebody else on the call,

00:26:11.000 --> 00:26:15.000
Um, and long, is because…

00:26:15.000 --> 00:26:22.000
By their nature, the folio modules do not know anything about each other, so it is not possible to know.

00:26:22.000 --> 00:26:25.000
Whether another module references something

00:26:25.000 --> 00:26:30.000
That… that is in your module. And in the sense that

00:26:30.000 --> 00:26:33.000
Um…

00:26:33.000 --> 00:26:36.000
Christie's talking about getting rid of everything,

00:26:36.000 --> 00:26:40.000
It might be…

00:26:40.000 --> 00:26:42.000
slightly easier, but the same…

00:26:42.000 --> 00:26:46.000
problem could occur, like, deleting everything

00:26:46.000 --> 00:26:51.000
You can only delete everything if you know

00:26:51.000 --> 00:26:54.000
that.

00:26:54.000 --> 00:26:57.000
It is all connected in the first place.

00:26:57.000 --> 00:26:59.000
And…

00:26:59.000 --> 00:27:06.000
So you have to be careful about the… the way in which you're exploring that data. I think in the example that you were giving, Christy,

00:27:06.000 --> 00:27:09.000
Obviously, that data is all connected.

00:27:09.000 --> 00:27:14.000
But it's about knowing where those connections are stored, and making sure that you…

00:27:14.000 --> 00:27:21.000
not deleting the thing that knows what it's connected to before you delete the other things that are connected to it, because

00:27:21.000 --> 00:27:27.000
a order knows it's connected to inventory, but an inventory doesn't know it's connected to an order.

00:27:27.000 --> 00:27:29.000
Um, so…

00:27:29.000 --> 00:27:32.000
the… in terms of data that's being stored.

00:27:32.000 --> 00:27:35.000
So,

00:27:35.000 --> 00:27:38.000
I… I feels…

00:27:38.000 --> 00:27:42.000
kind of… from the… I also think, actually, although

00:27:42.000 --> 00:27:49.000
I do understand what you've just said, Christy. I… I don't understand how you would know you were definitely not deleting something that…

00:27:49.000 --> 00:27:53.000
mattered in that…

00:27:53.000 --> 00:28:03.000
I guess you just 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.

00:28:03.000 --> 00:28:06.000
that could interact with stuff that already exists as well, so…

00:28:06.000 --> 00:28:13.000
I guess that… I guess… I mean, you know this, um, I don't want to be… I'm not trying to teach people how to suck eggs, but…

00:28:13.000 --> 00:28:18.000
what I would say is, like,

00:28:18.000 --> 00:28:20.000
there are… there are…

00:28:20.000 --> 00:28:25.000
definite architectural issues here in supporting DELET.

00:28:25.000 --> 00:28:30.000
Um, and having all of these interconnected things know about each other,

00:28:30.000 --> 00:28:33.000
is something that Twilio has designed

00:28:33.000 --> 00:28:35.000
against. Now,

00:28:35.000 --> 00:28:38.000
You can obviously…

00:28:38.000 --> 00:28:42.000
change that, um…

00:28:42.000 --> 00:28:43.000
Or you can implement

00:28:43.000 --> 00:28:45.000
things like the…

00:28:45.000 --> 00:28:47.000
mod FQM…

00:28:47.000 --> 00:28:52.000
Which is there to know how things… well…

00:28:52.000 --> 00:28:56.000
that somehow bridges that gap to some extent.

00:28:56.000 --> 00:29:00.000
It's not, uh, I think a…

00:29:00.000 --> 00:29:05.000
It's not a universally agreed-on solution, but it does do some of that work for you.

00:29:05.000 --> 00:29:09.000
But I think that…

00:29:09.000 --> 00:29:11.000
the…

00:29:11.000 --> 00:29:15.000
Yeah, I don't see how we have this discussion without

00:29:15.000 --> 00:29:18.000
people who are deep in the architecture of folio in the room,

00:29:18.000 --> 00:29:24.000
who can, like, say, well, how is this going to actually work in a technical sense? Because…

00:29:24.000 --> 00:29:26.000
I feel like we know what the…

00:29:26.000 --> 00:29:29.000
what it is the users want, but we…

00:29:29.000 --> 00:29:33.000
you know, that has never got as far as implementation.

00:29:33.000 --> 00:29:38.000
And so we have to look at the reasons why not.

00:29:38.000 --> 00:29:41.000
I think, and I think it's because it's technically difficult and a lot of effort.

00:29:41.000 --> 00:29:46.000
Um… and maybe we haven't got the right technical solutions in place, I don't know.

00:29:46.000 --> 00:29:50.000
But, um, yeah.

00:29:50.000 --> 00:29:56.000
I think I… in terms of having a conversation here,

00:29:56.000 --> 00:30:04.000
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.

00:30:04.000 --> 00:30:07.000
work that actually fulfills those requirements, and I think that's the

00:30:07.000 --> 00:30:08.000
been the blocker in the past.

00:30:08.000 --> 00:30:14.000
Owen!

00:30:14.000 --> 00:30:19.000
Uh, Christine, did you want to have a chance to respond?

00:30:19.000 --> 00:30:29.000
Um, I can let Martin go first, because, um, they've had their hand up for quite a while.

00:30:29.000 --> 00:30:36.000
Yeah, well, Owen… Already said a lot of what I wanted to say.

00:30:36.000 --> 00:30:44.000
And I want to add that I think maybe, I mean, if you want to have checks.

00:30:44.000 --> 00:30:49.000
before deleting, I mean… As Owen said, you basically.

00:30:49.000 --> 00:30:59.000
The modules can't know… Everything that is within a folio system that has dependencies on on a record. But.

00:30:59.000 --> 00:31:05.000
If you want to have from a practical standpoint, maybe you could say that for each record.

00:31:05.000 --> 00:31:11.000
type like items, instances, users, and so on. You could define a set of.

00:31:11.000 --> 00:31:19.000
maybe standard. modules or standard dependencies that get get checked.

00:31:19.000 --> 00:31:28.000
But then maybe… a lot of libraries will use modules or apps that.

00:31:28.000 --> 00:31:34.000
have dependents outside of that set and that also have dependencies. And then.

00:31:34.000 --> 00:31:43.000
You will maybe get the false impression that before a deletion, every dependency is checked.

00:31:43.000 --> 00:31:47.000
And then suddenly those apps that are not considered.

00:31:47.000 --> 00:31:58.000
The yeah, so the the link is broken. Yeah. But from a practical point of view, I think it.

00:31:58.000 --> 00:32:04.000
Maybe it would be okay to say, Wow, only the maybe.

00:32:04.000 --> 00:32:13.000
You can say on maybe the modules that are within the official release or whatever they get checked, because there you know.

00:32:13.000 --> 00:32:17.000
If there can be dependencies or something like this.

00:32:17.000 --> 00:32:23.000
But, um… Jennifer mentioned before that.

00:32:23.000 --> 00:32:26.000
There could be the possibility of some kind of tombstone.

00:32:26.000 --> 00:32:33.000
I really like the idea that is. that you have some kind of.

00:32:33.000 --> 00:32:39.000
functionality that says, okay, there was this record was there.

00:32:39.000 --> 00:32:48.000
It got deleted, and um… And that the user gets gets to know that this is not a.

00:32:48.000 --> 00:32:57.000
arrow within the system that someone entered false data, but.

00:32:57.000 --> 00:33:13.000
There's just something missing because it was deleted. And if you have if you delete, for example, the… Um, inventory data and then have an order.

00:33:13.000 --> 00:33:18.000
You can just display that the corresponding instances or whatever.

00:33:18.000 --> 00:33:27.000
Actually got deleted and not that they… Just don't display or… Yeah.

00:33:27.000 --> 00:33:32.000
Okay, that's that's what I wanted to. Add.

00:33:32.000 --> 00:33:40.000
I had to, I don't know, Laura or Kristen.

00:33:40.000 --> 00:33:50.000
So, I… I hear everything that's being said. You know, it's difficult, um, it's hard. There's a lot of risk.

00:33:50.000 --> 00:34:06.000
Um, what I will say is that this is functionality that Folio should have. It is expected functionality. Other library systems have it. Other library systems that we've had have had it.

00:34:06.000 --> 00:34:18.000
Been able to do this before. 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.

00:34:18.000 --> 00:34:33.000
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, um.

00:34:33.000 --> 00:34:52.000
This dependency issues have been resolved, at least. partially for other types of functionality that has been implemented. I'm thinking about the ability to maintain relationships when.

00:34:52.000 --> 00:35:03.000
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.

00:35:03.000 --> 00:35:22.000
It is possible to… to be able to achieve this and I am not going to speak to how that gets achieved. The other thing that I will say is that, you know, we're deleting records left and right via the API.

00:35:22.000 --> 00:35:30.000
And I don't actually know exactly what you mean by tombstone, but, you know.

00:35:30.000 --> 00:35:51.000
All versions of… all previous versions of, like, say, we delete holdings in batch on a regular basis, um, 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 back end, and a table. I forget what the table is called.

00:35:51.000 --> 00:36:06.000
But I think it's history or archive, or something like that. So these records are still available. You can look them up in the data and get them.

00:36:06.000 --> 00:36:24.000
They're just not… active any longer. Um, 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.

00:36:24.000 --> 00:36:39.000
And, um… Uh, so… I can see this data. I'm going to Jennifer, who's saying that might be a feature of MetaDB, and.

00:36:39.000 --> 00:36:55.000
Um, yeah, you know, that actually could be it. Um, but I… I… I do think that there is there actually is a table in folio via the Api.

00:36:55.000 --> 00:37:07.000
Where, um, records that have been deleted, the holdings and items that have been deleted via the API, you know, go to, you know, out to pasture.

00:37:07.000 --> 00:37:17.000
Um, I can find the name of that table for you, or the name of that endpoint for looking that up.

00:37:17.000 --> 00:37:34.000
Anyway, I will… I will hand it off, uh, 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.

00:37:34.000 --> 00:37:46.000
Because, functionally. 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.

00:37:46.000 --> 00:37:47.000
Um… I mean, that actually may be the end of the story, but anyway. Thanks.

00:37:47.000 --> 00:37:55.000
I think Christy.

00:37:55.000 --> 00:38:03.000
So, yeah, so I've been part of conversations about this for as long as I can remember, and it…

00:38:03.000 --> 00:38:11.000
is hard, um, and I feel like part of the challenge is that every time I have

00:38:11.000 --> 00:38:20.000
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.

00:38:20.000 --> 00:38:22.000
And to Christy's point, I think…

00:38:22.000 --> 00:38:29.000
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

00:38:29.000 --> 00:38:34.000
could come up with a plan for, okay, we'd like to address this piece first,

00:38:34.000 --> 00:38:37.000
And then we would like to address this part, etc.

00:38:37.000 --> 00:38:40.000
Um, I do, um…

00:38:40.000 --> 00:38:46.000
Christina, you said other systems deal with this, and yes, they do, but I've also worked with systems that dealt with it very badly.

00:38:46.000 --> 00:38:56.000
Um, so there are lots of challenges, even with an integrated system, and Folio, as we know, is microservices, or at least was

00:38:56.000 --> 00:38:59.000
Envisioned to be microservices and functions as sort of a…

00:38:59.000 --> 00:39:09.000
I don't know how it functions. We don't need to go there. Um, but what I was thinking was… what I would propose

00:39:09.000 --> 00:39:12.000
for a plan would be that we start with

00:39:12.000 --> 00:39:14.000
Making it easier to do.

00:39:14.000 --> 00:39:21.000
a hard delete without guardrails, making it very clear that it is a hard delete without guardrails.

00:39:21.000 --> 00:39:24.000
Um, and that would allow…

00:39:24.000 --> 00:39:31.000
us. To delete the records that we know we really just need to get rid of.

00:39:31.000 --> 00:39:35.000
And then we start thinking about how

00:39:35.000 --> 00:39:37.000
we could…

00:39:37.000 --> 00:39:43.000
realistically identify dependencies. I don't see it being something that

00:39:43.000 --> 00:39:48.000
like, each app in folio can identify. I think there has to be some

00:39:48.000 --> 00:39:56.000
some workflow, um, some app that just is identifying dependencies, because as Owen says,

00:39:56.000 --> 00:40:02.000
that the apps in folio often don't know anything about each other.

00:40:02.000 --> 00:40:08.000
Um, and that is the hard part, but we… we trip ourselves up when we feel like, well, we can't…

00:40:08.000 --> 00:40:14.000
develop… we can't let anyone delete through the UI in any way until we've figured out how to solve the whole thing.

00:40:14.000 --> 00:40:18.000
And I would love to see us solve this bit by bit.

00:40:18.000 --> 00:40:23.000
While making sure that when people come to folio, they don't assume

00:40:23.000 --> 00:40:24.000
that they… that Delete is doing things that it isn't doing.

00:40:24.000 --> 00:40:35.000
Um, yeah, I'll stop there.

00:40:35.000 --> 00:40:41.000
I just want to be really clear. I'm not making an argument at all that this should not be part of the

00:40:41.000 --> 00:40:45.000
the functionality in folio… I mean, it…

00:40:45.000 --> 00:40:49.000
I… I… yeah. And it's not my place, and I have

00:40:49.000 --> 00:40:52.000
you know, no interest in… in…

00:40:52.000 --> 00:40:56.000
in arguing against a perfectly rational and sensible

00:40:56.000 --> 00:40:59.000
unreasonable set of functionality.

00:40:59.000 --> 00:41:02.000
All I'm saying is that the problems we've encountered

00:41:02.000 --> 00:41:04.000
in getting this done,

00:41:04.000 --> 00:41:07.000
are not.

00:41:07.000 --> 00:41:09.000
about a group like this agreeing

00:41:09.000 --> 00:41:13.000
that it must be… that it should be…

00:41:13.000 --> 00:41:15.000
part of the functionality.

00:41:15.000 --> 00:41:19.000
Um… the…

00:41:19.000 --> 00:41:21.000
And I guess that I wonder…

00:41:21.000 --> 00:41:27.000
Maybe a starting point for this

00:41:27.000 --> 00:41:31.000
for me, it's like, well, like, there is, you know, that work that I pointed to, that…

00:41:31.000 --> 00:41:33.000
And as Christy, you said as well,

00:41:33.000 --> 00:41:37.000
like, there have been implemented,

00:41:37.000 --> 00:41:45.000
in places the work that's necessary, and that document that, uh, that Jennifer and I linked to, that says how we should do it.

00:41:45.000 --> 00:41:47.000
But if you delete something,

00:41:47.000 --> 00:41:50.000
You publish a Kafka message to say,

00:41:50.000 --> 00:41:56.000
It's been deleted, and then any other module that's interested in that can consume that Kafka message.

00:41:56.000 --> 00:42:00.000
And know that deletion has happened.

00:42:00.000 --> 00:42:02.000
And that's how…

00:42:02.000 --> 00:42:04.000
that previous discussion said,

00:42:04.000 --> 00:42:06.000
it should be done, and that's what the Tech Council

00:42:06.000 --> 00:42:09.000
signed off on. Is…

00:42:09.000 --> 00:42:12.000
like…

00:42:12.000 --> 00:42:15.000
So I guess the question is, like, what… what is…

00:42:15.000 --> 00:42:18.000
What are the things that's stopping

00:42:18.000 --> 00:42:21.000
deletion of any kind, with or without that messaging.

00:42:21.000 --> 00:42:25.000
happening, because you can delete things in Polio, right? It's…

00:42:25.000 --> 00:42:28.000
It's a decision to not allow deletion of things.

00:42:28.000 --> 00:42:31.000
Um…

00:42:31.000 --> 00:42:35.000
And if… yeah, I mean…

00:42:35.000 --> 00:42:37.000
if you… if it doesn't…

00:42:37.000 --> 00:42:40.000
especially if you… if you want to be…

00:42:40.000 --> 00:42:42.000
very…

00:42:42.000 --> 00:42:45.000
Um, decide to take a…

00:42:45.000 --> 00:42:47.000
what's the word?

00:42:47.000 --> 00:42:49.000
I, um…

00:42:49.000 --> 00:42:55.000
reasonably relaxed view of whether it's going to cause you any problems to delete something.

00:42:55.000 --> 00:43:00.000
from the system. But certainly, there are things all overflow that you can delete, right? So,

00:43:00.000 --> 00:43:02.000
I guess maybe the question here is, like,

00:43:02.000 --> 00:43:06.000
what's stopping that happening in this case, and…

00:43:06.000 --> 00:43:10.000
what needs… like, who is it that needs to be able to…

00:43:10.000 --> 00:43:12.000
action that.

00:43:12.000 --> 00:43:13.000
Which, yeah.

00:43:13.000 --> 00:43:23.000
Uh, Laura?

00:43:23.000 --> 00:43:31.000
Yeah, and those are really interesting comments, because I think, you know, we can delete invoices, we can delete

00:43:31.000 --> 00:43:35.000
POLs, um, invoice lines,

00:43:35.000 --> 00:43:38.000
I think we can delete agreements, I think…

00:43:38.000 --> 00:43:42.000
Uh, even individual users you can delete. So I think

00:43:42.000 --> 00:43:45.000
Each app, you can pretty much…

00:43:45.000 --> 00:43:49.000
delete one by one…

00:43:49.000 --> 00:43:52.000
um, either a combination of the records that are…

00:43:52.000 --> 00:43:55.000
there, or all of them.

00:43:55.000 --> 00:43:58.000
Um, for inventory…

00:43:58.000 --> 00:44:03.000
Um, we can already delete holdings and items, and I just looked at the bulk edit.

00:44:03.000 --> 00:44:08.000
high-level roadmap. So, for batch, this is scheduled for

00:44:08.000 --> 00:44:10.000
Post-Umbrella leave.

00:44:10.000 --> 00:44:16.000
Um, I think, um, when you get to instances,

00:44:16.000 --> 00:44:19.000
I think there was just…

00:44:19.000 --> 00:44:22.000
Yeah, I mean, there was, like,

00:44:22.000 --> 00:44:24.000
Well, one, there were two concerns that I saw from the…

00:44:24.000 --> 00:44:30.000
discussion here and in data import is that we need more than one way than just bulk edit.

00:44:30.000 --> 00:44:36.000
Um, so there was an express interest in having data import do that.

00:44:36.000 --> 00:44:39.000
Um, do the deletion.

00:44:39.000 --> 00:44:44.000
And then there was also, like, you know, how do we account for the dependencies?

00:44:44.000 --> 00:44:48.000
I mean, it's one of the reasons why I like the tombstone idea.

00:44:48.000 --> 00:44:51.000
Because the tombstone can say, hey, at one time I existed,

00:44:51.000 --> 00:44:56.000
You know, and then, if that has… if that's encoded in a certain way…

00:44:56.000 --> 00:45:01.000
you know, that can be communicated off to all the dependencies.

00:45:01.000 --> 00:45:05.000
And if a new dependency tries to go to that record,

00:45:05.000 --> 00:45:09.000
you know, there can be this flag and say, oh, wait, you know,

00:45:09.000 --> 00:45:14.000
I'm… I'm… I'm… I've been deleted, so you can't do this, or something like that.

00:45:14.000 --> 00:45:17.000
But you're right, maybe…

00:45:17.000 --> 00:45:19.000
Maybe we should go back… I, you know…

00:45:19.000 --> 00:45:21.000
At this point, I'm not sure…

00:45:21.000 --> 00:45:25.000
Because we all want deletion in some way, and there's…

00:45:25.000 --> 00:45:29.000
multiple use cases, you know, for…

00:45:29.000 --> 00:45:35.000
you know, preserving some of the dependencies, but also just getting rid of junk data.

00:45:35.000 --> 00:45:38.000
So maybe we need to go back to…

00:45:38.000 --> 00:45:43.000
The technical council. Another idea that I had was that

00:45:43.000 --> 00:45:47.000
Um, the Product Council is looking for ideas from the SIGS.

00:45:47.000 --> 00:45:50.000
on, you know, questions…

00:45:50.000 --> 00:45:54.000
For, uh, folio in general on how to implement stuff.

00:45:54.000 --> 00:45:56.000
So I thought of maybe bringing this up.

00:45:56.000 --> 00:45:59.000
in that conversation?

00:45:59.000 --> 00:46:02.000
Um…

00:46:02.000 --> 00:46:07.000
And then, Owen, I'm reading your…

00:46:07.000 --> 00:46:10.000
your, um, chat.

00:46:10.000 --> 00:46:14.000
Um, does anyone else have any?

00:46:14.000 --> 00:46:29.000
Any thoughts to share?

00:46:29.000 --> 00:46:35.000
And I noticed, Owen, you mentioned prioritization, and Tara, you mentioned that as well.

00:46:35.000 --> 00:46:39.000
I was wondering if you could expand on that idea.

00:46:39.000 --> 00:46:45.000
of prioritization, rather than being… not being possible.

00:46:45.000 --> 00:46:49.000
Well, I mean, it's just, like, who's gonna do the work? Like, who's…

00:46:49.000 --> 00:46:55.000
I mean, I say who's… where does the… where… where does the resource come from to get the work done?

00:46:55.000 --> 00:46:57.000
is maybe the best way of…

00:46:57.000 --> 00:47:00.000
saying this, um…

00:47:00.000 --> 00:47:03.000
In cereals, that work has been…

00:47:03.000 --> 00:47:08.000
pay was paid for by a combination of GBP and…

00:47:08.000 --> 00:47:10.000
Um…

00:47:10.000 --> 00:47:12.000
Duke, originally.

00:47:12.000 --> 00:47:14.000
If they had said,

00:47:14.000 --> 00:47:18.000
And we have to have…

00:47:18.000 --> 00:47:21.000
batch deletion in serials.

00:47:21.000 --> 00:47:25.000
And this is how it should work, then that would have been done.

00:47:25.000 --> 00:47:28.000
I mean, given there was…

00:47:28.000 --> 00:47:33.000
resource available to do it, and it was the most important thing to be done at that time.

00:47:33.000 --> 00:47:37.000
And…

00:47:37.000 --> 00:47:42.000
Obviously, different modules have different methods of prioritizing what gets done next,

00:47:42.000 --> 00:47:47.000
But, um… generally, at the heart of it, in my view,

00:47:47.000 --> 00:47:52.000
somebody's having to pay for that to happen. So…

00:47:52.000 --> 00:47:57.000
it gets prioritized when

00:47:57.000 --> 00:48:01.000
there is resource available to do it.

00:48:01.000 --> 00:48:07.000
And if you pay for it, then you are providing the resource available to do it, so therefore you

00:48:07.000 --> 00:48:11.000
you can prioritize it. Um…

00:48:11.000 --> 00:48:14.000
that's not to say there aren't other mechanisms for prioritizing things.

00:48:14.000 --> 00:48:18.000
like, the SIGs prioritize things, and they're often…

00:48:18.000 --> 00:48:20.000
added to the list of things to get done.

00:48:20.000 --> 00:48:22.000
And they do get done.

00:48:22.000 --> 00:48:27.000
Um, but it… that's a slightly less direct route than…

00:48:27.000 --> 00:48:29.000
money on the table, um…

00:48:29.000 --> 00:48:34.000
Certainly, in my experience, and certainly for the modules that I'm responsible for,

00:48:34.000 --> 00:48:36.000
Um…

00:48:36.000 --> 00:48:40.000
the…

00:48:40.000 --> 00:48:42.000
Yeah. Um…

00:48:42.000 --> 00:48:50.000
So…

00:48:50.000 --> 00:48:58.000
Yeah, no, I mean, I can see that prioritization and money is a big part of this, and.

00:48:58.000 --> 00:49:21.000
I guess, you know, my question is… Is it the sense of this group that… Um, prioritization is the blocker for this, or… Is it that there isn't, like, consensus and a holistic plan for how individual modules should handle?

00:49:21.000 --> 00:49:33.000
deletes. Um, like, do we need principles that are shared across folio for deletion and, you know.

00:49:33.000 --> 00:49:56.000
interdependency between modules. So that, you know, if the prioritization is happening and the individual sigs and, you know, the modules that they have stewardship for that they can feel empowered to move forward with that.

00:49:56.000 --> 00:50:03.000
I think a part of this is like the lack of a process.

00:50:03.000 --> 00:50:20.000
And… uh, like, how do we get this to move forward? Because, you know, we are prioritizing things. But I guess in the data import SIG, we don't feel like we are empowered to prioritize this, that there's a lot of.

00:50:20.000 --> 00:50:39.000
unknowns, and a lot of, um… 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.

00:50:39.000 --> 00:50:45.000
And that, yeah, as you were saying that, Christy and Owen posted in chat,

00:50:45.000 --> 00:50:50.000
Uh, you know, that was the discussion of, you know, that… one of those original documents.

00:50:50.000 --> 00:50:53.000
was consistency across the ops.

00:50:53.000 --> 00:50:57.000
Um, you know, um, because there's…

00:50:57.000 --> 00:51:00.000
delete. There's consistency issues.

00:51:00.000 --> 00:51:07.000
more than with delete, but if that document lays it out, maybe that's a good starting point.

00:51:07.000 --> 00:51:09.000
And…

00:51:09.000 --> 00:51:16.000
Sorry, give me a second.

00:51:16.000 --> 00:51:21.000
Sorry, my voice just went. Um, so maybe we could use that document

00:51:21.000 --> 00:51:26.000
as a starting point, and maybe we should go back to…

00:51:26.000 --> 00:51:30.000
Um, both the technical council as well as the product council,

00:51:30.000 --> 00:51:33.000
to see if this is something…

00:51:33.000 --> 00:51:35.000
that we can now get started on,

00:51:35.000 --> 00:51:40.000
And then, you know, discuss how we prioritize that.

00:51:40.000 --> 00:51:44.000
Or, you know, how do we ensure consistency

00:51:44.000 --> 00:51:47.000
of, you know, the development teams that are…

00:51:47.000 --> 00:51:48.000
that are working on delete Owen?

00:51:48.000 --> 00:51:52.000
Yeah, I see Christy somewhere.

00:51:52.000 --> 00:51:56.000
Yeah, so that… that previous discussion in the document I keep mentioning,

00:51:56.000 --> 00:51:58.000
That said…

00:51:58.000 --> 00:52:04.000
how a delete should be handled. I, like…

00:52:04.000 --> 00:52:06.000
that when you deleted something,

00:52:06.000 --> 00:52:10.000
you could publish a message saying,

00:52:10.000 --> 00:52:13.000
It had been deleted, and that was…

00:52:13.000 --> 00:52:15.000
Um…

00:52:15.000 --> 00:52:17.000
the…

00:52:17.000 --> 00:52:21.000
Um…

00:52:21.000 --> 00:52:25.000
So that does not include the… that… that…

00:52:25.000 --> 00:52:33.000
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.

00:52:33.000 --> 00:52:35.000
Um, the, um…

00:52:35.000 --> 00:52:39.000
doesn't, uh, take into consideration the block

00:52:39.000 --> 00:52:42.000
um, action. So…

00:52:42.000 --> 00:52:45.000
which I think this… this discussion has said, kind of, doesn

00:52:45.000 --> 00:52:54.000
you know, isn't what we're aiming at, but that question about actually not allowing a delete because other things rely on it is not handled by the

00:52:54.000 --> 00:52:57.000
by that recommendation. That recommendation says delete it,

00:52:57.000 --> 00:52:59.000
And then tell everybody you've deleted it.

00:52:59.000 --> 00:53:03.000
not, um… and this is how you should do that.

00:53:03.000 --> 00:53:06.000
Um…

00:53:06.000 --> 00:53:12.000
In terms of, like, whether there should be other things, I think, like, there is…

00:53:12.000 --> 00:53:13.000
you know, there could be other

00:53:13.000 --> 00:53:17.000
things that we could agree on as a community, things like the two, you know,

00:53:17.000 --> 00:53:24.000
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…

00:53:24.000 --> 00:53:35.000
deletion to exist in the system.

00:53:35.000 --> 00:53:54.000
Yeah, I'm just listening and I might be misunderstanding, um, but if I'm hearing sort of what you were saying, Jennifer, and thinking about what Christy was saying, um… when we've tried to look at delete in, like, a holistic way.

00:53:54.000 --> 00:54:02.000
It's gotten really bogged down. Um, but we have a use case for just data that gets created in error.

00:54:02.000 --> 00:54:18.000
Um, and so, is one of the suggestions that's kind of out here is, like, providing… 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.

00:54:18.000 --> 00:54:27.000
Well, some of these more holistic, like, data should be handled in the same way type of situation could be worked on, because it seems like.

00:54:27.000 --> 00:54:30.000
One of the reasons why we can't clean up.

00:54:30.000 --> 00:54:40.000
data created. an error is because it's getting lumped in with this other type of use case for wanting to delete.

00:54:40.000 --> 00:54:41.000
And maybe that's something that could be kind of separated out.

00:54:41.000 --> 00:54:49.000
Uh, Kristen?

00:54:49.000 --> 00:54:53.000
Uh, yeah, exactly. I think it was Christy early on,

00:54:53.000 --> 00:54:56.000
Who said, or maybe it was Laura, I forget, sorry.

00:54:56.000 --> 00:54:59.000
Um, so there's… there's not just one way

00:54:59.000 --> 00:55:03.000
Uh, we should approach this. I mean, and the discrete methods

00:55:03.000 --> 00:55:06.000
are already here in many of the apps.

00:55:06.000 --> 00:55:10.000
Um, so… and there is…

00:55:10.000 --> 00:55:12.000
work, you know, at least in bulk at it, to…

00:55:12.000 --> 00:55:15.000
address the, uh, batch delete of

00:55:15.000 --> 00:55:21.000
Holdings and items post-umbrella leave.

00:55:21.000 --> 00:55:26.000
So, I think the issue that I would see with… with that

00:55:26.000 --> 00:55:34.000
idea that 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…

00:55:34.000 --> 00:55:36.000
I mean, I do think that

00:55:36.000 --> 00:55:43.000
If you are adding the ability to batch delete things, you are adding the ability to batch delete things, unless…

00:55:43.000 --> 00:55:49.000
You are connecting that explicitly to a function that says,

00:55:49.000 --> 00:55:53.000
I'm creating all of this stuff, I'm tracking everything that I'm creating,

00:55:53.000 --> 00:55:57.000
or updating, and then…

00:55:57.000 --> 00:55:59.000
I'm going to…

00:55:59.000 --> 00:56:03.000
keep that in memory, you know, keep a record of that so I can undo it.

00:56:03.000 --> 00:56:06.000
And put everything back to how it was before.

00:56:06.000 --> 00:56:13.000
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,

00:56:13.000 --> 00:56:18.000
that tracks what it's doing, and then has the ability to therefore undo all of that.

00:56:18.000 --> 00:56:21.000
I can understand. Um…

00:56:21.000 --> 00:56:25.000
adding support for deleting things.

00:56:25.000 --> 00:56:27.000
en masse?

00:56:27.000 --> 00:56:33.000
like, you can't… I don't know how you would then restrict that to, oh, but only if

00:56:33.000 --> 00:56:36.000
you know, it's when I've made a mistake, because

00:56:36.000 --> 00:56:39.000
For the system, it's all just data, right?

00:56:39.000 --> 00:56:41.000
there's no way to know that.

00:56:41.000 --> 00:56:47.000
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.

00:56:47.000 --> 00:56:48.000
Well, sure, yeah.

00:56:48.000 --> 00:56:56.000
Owen?

00:56:56.000 --> 00:57:19.000
Actually, I was just going to say what… what Kristen said, and what Mara is saying in chat. It's a permission. 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.

00:57:19.000 --> 00:57:28.000
Um, 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.

00:57:28.000 --> 00:57:29.000
And we just need to be aware of the risks, you know, in doing so.

00:57:29.000 --> 00:57:37.000
Uh, Christy?

00:57:37.000 --> 00:57:41.000
Well, we're about 5 minutes until the end of time, and this has been a really great discussion.

00:57:41.000 --> 00:57:45.000
Um, I think we have a lot to take back to…

00:57:45.000 --> 00:57:54.000
and data import, but I think also, I'm on PC, and I think I might bring this up to PC as well.

00:57:54.000 --> 00:58:02.000
In terms of, um, you know, this discussion, and where we are, and, you know, that document that was an accepted recommendation.

00:58:02.000 --> 00:58:09.000
Um, by technical counsel, and see if this is something that maybe we can…

00:58:09.000 --> 00:58:14.000
revive, um, and see how we can prioritize it.

00:58:14.000 --> 00:58:27.000
As well. Um, are there any last comments?

00:58:27.000 --> 00:58:34.000
If I could make a remark about permissions. Just that.

00:58:34.000 --> 00:58:46.000
So far, in my experience. and it's only been 28 years, but it's.

00:58:46.000 --> 00:58:55.000
When it comes to permissions, um… There is… there's very little malice. This is all going to be whoopsie.

00:58:55.000 --> 00:59:04.000
You know, the things you guard against mischief, malice, and whoopsie. And that's the sort of thing that can be.

00:59:04.000 --> 00:59:09.000
that can be addressed, you know, by permissions and training.

00:59:09.000 --> 00:59:10.000
And, you know… So I think that that worrying about permissions is not not an issue.

00:59:10.000 --> 00:59:22.000
to the discussion.

00:59:22.000 --> 00:59:36.000
Oh, we're getting so close, and I don't want to hold people. Um, 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,

00:59:36.000 --> 00:59:42.000
then, like, the answer would be, like, that we need to figure out all of these sort of outstanding questions.

00:59:42.000 --> 00:59:47.000
And when things go through the prioritization process in the community, it feels like… it feels like

00:59:47.000 --> 00:59:52.000
the road has to be, like, completely smooth before things can move forward.

00:59:52.000 --> 00:59:58.000
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.

00:59:58.000 --> 01:00:00.000
Um…

01:00:00.000 --> 01:00:01.000
Yeah. So, uh, I don't know that not knowing everything at the start necessarily means that it can't move forward.

01:00:01.000 --> 01:00:12.000
Tara.

01:00:12.000 --> 01:00:17.000
And yeah, and that's a great point. I think things have been moving forward anyway.

01:00:17.000 --> 01:00:19.000
Um, you know, we have…

01:00:19.000 --> 01:00:23.000
are any the set for delete, which, you know,

01:00:23.000 --> 01:00:25.000
Um, responds to certain use cases.

01:00:25.000 --> 01:00:30.000
Um, Bulk Edit is working on the batch, even though this is post-Umbrella.

01:00:30.000 --> 01:00:35.000
And we've, you know, we're MARC authorities has just put in

01:00:35.000 --> 01:00:38.000
And this is for umbrella leave, a deletion

01:00:38.000 --> 01:00:41.000
of Merck authorities in batch.

01:00:41.000 --> 01:00:44.000
Um, and so data import is looking at…

01:00:44.000 --> 01:00:52.000
just the deletion of holdings and items through data import. So, I think a lot of the discrete work is happening,

01:00:52.000 --> 01:01:00.000
And being prioritized. I think it's kind of at, um, maybe a larger level, or with different record types.

01:01:00.000 --> 01:01:02.000
Um, it's still…

01:01:02.000 --> 01:01:09.000
it's still being discussed, maybe.

01:01:09.000 --> 01:01:16.000
Oh, that's awesome, but we are at the end of the hour.

01:01:16.000 --> 01:01:19.000
So, I guess I will say thanks very much to everyone who came.

01:01:19.000 --> 01:01:20.000
Um, and I hope to hear more about this.

01:01:20.000 --> 01:01:23.000
Is my feeling.

01:01:23.000 --> 01:01:28.000
In the coming days, that was a really interesting discussion, so everyone have a great Wednesday, and I'll talk to you later.

01:01:28.000 --> 01:01:29.000
Bye.

01:01:29.000 --> 01:01:30.000
Owen, I see you're next.

01:01:30.000 --> 01:01:31.000
Thanks, everyone.

01:01:31.000 --> 01:01:37.000
Bye!

