Page tree
Skip to end of metadata
Go to start of metadata


Attendees (please add your name):

Magda Zacharska Leeda Adkins Jennifer Eustis Erin Nettifee Amanda Ros Kimie Kester Erin Weller Lisa Smith Jackie Magagnosc Lynne Fors Mark ArnoldPeter Martinez  Jeanette Kalchik Donald Depoorter@Kim Wiljanen


Note Taker:  

Bob Scheier

Meeting Recording:

Discussion:


TopicDetails
Housekeeping
  • Attendees  - please add your name to the list of attendees
  • Meeting host -  please turn on Transcript option for the meeting 
  • Other topics?

Development updates

Sprint 157 - status update

  • Backend work completed and integration with UI started
  • New module under TC evaluation – all issues brought up by TC have been resolved. The final decision expected on Wednesday, January 25th
  • Bulk edit rework test plan has been created in Testrail and the functional testing will start as soon the bugfest-like environment is up and running.The testing will verify if the rework did not introduce any regression in bulk edit or export manager
  • Once the functional tests are complete and are successful the module will be released, and performance tests will start (around February 10th).

Item status In Progress (MODEXPW-348)

  • Change to values supported in the Inventory UI (Missing and Withdraw)?
  • Should it require additional permission?

The functionality is most likely supported by data import.  Magda to follow up with Ann-Marie. Related documentation: Item Record Statuses and Data Import

Bulk edit - user permissions (UXPROD-3468)

1. What are the most common use cases for removing or adding permissions?
2. How permissions for the bulk edit should be identified:

  • User identifiers (barcodes, uuids, external system ids, usernames)
  • User groups ?? (since they are not employers groups they might not be applicable)
  • Permissions UUIDs (or should it be permission names or permissions display name?)
  • Should the hidden permissions be also bulk editable?

3. What data should be presented in the matching records table:

  • Last name, first name, middle name, patron group?
  • Permission name or permission display name?

4.  Should the user be able to bulk edit  mutable, hidden and deprecated permissions?

MMZ: 

The decision was made that:

  1. Preview of the matching records will be the same as on the User record bulk edit but will provide a link to the user profile.  Nice to have is the count of assigned permissions
  2. CSV in addition to user data will also contain a list of all permissions as listed in the permissionUsers record, separated by comma
  3. On the bulk edit page the user should be able to add and remove permissions at the same time (needed for deprecated permissions)
  4. The list of permissions will be type ahead and narrow down the options
  5. Are you sure form will contain additional columns: Permissions added, Permissions removed
Query tool (UXPROD-3785)
Bulk Edit Use cases

Reviewed use cases and associated existing JIRA tickets or marked which ticket still needs a JIRA to be created.   

Follow up questions on:

NumberUse case Notes
29

Add a similar feature to Sierra Global Update that allows you to see the data from the fields of the same type (author, subject, title, etc.) present in a set (review file) of records.  

Use case  Identify bib records from the daily headings reports that have not been sent for authorities processing. 

Example: Backstage inserts a code indicating that a bib record has been processed in the 040 field. I can view all the 040 fields from a set of records using the “toggle” function in Global Update and select records for future authorities processing. 

Use case – Find patterns of problems in a set of records. 

Example: During record loading, some MARC fields may end up being duplicated. Sierra Create List searching cannot find duplicate fields, but the “toggle” function in Global Update helps identify affected records. 


30

Ability to temporarily add or remove a MARC field in SRS.

Use case – To temporarily exclude some bib records from authorities processing, we add a 9XX note and re-write the monthly search query to exclude records using that note. 

Example: The recent EEBO record load was huge, so we had to temporarily exclude them from the month’s authorities processing query.  


36When the 3-part Item State is available/developed, there will be the need to identify item records based on a 1-part item state, location, etc. in order to update them with one or more of the 3-part states.  This could be done based on a list of item records (HRIDs or Barcodes), or by location alone, depending on how the 1-part item state is used with location, or other data, at individual institutions.
49

Ability to identify records with certain characteristics (a particular 650, for example) and permanently add a MARC field in SRS and Instance to those records.

Use case: In-house record enhancements (adding new controlled vocabularies such as LCGFT or LCMPT)


57We want to be able to find and delete duplicate fields.  We want to be able to specify the field or fields where we want to remove duplicate data. 
Transcripts

[Magda Zacharska] 10:10:43
But if this is something, this is desperately needed, and then we will need to implement.

[Magda Zacharska] 10:10:43
Please share your opinion and comments.

[Erin Nettifee] 10:10:51
I mean, I think the ability to bulk edit to missing and withdrawn is needed.

[Erin Nettifee] 10:10:56
I mean, we talked about that last time, and if Michigan State then uses that as a workaround for the workflow that they need, then that's up to them.

[Erin Nettifee] 10:11:07
I mean they they know their process is best, so I'm not uncomfortable with it per se. But I don't know if anybody else has, like Jennifer has her hand up

[Jennifer Eustis (she/her)] 10:11:20
Yeah, I, I, I agree. Erin, I I think because it's it's allowed in inventory.

[Jennifer Eustis (she/her)] 10:11:27
I I with Buck Edit, you know, like, if I'm doing this particular action, my scenario would be.

[Jennifer Eustis (she/her)] 10:11:36
You know, we're training new students and perhaps you know the end processing.

[Jennifer Eustis (she/her)] 10:11:41
They went to the stacks, and they still have the in process status when they should be in chargeable, let's say, or something like that, or Mary, our finance person forgets the mittens missing.

[Jennifer Eustis (she/her)] 10:11:53
So we've already done the work to make sure that all the requests are off.

[Jennifer Eustis (she/her)] 10:11:59
The finance piece is done, and all of that. So I think, at least in our case, it it would be fine to make these changes, especially with bulk edit.

[Jennifer Eustis (she/her)] 10:12:11
So, and it not everyone in Arkansas them would have access to do this work.

[Jennifer Eustis (she/her)] 10:12:14
So it it would be a smaller bunch of people. So I I I think it's fine

[Magda Zacharska] 10:12:23
And the one from Michigan State. Would you

[Donald A Depoorter] 10:12:26
So I'm just one clarification there may know this is done down to Porter. So in order to get something changed from in process to available, we'd have to go through these steps, change it to withdrawn first, and then change it to available am I understanding that right

[Magda Zacharska] 10:12:46
Yes, this is what this is, what I'm saying. Yeah, we

[Erin Nettifee] 10:12:47
That's that's

[Erin Nettifee] 10:12:50
That's because there is no bulk check in function, which is what would happen

[Magda Zacharska] 10:12:57
When on the receiving side. Yes.

[Erin Nettifee] 10:12:59
On the receiving side right? You would get a book, and it would you would receive it, and it would be come in process, and then you would check it in, and it would become available

[Erin Nettifee] 10:13:08
So there's no bulk check in that is available in folio

[Donald A Depoorter] 10:13:14
Okay, you have to go through the check in process. If you want

[Erin Nettifee] 10:13:17
Right, I will say it is not difficult. It would not be difficult to write a script to do that. But you know, just kind of depends on what you guys want to do.

[Magda Zacharska] 10:13:28
So the other option is, wait until we will get with the bulk edit, too.

[Magda Zacharska] 10:13:35
Support, and about editing all of the items that statuses that are driven by other apps other than inventory app.

[Magda Zacharska] 10:13:46
But it will take us several releases to get them, and the third option would be to make to change the in, to let, to support in process, to support all other statuses without checking.

[Magda Zacharska] 10:14:08
But my concern is that this will, that this will cost down the road data, corruption

[Erin Nettifee] 10:14:13
Yeah, that that I would have concerns with, yes, yeah, yeah.

[Magda Zacharska] 10:14:21
The new 10, please.

[Erin Nettifee] 10:14:21
There's a question, and then there's a question there's a question in the chat about whether there's a jira for doing bulk check-in.

[Magda Zacharska] 10:14:30
Hmm.

[Erin Nettifee] 10:14:30
I'm looking to see if there is one. I thought.

[Erin Nettifee] 10:14:30
There was, but I can't find it.

[Magda Zacharska] 10:14:32
I don't think it is, at least I don't know.

[Magda Zacharska] 10:14:36
Yeah.

[Erin Nettifee] 10:14:38
Sure.

[Donald A Depoorter] 10:14:40
Okay, I I just gotta be labor. This is a little bit more.

[Donald A Depoorter] 10:14:45
So in order to change a a group of records to available, we do it just in bulk at it.

[Donald A Depoorter] 10:14:51
We would change them first to withdrawn, and then and then in bulk at it.

[Donald A Depoorter] 10:14:54
Then we change them from with John to available. Is that correct?

[Magda Zacharska] 10:14:57
Yes, so just to back track a little bit.

[Magda Zacharska] 10:15:06
The Michigan State reported that they would like to have a functionality that will allow them to bulk edit, bunk edit.

[Magda Zacharska] 10:15:22
Item status from in process to available, because this is how they make those items and known as a new items, a new new books.

[Magda Zacharska] 10:15:36
When we implemented vulgarated the in-process status was not supported, as it records the the receiving flow which also receives the checking.

[Magda Zacharska] 10:15:53
Oh, the items! The there was some misunderstanding Michigan state.

[Magda Zacharska] 10:16:04
The person who reached out to me assume that this functionality was working in the test.

[Magda Zacharska] 10:16:12
In the test environment. It's not possible, because it was never implemented.

[Magda Zacharska] 10:16:17
And there were no changes since April in this area

[Magda Zacharska] 10:16:23
So, but it's apparently a a a big problem for for Michigan state, so I would like to propose this workaround with 2.

[Magda Zacharska] 10:16:35
Step changing. If you want to go from in process to available, it cannot be automatic.

[Erin Nettifee] 10:16:36
Well, and

[Magda Zacharska] 10:16:43
It needs to be, it will need to require some causes decision that you are using workaround

[Erin Nettifee] 10:16:47
Well and and data import can do it. That's we were discussing in the chat data import can assign a status of available so that could be another workaround that could potentially be used

[Magda Zacharska] 10:17:05
Umhm, let me go, do we have? And Marie on the call she sometimes comes some sometime

[Erin Nettifee] 10:17:10
Well, we we have documentation that says that it

[Magda Zacharska] 10:17:13
I know, but I will double check with Anne Marie as well

[Erin Nettifee] 10:17:17
Okay.

[Magda Zacharska] 10:17:18
And if we indeed can handle this through data in port, then I I'd rather don't implement the I work around that are not really straightforward.

[Magda Zacharska] 10:17:35
Done. I saw your some app, and and the timbup was for both part of data import as a workaround or

[Jennifer Eustis (she/her)] 10:17:43
Oh, no! Just checking with Amory, I mean I I put a link to the Wiki page, and I I believe that's updated.

[Jennifer Eustis (she/her)] 10:17:53
But it would be good to check with Emery from from what it looks. Yeah.

[Magda Zacharska] 10:17:55
Yes.

[Erin Nettifee] 10:17:57
I mean it is. It is in the I'm looking at the snapshot, and it is one of the accepted values

[Jennifer Eustis (she/her)] 10:18:03
Yeah, and you know, I think I've done it in data import you.

[Jennifer Eustis (she/her)] 10:18:09
You can't change like age to lost waiting delivery, you know.

[Jennifer Eustis (she/her)] 10:18:12
Any of the awaiting checked out claim returns, declared loss or page.

[Erin Nettifee] 10:18:16
Right.

[Jennifer Eustis (she/her)] 10:18:17
But everything else is a game on

[Erin Nettifee] 10:18:21
Yeah, and that makes sense. Because you know, you're not.

[Erin Nettifee] 10:18:25
You're not messing with the receiving record at that point, because it's already been received.

[Erin Nettifee] 10:18:29
Right. So that makes sense to me

[Jennifer Eustis (she/her)] 10:18:32
Well, no, you can. I think you can change your status of on order, too.

[Erin Nettifee] 10:18:34
Right.

[Jennifer Eustis (she/her)] 10:18:39
So I I that would be something to ask for. Amory

[Magda Zacharska] 10:18:43
I'll talk, I'll talk with Anne. Marie, and I will pass the update on the slack channel.

[Erin Nettifee] 10:18:50
Okay.

[Jennifer Eustis (she/her)] 10:18:50
Yeah. Yeah. Cause. Yes, he's working with the mark import of orders.

[Magda Zacharska] 10:18:51
So that

[Jennifer Eustis (she/her)] 10:18:57
So maybe it has something to do with that as well. But we could do it beforehand.

[Magda Zacharska] 10:19:03
I'll double check with her. And also, as I said, if we want to scoot this implementation into market release, then we don't.

[Jennifer Eustis (she/her)] 10:19:03
So I, yeah.

[Magda Zacharska] 10:19:16
We have like one and a half week to do this so I will need to make a decision rather quickly.

[Magda Zacharska] 10:19:26
So after I talk with Anne Marie, I will post this in in our slack Channel bug at its lab channel, and a again the members of the group who are in Michigan State please voice your opinion opinion, because this is what was brought about by your your group

[Donald A Depoorter] 10:19:54
Okay. Thank you.

[Magda Zacharska] 10:19:56
Thank you. So this is all for the item status in process.

[Magda Zacharska] 10:20:06
Now the heavy listing part of the meeting. I think we are all properly warm up this is, this will be the user permissions.

[Magda Zacharska] 10:20:17
Part, I want to emphasize that when we talk about bug editing user permissions, we are talking about the process of assigning or on assigning or removing permissions from the users, this is not about I think, permission names creating zooms et

[Magda Zacharska] 10:20:41
Cetera. This is outside the scope of the of this ticket of this Jira Us.

[Magda Zacharska] 10:20:51
Product. 3. New expert 3, 4, 6, 8, and I have couple of

[Magda Zacharska] 10:20:59
Scoop that I created. If we have Kimi on the the call to me, I apologize.

[Magda Zacharska] 10:21:08
I know it will be hard for you to digest them.

[Magda Zacharska] 10:21:11
But I I thought this would be easier to

[Magda Zacharska] 10:21:16
Convey what I'm trying to say. Hmm!

[Magda Zacharska] 10:21:21
So one more time. What we are trying to do. We are trying to do the bulk edit of assigning or rem removing permissions to the user.

[Magda Zacharska] 10:21:32
So this is the screen in phone, you in the user management screen.

[Magda Zacharska] 10:21:37
Where you or you get to assign the permissions.

[Magda Zacharska] 10:21:44
And this is updating on the back end the table that actually consists only from user Id, and the list of permissions

[Magda Zacharska] 10:21:57
So what I would like to propose is to add additional radio button in addition to users to have users, permissions

[Magda Zacharska] 10:22:12
Please stop me. Then, in a moment you disagree.

[Magda Zacharska] 10:22:16
I I am not not. I'm not able to follow the chat when I'm talking. So.

[Magda Zacharska] 10:22:24
If you want my attention, please speak up.

[Erin Nettifee] 10:22:26
I'm with you so far, Magna. Keep going

[Magda Zacharska] 10:22:28
If if anyone else has any other comments, please feel free to interrupt in any moment.

[Ros, Amanda L] 10:22:34
Hey? I'm I'm I'm all for it as well

[Magda Zacharska] 10:22:36
Okay. Okay, okay, thank you. So we we are adding additional radio button users permission.

[Magda Zacharska] 10:22:47
The next one, and here are the things that I need to ask.

[Magda Zacharska] 10:22:52
What are the columns you would like to see in the preview?

[Magda Zacharska] 10:23:00
Because we have 2 options, option number one to leave it as it is for the users.

[Magda Zacharska] 10:23:07
So this is what is currently displayed for the users, and it would have. We would have the same Callums for the for the permissions

[Erin Nettifee] 10:23:16
So, Magna, this is a Csv update, then this is not an in app update

[Magda Zacharska] 10:23:21
This is enough. Update

[Erin Nettifee] 10:23:24
Okay. Okay.

[Magda Zacharska] 10:23:25
We do users in app as well

[Erin Nettifee] 10:23:30
Right so, users you can do Csv. And an app.

[Magda Zacharska] 10:23:34
Yes, yes.

[Erin Nettifee] 10:23:35
You can do them both

[Erin Nettifee] 10:23:36
We would be able to also do it both ways.

[Magda Zacharska] 10:23:38
Yes, the the idea is that this was

[Magda Zacharska] 10:23:45
Mentioned in several 6 meetings, Mmc. And resource, accessing

[Erin Nettifee] 10:23:53
Sure, I mean, this is definitely needed. Yeah.

[Magda Zacharska] 10:23:56
That they? Well, they want to have a in app approach to take precedence before Csv.

[Magda Zacharska] 10:24:03
Which broke my heart a little bit, because the Csv approach gives us really quickly the way to update and any field it will take us a while to support all fields.

[Magda Zacharska] 10:24:16
So we are prior to prioritizing ui right now.

[Erin Nettifee] 10:24:21
Okay, that's fine.

[Magda Zacharska] 10:24:24
And the so the ui, that would be a ui in app permission user permission update.

[Erin Nettifee] 10:24:34
Okay.

[Magda Zacharska] 10:24:34
So the question here is, we can display either as it is currently on the on the user, the same table, or we can create another table that will have just basic information from the user last name.

[Magda Zacharska] 10:24:54
First name Barcode, or any other identifier that was used to to identify the records.

[Magda Zacharska] 10:25:02
But then do we need to display all the permissions that are associated with?

[Magda Zacharska] 10:25:12
Each python. The list can be lengthy.

[Magda Zacharska] 10:25:16
Hey!

[Ros, Amanda L] 10:25:16
Right, my my question, the I'll take my hand down because I was looking at your questions.

[Erin Nettifee] 10:25:16
It can.

[Ros, Amanda L] 10:25:23
There, and my questions were, where it says, Do we need to display the list of permissions?

[Ros, Amanda L] 10:25:30
Is it going of display? Every permission? But I guess you just answered that, or you know, is this going to work?

[Ros, Amanda L] 10:25:38
In such a way that it would we could get it to list.

[Ros, Amanda L] 10:25:44
Only the permissions that we were taking away. You know I could see this being used, for, like when we have student workers at the end of the Cter, we want to take away their cataloging.

[Ros, Amanda L] 10:25:59
Our inventory permissions. So you know. But so I guess that's my question.

[Ros, Amanda L] 10:26:06
Is, if if the way that the bulk edit is going to work is that the list of names that you have, we're going to take away their inventory edit, you know, if if it's gonna just do that, then I don't need to see it if that's going to be

[Magda Zacharska] 10:26:22
So do. This is

[Ros, Amanda L] 10:26:28
The command line is just that everybody that's in the file is going to remove the the same permission

[Magda Zacharska] 10:26:37
So this is actually covered in. This as a screenshot.

[Erin Nettifee] 10:26:43
Okay. J, yeah. Jennifer hasn't had that. Yeah.

[Magda Zacharska] 10:26:43
We will get here later. But and I see Jennifer

[Jennifer Eustis (she/her)] 10:26:49
Yeah, I. I have the same concern that. That you have not done. I think, Mandy, you said the same thing that that list is gonna get.

[Jennifer Eustis (she/her)] 10:26:59
I mean, just really very, very long and and and do you display just the permissions, or also like we have user groups that we do.

[Jennifer Eustis (she/her)] 10:27:12
So I I'm wondering if and maybe you'll get to this later on if if we display, because that that list is just so little unwilly, if we display it like the same as the user records and bulk at it.

[Jennifer Eustis (she/her)] 10:27:25
Maybe we have an action to download. So then we could and that prints out like the full list, you know, so you could see it involved in like a CFC downloaded file.

[Jennifer Eustis (she/her)] 10:27:36
I'm not sure I'm just an idea

[Magda Zacharska] 10:27:38
Yeah, so this is, this is also us partially answer my question about what should be when we download the matched records.

[Magda Zacharska] 10:27:47
So speaking about how many records we are talking about.

[Magda Zacharska] 10:27:54
So here is the example. One of this is one of the user, or this may be, oh, this is my record in in in the list goes on and on and on, and I'm pretty sure there will be a lot of users like that.

[Magda Zacharska] 10:28:20
We can.

[Erin Nettifee] 10:28:20
I mean it. It it very much depends on how the institution manages it, because you could put all this into a permission set, and if you did that, it would just show one right, because there's so much flexibility here, so I think what you're seeing here, is is common but there are different.

[Magda Zacharska] 10:28:25
Okay.

[Erin Nettifee] 10:28:38
Ways you can do it. That would make this list. Not that long

[Magda Zacharska] 10:28:39
Okay, so how? How? The

[Ros, Amanda L] 10:28:40
Yeah, and and my concern also, I'm sorry for interrupting you, Maca, but my concern also was be.

[Ros, Amanda L] 10:28:49
If if there was any discussion of truncating the list, because different people will have different permissions, and if it truncates, what even if it's just truncating what is displayed, you know you may not see that the first are the you know the second person on the list

[Ros, Amanda L] 10:29:08
you may not see the one that you're editing our planning on editing.

[Ros, Amanda L] 10:29:13
If the list is truncated.

[Magda Zacharska] 10:29:15
Yeah.

[Erin Nettifee] 10:29:15
So I will say for sure that a download of the record should have the entire permission

[Magda Zacharska] 10:29:22
So could this be that all this data goes into one field separated by commas like exactly like it is here, right

[Erin Nettifee] 10:29:33
Yeah, I I don't see any reason why you would have to do it differently.

[Magda Zacharska] 10:29:36
Okay.

[Erin Nettifee] 10:29:37
Yeah, it could just be one column that just lists all the permissions.

[Peter Martinez] 10:29:38
I have a quick

[Erin Nettifee] 10:29:42
So somebody just said they had a question. Go ahead, Peter.

[Peter Martinez] 10:29:44
Yeah, I have a. Is that a question? Is it? Is it?

[Peter Martinez] 10:29:48
Is it? Could there be a column, and that has I don't know something like permissions?

[Peter Martinez] 10:29:55
Count, and then that would link to that person's list of permissions.

[Peter Martinez] 10:30:00
The way, like when we get data, import logs, we can link to a record from from from the information there.

[Peter Martinez] 10:30:09
And would that even be useful? I don't

[Magda Zacharska] 10:30:11
Oh, okay. So you're saying here at the column that would say, how many, how many?

[Magda Zacharska] 10:30:19
Let's say Eric has 7 permission, so you would have C. 7. This will be hyperlink clicking.

[Erin Nettifee] 10:30:19
So the only

[Magda Zacharska] 10:30:29
The hyperlink would take you to the user profile.

[Magda Zacharska] 10:30:32
This is what

[Peter Martinez] 10:30:33
Oh, good, yeah. Or a list of yeah, I don't.

[Peter Martinez] 10:30:36
I don't know which one would be more useful with

[Erin Nettifee] 10:30:37
It's a, it's definitely yeah. It's definitely an interesting idea.

[Magda Zacharska] 10:30:40
Yes.

[Erin Nettifee] 10:30:41
I I will say, Magna, that the the permissions user Api does not give you a record.

[Erin Nettifee] 10:30:46
Count right? So you would bulk at. It would have to do the record, count if if that was something people wanted

[Magda Zacharska] 10:30:52
But we can see permissions and just replace this with the link to the user profile.

[Peter Martinez] 10:30:55
Yeah.

[Magda Zacharska] 10:30:59
What I just want to bring that

[Erin Nettifee] 10:31:02
Yeah, that actually is an interesting idea. Right? You just have a link.

[Erin Nettifee] 10:31:06
That's a C permissions and you click it, and it takes if it could take you into the user record with the permissions accordion open that to me is great.

[Erin Nettifee] 10:31:16
That would work really well. Jennifer has her hand out

[Jennifer Eustis (she/her)] 10:31:21
Yeah, that's a great idea. And I. And because I think because I mean you said counting, I was like, Would you count the premiums or the permitting system?

[Jennifer Eustis (she/her)] 10:31:30
So. But yeah.

[Magda Zacharska] 10:31:31
I I rather don't count as well. I

[Erin Nettifee] 10:31:32
So.

[Erin Nettifee] 10:31:35
So Jeanette, Janet brings up.

[Erin Nettifee] 10:31:38
Je Jeanette brings up the point about what if you don't have permission to view user records and and

[Magda Zacharska] 10:31:42
You will not be able to see the bug added option, because we already control it.

[Magda Zacharska] 10:31:49
By the permissions. So if you don't have a permission to see user records

[Erin Nettifee] 10:31:50
Right.

[Erin Nettifee] 10:31:57
Well, there's a permission to see

[Magda Zacharska] 10:31:58
You don't you? Don't. You don't see this radio button at all.

[Erin Nettifee] 10:32:03
But there, there is a separate permission in the user app that controls.

[Erin Nettifee] 10:32:08
Seeing the permissions accordion. So you would. You would probably need to have similar kind of thing that says you have to have the ability to edit permissions in order to see the option, and we'll get it

[Magda Zacharska] 10:32:10
Okay, so, okay.

[Magda Zacharska] 10:32:17
That's very okay. So this is what I wanted to show from the from the beginning.

[Magda Zacharska] 10:32:25
If I select

[Magda Zacharska] 10:32:42
So that link, I think, would take to this place, and the user would need to click.

[Magda Zacharska] 10:32:49
The permissions by themselves. Would that work

[Erin Nettifee] 10:32:54
Oh, so you can't! You can't just open it straight to that permissions aquarium.

[Magda Zacharska] 10:32:57
You you cannot, you cannot go directly to that permission.

[Erin Nettifee] 10:33:00
Yeah, I mean that that works. I mean at a certain point.

[Erin Nettifee] 10:33:07
You know, we can do like a version. One of the ui kind of thing, and think about different different approaches in the future.

[Erin Nettifee] 10:33:16
But yeah, I think that works. I think most people who are doing this are gonna already probably be pretty comfortable with editing permissions, because they probably do it one by one, for various reasons, whether they're a department manager or whether they're library has them as a permissions manager so I don't think it's

[Erin Nettifee] 10:33:35
A difficult thing to ask there, especially if I can just decide to download the Csv file and not have to go into the user app at all.

[Magda Zacharska] 10:33:42
Okay.

[Ros, Amanda L] 10:33:43
It is interesting, though, that you know we're talking about counting permissions.

[Ros, Amanda L] 10:33:49
It does show, and if you go back up, Mac that and collapse your accordion, you know.

[Magda Zacharska] 10:33:55
Yes, it. It shows. Yes.

[Erin Nettifee] 10:33:55
It does. Yeah.

[Ros, Amanda L] 10:33:56
Yeah. So you know, if it could get the number from there

[Erin Nettifee] 10:34:01
What is the number matter, though? How would you use it if you were in? Look at it

[Ros, Amanda L] 10:34:05
Well, I mean, we were. We were talking about that a few minutes ago about, you know, seeing how many permissions

[Magda Zacharska] 10:34:12
But to this is, it's something wrong with this, because right now it shows that I have 0 permission

[Erin Nettifee] 10:34:19
That's that's a stripes thing, it it doesn't load it.

[Erin Nettifee] 10:34:22
You can see it just loaded it. It just it low.

[Magda Zacharska] 10:34:23
Yeah, so, yeah, this is

[Erin Nettifee] 10:34:25
It doesn't load it super instantaneously. So that what that means is that is, that the users app is doing that count.

[Erin Nettifee] 10:34:32
And so

[Magda Zacharska] 10:34:32
So, which means, if we have a delay for just one record, such a delay for our record, what will be the delay if we have hundreds of records on the bulk edit part?

[Erin Nettifee] 10:34:44
Permission to slow permissions is definitely slow, that is, and that is a known thing

[Magda Zacharska] 10:34:48
So I I will need to talk with the developers about that, and I'll come back to this group.

[Erin Nettifee] 10:34:56
I will!

[Magda Zacharska] 10:34:56
I like the idea of linking to the profile, so that if you want to see the permissions you can take a look.

[Magda Zacharska] 10:35:10
But this is not be a part of the display, and as we discussed the the download, the action action button on the bulk added will save the user record.

[Erin Nettifee] 10:35:27
Can you? Can we go back to the screenshot with the the columns?

[Magda Zacharska] 10:35:27
With all the permissions associated with it.

[Erin Nettifee] 10:35:32
This way.

[Magda Zacharska] 10:35:35
Here we go so. But we are discussing those columns right

[Erin Nettifee] 10:35:38
I would right. I would really love to see the username cause. I can

[Magda Zacharska] 10:35:43
Yeah. So I think it's even easier for for us to reuse whatever we have here for the users

[Erin Nettifee] 10:35:50
And then just and then just add a seventh column.

[Erin Nettifee] 10:35:53
That's a link to the patron, or make the name a link or something like that.

[Magda Zacharska] 10:35:54
Yes, hmm.

[Erin Nettifee] 10:35:57
Yeah, I agree.

[Ros, Amanda L] 10:36:01
I think it would be cleaner if, just to make the username a link

[Erin Nettifee] 10:36:09
I don't have a strong opinion about it. Yeah.

[Magda Zacharska] 10:36:11
So because, okay, this is, this is also a good idea, or we already do

[Ros, Amanda L] 10:36:11
Well, I don't have a strong opinion. I'm just saying that I think it'd be cleaner

[Erin Nettifee] 10:36:19
Well, the only thing is that username is not a required field.

[Erin Nettifee] 10:36:23
So you would. You would have to handle scenarios where username was blank.

[Ros, Amanda L] 10:36:24
Oh, okay.

[Erin Nettifee] 10:36:29
Barcode is also not a required field. So yeah, go ahead, Jennifer.

[Magda Zacharska] 10:36:34
Oh, we can even make it the whole throw. Make it clickable, and clicking on the row will open the the record

[Erin Nettifee] 10:36:45
Go ahead, jennifer

[Jennifer Eustis (she/her)] 10:36:49
They're in you. You might know this, and I asked it in chat.

[Jennifer Eustis (she/her)] 10:36:53
But I'm I'm just asking here for for everyone. There are a number of like whom permissions that you know.

[Jennifer Eustis (she/her)] 10:37:01
I'm not the permission person, so I I I I I'm thankful I don't have to take care of that.

[Jennifer Eustis (she/her)] 10:37:07
But yeah, yeah, does the user account? Does that also list all the hidden permissions

[Erin Nettifee] 10:37:12
So so, Mag, to go back to insomnia for a second, if you don't mind

[Erin Nettifee] 10:37:20
So what you're looking at here is the list of the permissions that are assigned to Magna's account in this environment.

[Erin Nettifee] 10:37:28
Right. These are all sort of like top-level permissions, but that you would see if you've looked at her record right?

[Erin Nettifee] 10:37:37
What you're seeing in the ui is like A is a translation value.

[Erin Nettifee] 10:37:42
Basically, but it represents these things below. It doesn't matter in this list if these are hidden or not.

[Erin Nettifee] 10:37:49
If they're assigned to the record it's gonna show up.

[Erin Nettifee] 10:37:53
Well, actually.

[Erin Nettifee] 10:37:57
That might not be true. You have to have permission. You have to have permission to see the hidden permission in the Ui.

[Robert rscheier@nelib.org] 10:37:57
There's a setting

[Robert rscheier@nelib.org] 10:38:04
Yeah, , this is

[Erin Nettifee] 10:38:08
Hi, yeah, yeah, yeah, yeah. That's an interesting thing.

[Erin Nettifee] 10:38:13
It may not show the hidden permissions. You would see it in the you would see it in the Csv download because the Csv download would pull this record, but you wouldn't necessarily see it in the Ui

[Magda Zacharska] 10:38:25
No, so you will not see this in Cs the well Csv.

[Robert rscheier@nelib.org] 10:38:25
Why, why wouldn't you? What

[Magda Zacharska] 10:38:31
Will show what is here. Are you saying that one of them are invisible

[Erin Nettifee] 10:38:32
Right.

[Erin Nettifee] 10:38:35
No. So let's let's imagine a scenario where you know User X is is is in a folio environment, and they have 10 permissions on their record.

[Erin Nettifee] 10:38:45
Right, and of those 10 permissions 8 of them are visible, and 2 of them are hidden they were assigned to their record for some troubleshooting purpose, or whatever.

[Erin Nettifee] 10:38:56
If Bob logged into this environment and Bob does not have himself the permission to see hidden permissions.

[Erin Nettifee] 10:39:04
Bob, it's gonna look to Bob like it's 8 permissions instead of 10.

[Magda Zacharska] 10:39:07
Oh!

[Erin Nettifee] 10:39:08
Even though those 10 permissions are in the underlying data.

[Magda Zacharska] 10:39:12
Oh!

[Erin Nettifee] 10:39:14
So you know, a key takeaway for anybody who's thinking about this is is you don't want to have to assign hitting permissions.

[Erin Nettifee] 10:39:22
People need to do it because of different troubleshooting and broken functionality and stuff like that.

[Erin Nettifee] 10:39:27
We're trying to get the project to the point where you don't have to do that stuff.

[Erin Nettifee] 10:39:31
But it's going to be a reality, I think, for many more releases.

[Erin Nettifee] 10:39:36
But that's just a nuance that I don't think bulk edit can get around right. That's just Sydney.

[Erin Nettifee] 10:39:40
Wants of the permission structure. And so, you know, there, there are some questions we need to think about like in the scenario.

[Erin Nettifee] 10:39:50
What if I I assigned this book at a permission about Bob, and I want to remove it from Bob.

[Erin Nettifee] 10:39:57
But Bob can't see it right like there's kind of there's gonna be different.

[Erin Nettifee] 10:40:01
Different scenarios that need to be accounted for

[Erin Nettifee] 10:40:08
I don't know if that made sense at all.

[Jennifer Eustis (she/her)] 10:40:13
No, it it it did. And and I think you're right right now.

[Jennifer Eustis (she/her)] 10:40:18
The the hidden permissions are, are are causing, I mean, it seems as though they're in flux, you know.

[Jennifer Eustis (she/her)] 10:40:23
So, and we're still trying, I think, to iron out some things like, you know, I import edifact invoices, but I I'm not in acquisitions person.

[Jennifer Eustis (she/her)] 10:40:35
So, but I have to have all the information, for you know, for finance and all that. Yeah.

[Erin Nettifee] 10:40:40
So right. So the workaround for an institution is documented.

[Erin Nettifee] 10:40:46
The workaround is that the institution needs to create a permission set that's visible and put all those hidden permissions into that visible permission set and then assign the visible permission set to you right.

[Erin Nettifee] 10:40:58
You don't want to work with the hidden permissions on an individual user level.

[Erin Nettifee] 10:41:02
But some places still do it, and they can have valid reasons to think it's the best way to do it.

[Erin Nettifee] 10:41:06
But they're gonna run into problems here. Yeah.

[Jennifer Eustis (she/her)] 10:41:10
And and some of that functionality is at least for data import and invoices is being fixed.

[Jennifer Eustis (she/her)] 10:41:16
I think it's like orchid

[Erin Nettifee] 10:41:16
Sure, sure.

[Magda Zacharska] 10:41:19
Still a Erin. I have a question if the if the institution selects the permissions sets around and they create a permission set, do the permissions are assigned or unassigned on the permission set level right so

[Erin Nettifee] 10:41:37
That is, that is the way that you would do it if you were using that work around. Yes.

[Magda Zacharska] 10:41:40
And the behavior is exactly the same as you would assign one or one specific permission.

[Erin Nettifee] 10:41:45
Right. So a permission set can be identified in the underlying data because it's mutable equals.

[Magda Zacharska] 10:41:47
Okay.

[Magda Zacharska] 10:41:54
Okay. So I have

[Erin Nettifee] 10:41:54
True. That's the value that says Hey, this is a permission set.

[Erin Nettifee] 10:41:58
That somebody made

[Magda Zacharska] 10:41:59
So this is the example of the permission in the permission set, which is the permission.

[Erin Nettifee] 10:42:06
Right, and so there, you can see that it's mutable equals, false.

[Magda Zacharska] 10:42:07
Oh!

[Erin Nettifee] 10:42:10
This is actually this is provided by MoD inventory right?

[Erin Nettifee] 10:42:14
So this is an example of a permission where, if this was assigned to somebody, it would be.

[Erin Nettifee] 10:42:20
They would show ui inventory the all dash permissions dot temporary right.

[Erin Nettifee] 10:42:25
But if I needed to let's say that for Jen I Jen, only needed browse dot contributors, dot instance dot collection dot get right.

[Erin Nettifee] 10:42:36
She just needed that one little individual thing, the workaround, is for me to go into settings in folio and create a permission set that's called, you know, contributor, browse workaround.

[Erin Nettifee] 10:42:48
Then I assign brows, dot contributors, for instance, to that permission set, and then I assign premise should set work around to gener, and when I do that, then Jen's permissions could be managed just like anything you don't have to worry about the hidden permission part of it

[Magda Zacharska] 10:42:51
Okay.

[Magda Zacharska] 10:43:05
Okay. Okay.

[Erin Nettifee] 10:43:06
And and, Magda, I'm happy to talk with you more, and work this through outside this meeting.

[Magda Zacharska] 10:43:09
I will, definitely. Yes.

[Erin Nettifee] 10:43:12
Cause. I know this is really complex.

[Magda Zacharska] 10:43:15
Well, I thought that would be simple, but apparently it is not

[Erin Nettifee] 10:43:20
So there is on right now on docks off folio.

[Robert rscheier@nelib.org] 10:43:20
Okay.

[Erin Nettifee] 10:43:26
There is some permissions. I'll put the link here in the chat.

[Erin Nettifee] 10:43:30
So, because I think people might find it helpful. So there is on this page a section called Visible versus Invisible Permissions, that talks about it.

[Erin Nettifee] 10:43:41
So hidden, visible, visible versus invisible, and talks about the workaround approaches and things like that, because this is something we need people to know.

[Erin Nettifee] 10:43:52
But it's it's, I think we're probably gonna have to be really explicit about, you know, user, a user B and describing some different scenarios and then describing what we what the bulk add app can or can't do because I don't think bulk

[Erin Nettifee] 10:44:09
Edit should be working around some of these things. Look at.

[Magda Zacharska] 10:44:12
Definitely, not

[Erin Nettifee] 10:44:12
It needs to work with the permission model as it's implemented, or it's in all

[Magda Zacharska] 10:44:16
So we will be calling the existing Api. So we are not planning to create a new one.

[Erin Nettifee] 10:44:22
Sure.

[Magda Zacharska] 10:44:23
So, if whatever is implemented in permissions, this is what we are going to use to make sure we are not introducing problems.

[Magda Zacharska] 10:44:36
However, as we learn already, that some of the business rules are implemented in the ui and not in Apis.

[Magda Zacharska] 10:44:45
So using Api's sometimes may be dangerous. That's why we have this conversation and I will definitely follow up with you.

[Magda Zacharska] 10:44:53
Hearing later, we have 15 min left, and I would like to go to the to the 2 more slides.

[Magda Zacharska] 10:45:01
The the next one is the. So we are on the screen.

[Magda Zacharska] 10:45:07
We decided we are going to reuse existing users lie out with the option to give the user a chance to see the record details, either through the app additional column or by making a row clickable that to be decided yet.

[Magda Zacharska] 10:45:28
But this is something that needs to happen

[Erin Nettifee] 10:45:31
Right, we're not just displaying it here. We're gonna link out to the user record.

[Magda Zacharska] 10:45:34
Yes, yes. So on the screen. User click actions, menu, start bug edit and gets to the screen that has this dropdown.

[Erin Nettifee] 10:45:35
Yeah.

[Magda Zacharska] 10:45:50
A menu that will continue dropdown control that contains only one option.

[Magda Zacharska] 10:45:57
Or we may just that would be display by default and it's a user permission.

[Magda Zacharska] 10:46:03
The action will be 2. Add or remove nothing else, and then it will be a job down, and that will be searchable with the whole list of permissions, or sets

[Erin Nettifee] 10:46:22
So, okay.

[Magda Zacharska] 10:46:25
And this would allow for multiple selection, because sometimes you would like to add

[Erin Nettifee] 10:46:31
Is it possible? Right? Is it possible in this context to leverage the existing AD perms modal that has the search functions and stuff like that?

[Erin Nettifee] 10:46:43
Because the permissions list is very

[Magda Zacharska] 10:46:44
You mean this one

[Erin Nettifee] 10:46:46
Yeah.

[Robert rscheier@nelib.org] 10:46:47
Hmm.

[Magda Zacharska] 10:46:49
I was. I was thinking about that. That would be a significant change for the ui.

[Erin Nettifee] 10:46:49
Can we

[Magda Zacharska] 10:47:00
But we can discuss this as well

[Erin Nettifee] 10:47:01
So if we go back there, so so can I. Can I do a type ahead?

[Erin Nettifee] 10:47:06
Search if I have to scroll through a list of like

[Magda Zacharska] 10:47:08
No, no, no, no, no, no, no! This is this is the type I had.

[Magda Zacharska] 10:47:13
This is similar, how the locations are working. You inventory, and we implemented it also in.

[Magda Zacharska] 10:47:20
Bucketed. So let me go to inventor

[Erin Nettifee] 10:47:23
Okay. So if I wanted something like settings users, I could start typing settings, and it would jump to settings in the list

[Magda Zacharska] 10:47:31
So here's the inventory, and if you effective such effective location.

[Erin Nettifee] 10:47:39
Sure.

[Magda Zacharska] 10:47:40
And this is

[Erin Nettifee] 10:47:43
So it's a type of head on the name

[Magda Zacharska] 10:47:44
Yes, exactly.

[Erin Nettifee] 10:47:46
Okay. Alright, that seems reasonable to me. On it. Others please chime in bye.

[Erin Nettifee] 10:47:53
I just didn't. I just was envisioning having to scroll through the whole thing, and I was like no

[Magda Zacharska] 10:47:55
No, this is my my drawing to get your your feedback.

[Magda Zacharska] 10:48:01
I also have a question, would that be required that on the same action you would like to add some permission and remove some permissions

[Erin Nettifee] 10:48:16
Yes, and the used case for that is managing deprecated permissions right?

[Magda Zacharska] 10:48:23
Oh!

[Erin Nettifee] 10:48:24
So like I've you know we've upgraded folio, and I know that these 2 permissions are deprecated.

[Erin Nettifee] 10:48:30
So I need to remove them and they're replaced by this other permission.

[Erin Nettifee] 10:48:35
So I need to add it ideally. I would do that in in one step instead of 2

[Magda Zacharska] 10:48:39
So instead of add, remove, we would need to have also a additional replace

[Erin Nettifee] 10:48:47
Or I could have 2 lines, 2 action lines right? I could have one app

[Magda Zacharska] 10:48:53
We? All are we already? We already implemented functionality for find and replace.

[Magda Zacharska] 10:49:01
So I'll discuss this a little bit with the development team and see how would you, as a user, prefer to have one replace

[Erin Nettifee] 10:49:07
Okay.

[Erin Nettifee] 10:49:14
I would prefer to have them as separate, because I think that's cleaner and my head but I don't know if others think so.

[Erin Nettifee] 10:49:23
I would be able to clearly see. Okay, I'm removing these 2 things. And I'm adding this thing because I don't know how you would indicate that you're going to replace because the it's not always a one to one match right go ahead Jennifer

[Jennifer Eustis (she/her)] 10:49:38
That's what I was. Gonna say, I think it is clearer in my mind what you want to remove, and then, you know sometimes what you need to add.

[Jennifer Eustis (she/her)] 10:49:46
Is like what you said here is not one-to-one like, you know it might be, for you know it might have been one.

[Jennifer Eustis (she/her)] 10:49:52
And now there's 4 new permissions for that.

[Jennifer Eustis (she/her)] 10:49:55
So, I I think it's just cleaner, and it's it's it's like easier to see and troubleshoot as well.

[Jennifer Eustis (she/her)] 10:50:03
Maybe

[Magda Zacharska] 10:50:08
And the other opinion

[Erin Nettifee] 10:50:10
Amanda says, agree in the chat

[Ros, Amanda L] 10:50:14
Yeah, I agree with both what Aaron Jennifer saying

[Magda Zacharska] 10:50:18
Okay? And oh, we still have 10 min. So, and the other comments on this screen

[Erin Nettifee] 10:50:31
I think nothing other than to say that I'm I appreciate that we're getting to this point.

[Erin Nettifee] 10:50:36
I think this is really needed functionality. So

[Magda Zacharska] 10:50:39
So the last screen is, are you sure? Yeah, go ahead.

[Peter Martinez] 10:50:42
I'm sorry I had one back to the last on the last screen.

[Peter Martinez] 10:50:46
This is a general interface thing. I've seen problems with ones where you highlight the ones you want.

[Peter Martinez] 10:50:55
For very long lists. If if something gets unclicked or clicked by accident, it gets missed.

[Magda Zacharska] 10:51:00
Yeah.

[Peter Martinez] 10:51:03
So I don't know what it's like other than

[Magda Zacharska] 10:51:04
No, no, this is not the. This is I highlighted it for the just to communicate the idea.

[Peter Martinez] 10:51:10
Oh, okay. I'm sorry.

[Magda Zacharska] 10:51:13
No, this is not how it would work. That's what I think will be similar to how it works here.

[Magda Zacharska] 10:51:22
Hold on. It is not working as expected. So whatever you select goes on top

[Peter Martinez] 10:51:29
Okay. I'm sorry.

[Erin Nettifee] 10:51:31
No, it's a good question, Peter. I'm glad you. I'm glad you're asked for qualification.

[Magda Zacharska] 10:51:34
It is very good question. And actually, I would like to show this.

[Magda Zacharska] 10:51:37
May be on the A. Bug edit

[Magda Zacharska] 10:52:06
I'm I'm not sure why it's everything becomes so slow right now.

[Magda Zacharska] 10:52:11
When I'm trying to show something quickly.

[Magda Zacharska] 10:52:16
And I will find something

[Magda Zacharska] 10:52:28
I selected item records because this has this location

[Magda Zacharska] 10:52:42
And here this is how it works. So this is how I envision it for the permissions

[Magda Zacharska] 10:52:52
Selecting this one, but I would like to add more.

[Magda Zacharska] 10:52:59
Oh, so in in location here, I'm able to select just one.

[Magda Zacharska] 10:53:04
Forget about this. And basically selection, the selected value will go up on the list.

[Magda Zacharska] 10:53:12
So the issue that is in my drunkenstein mocup will not be the th. The highlight.

[Magda Zacharska] 10:53:21
You will see the selected values on top. Not like this.

[Magda Zacharska] 10:53:25
I just highlighted them in in blue, because this is what I would like to be presented in the are you sure, when we got to the form?

[Magda Zacharska] 10:53:36
So we will see the same columns as we see in user records.

[Magda Zacharska] 10:53:41
With a new column. If we add new permission, we will see those new permissions listed here.

[Magda Zacharska] 10:53:50
If removed. This label will be called remote permission, and they will be listed here.

[Magda Zacharska] 10:53:59
Would that work? Or it's confusing

[Magda Zacharska] 10:54:05
Because on this screen, are you sure this is the moment before you commit your changes to the database?

[Magda Zacharska] 10:54:12
You need to know. You need to confirm that those, the permissions you are adding, or those are the permissions you are removing.

[Magda Zacharska] 10:54:23
And here we will list that, all of them. So if you are adding 10 permissions, those 10 will be listed here

[Erin Nettifee] 10:54:36
Yeah. That's a good thing just thinking out loud.

[Erin Nettifee] 10:54:41
I could see like a like sorry Bob's cat is making me laugh.

[Erin Nettifee] 10:54:46
I could see, yeah, you might have said this that, like a column for add and a column for remove, and that could be one way to do it.

[Magda Zacharska] 10:54:58
Okay.

[Erin Nettifee] 10:55:02
But again, you're also not showing like the entire list of permissions which is kind of how I might think about it in my head.

[Erin Nettifee] 10:55:08
So I, yeah, I'm not entirely sure.

[Magda Zacharska] 10:55:21
Anyone. Please speak up.

[Magda Zacharska] 10:55:32
Do we have something in the chat that

[Erin Nettifee] 10:55:37
I think people are maybe just digesting, I'm not saying any suggestions.

[Erin Nettifee] 10:55:43
I mean, if there's not a better idea than an add column in a remove column, then I would just do that

[Magda Zacharska] 10:55:49
That would be easier, because it will not require manipulation.

[Erin Nettifee] 10:55:54
Yeah, I mean, I don't. I don't see any need to like, try and combine those steps into this display, or anything like that.

[Magda Zacharska] 10:55:54
Good.

[Magda Zacharska] 10:55:59
And also you, as you specify, you will have a use case when you will be adding one and removing or removing one and adding one.

[Magda Zacharska] 10:56:11
Then you will need to have them both display. Okay, so this is it for the permission set.

[Erin Nettifee] 10:56:14
Right.

[Magda Zacharska] 10:56:23
We have 4 min left

[Magda Zacharska] 10:56:29
This is the I will skip the the the examples of supported queries.

[Magda Zacharska] 10:56:36
We will come back to them next week. But for the last 4 min maybe we can take a look at the use cases.

[Magda Zacharska] 10:56:48
We have the the list of use cases bucketed use cases that was created long time ago.

[Magda Zacharska] 10:56:55
I revisited the page few weeks ago, and then assign Giras to

[Magda Zacharska] 10:57:09
To those that I was able to. So we know what which one will be address in which Jira, some of them will require additional address.

[Magda Zacharska] 10:57:22
This is, this is what I added in the comments, but there were.

[Magda Zacharska] 10:57:29
There were a few

[Magda Zacharska] 10:57:33
Use cases that I either don't, didn't understand the flow, and I would like to get a little bit more details, or some of them, I think, could be addressed by the export and import workaround, which I don't think we need to replicate in bucket I may be wrong.

[Magda Zacharska] 10:57:58
But this is what I was thinking. So in the list that is here.

[Magda Zacharska] 10:58:05
Those numbers that are listed are, are the numbers of the use cases from from our list

[Magda Zacharska] 10:58:16
And the first example is to

[Magda Zacharska] 10:58:25
In setting the the code that into 0 for all 0 for 0 field.

[Magda Zacharska] 10:58:36
We are not planning to do

[Magda Zacharska] 10:58:40
Source record storage buck editing, probably until late 2,024.

[Magda Zacharska] 10:58:51
When I look at the high level, a roadmap, and I'm wondering if this is really something that we would need to be concerned, or what the workaround which export import the and if it if it doesn't, then would be possible to get a little bit more information about the use case, why this is

[Magda Zacharska] 10:59:17
Needed.

[Jennifer Eustis (she/her)] 10:59:27
Do we know who created the use case originally

[Magda Zacharska] 10:59:33
29,

[Magda Zacharska] 10:59:45
So this will be again the question for someone from Michigan State, or I can follow up with Molly.

[Magda Zacharska] 10:59:56
But if we have Michigan state here, representatives, maybe they can share a little bit more. I like

[Magda Zacharska] 11:00:05
It's top of the hour we will come back to this next time.

[Magda Zacharska] 11:00:13
One, once in when we met when we meet in 2 weeks in the meantime I will follow up with you on the in the process to available status change, and and maybe I will have some additional questions related to permissions, thank you very much for your time and feedback and

[Magda Zacharska] 11:00:36
I'll see you in 2 weeks. Thank you. Bye, bye, bye, bye.

[Jennifer Eustis (she/her)] 11:00:37
Thank you. Mandela. Thanks. Bye, everyone

[Ros, Amanda L] 11:00:37
Thanks. Manga

[Ros, Amanda L] 11:00:40
Bye.


4 Comments

  1. Permissions data:

    GET https://folio-snapshot-okapi.dev.folio.org/perms/users/UUID/permissions?full=true&indexField=userId

    returns something like this:



    {
      "permissionNames" : [ {
        "permissionName" : "ui-checkin.all",
        "displayName" : "Check in: All permissions",
        "id" : "066bbe15-bf15-44d6-b39b-aa4cc7144e1a",
        "description" : "Entire set of permissions needed to use Checkin",
        "tags" : [ ],
        "subPermissions" : [ "users.collection.get", "usergroups.collection.get", "module.checkin.enabled", "inventory.items.collection.get", "inventory-storage.service-points.collection.get", "accounts.collection.get", "accounts.item.get", "lost-item-fees-policies.collection.get", "circulation.check-in-by-barcode.post", "circulation.requests.collection.get", "feefineactions.collection.get", "configuration.entries.collection.get", "circulation.end-patron-action-session.post", "circulation-storage.staff-slips.collection.get" ],
        "childOf" : [ "role-checkin-all", "role-circ-admin", "role-circ-manager", "role-circ-observer", "role-circ-staff", "role-circ-student" ],
        "grantedTo" : [ "91d6fff1-693c-4af4-bac6-88874e6dab72", "98e619b1-04a8-4782-aa06-929035de9433" ],
        "mutable" : false,
        "visible" : true,
        "dummy" : false,
        "deprecated" : false,
        "moduleName" : "folio_checkin",
        "moduleVersion" : "7.2.100000447"
      },  {
        "permissionName" : "ui-circulation-log.log-event.view",
        "displayName" : "Circulation log: View",
        "id" : "c019abdb-0872-4087-be76-6b8051b16526",
        "description" : "",
        "tags" : [ ],
        "subPermissions" : [ "module.circulation-log.enabled", "inventory-storage.service-points.collection.get", "circulation-logs.collection.get", "data-export.job.item.get" ],
        "childOf" : [ "ui-circulation-log.log-event.all" ],
        "grantedTo" : [ "98e619b1-04a8-4782-aa06-929035de9433" ],
        "mutable" : false,
        "visible" : true,
        "dummy" : false,
        "deprecated" : false,
        "moduleName" : "folio_circulation-log",
        "moduleVersion" : "2.3.100000109"
      }, {
        "permissionName" : "7a9b5bd8-05e6-46b1-8746-dd1ffa245e3a",
        "displayName" : "my test permission set",
        "id" : "7a9b5bd8-05e6-46b1-8746-dd1ffa245e3a",
        "tags" : [ ],
        "subPermissions" : [ "ui-bulk-edit.logs.view", "ui-bulk-edit.delete", "ui-bulk-edit.edit", "ui-bulk-edit.view" ],
        "childOf" : [ ],
        "grantedTo" : [ "98e619b1-04a8-4782-aa06-929035de9433" ],
        "mutable" : true,
        "visible" : true,
        "dummy" : false,
        "deprecated" : false,
        "metadata" : {
          "createdDate" : "2023-01-23T16:07:18.956+00:00",
          "createdByUserId" : "c9d6e957-f6f2-5936-9e4c-0900453ab305",
          "updatedDate" : "2023-01-23T16:07:18.956+00:00",
          "updatedByUserId" : "c9d6e957-f6f2-5936-9e4c-0900453ab305"
        }
      }, {
        "permissionName" : "ui-users.view",
        "displayName" : "Users: Can view user profile",
        "id" : "17891fdf-d860-4f7c-804a-50f4f00f086f",
        "description" : "Some subperms can be deleted later when submodules use modern permission names",
        "tags" : [ ],
        "subPermissions" : [ "module.users.enabled", "users-bl.collection.get", "users-bl.item.get", "addresstypes.collection.get", "users.collection.get", "users.item.get", "usergroups.collection.get", "configuration.entries.collection.get", "user-settings.custom-fields.collection.get", "user-settings.custom-fields.item.get", "user-settings.custom-fields.item.stats.get", "departments.collection.get", "departments.item.get" ],
        "childOf" : [ "ui-users.edit", "ui-users.viewperms", "ui-users.viewuserservicepoints", "ui-users.viewproxies", "ui-users.feesfines.view", "ui-users.loans.view", "ui-users.loans.all", "ui-users.requests.all", "ui-users.reset.password", "ui-users.manualProcessRefundsReport", "ui-users.lost-items.requiring-actual-cost", "role-acq-admin", "role-acq-manager", "role-acq-observer", "role-acq-staff", "role-circ-admin", "role-circ-manager", "role-circ-observer", "role-circ-staff", "role-circ-student", "role-erm-admin", "role-erm-manager", "role-erm-observer", "role-erm-staff", "role-user-basic-view" ],
        "grantedTo" : [ "98e619b1-04a8-4782-aa06-929035de9433" ],
        "mutable" : false,
        "visible" : true,
        "dummy" : false,
        "deprecated" : false,
        "moduleName" : "folio_users",
        "moduleVersion" : "9.0.1000002621"
      }, {
        "permissionName" : "ui-users.loans.view",
        "displayName" : "Users: User loans view",
        "id" : "8c8998e4-04e0-4d6a-9f78-fe6c27268644",
        "description" : "Also includes basic permissions to view users",
        "tags" : [ ],
        "subPermissions" : [ "ui-users.view", "circulation.loans.collection.get", "circulation.requests.collection.get", "circulation-storage.loan-policies.collection.get", "circulation-storage.loans-history.collection.get", "circulation-storage.circulation-rules.get", "circulation-storage.fixed-due-date-schedules.collection.get", "accounts.collection.get", "comments.collection.get" ],
        "childOf" : [ "ui-users.loans.all", "ui-users.lost-items.requiring-actual-cost", "role-acq-admin", "role-acq-manager", "role-acq-observer", "role-acq-staff", "role-circ-admin", "role-circ-manager", "role-circ-observer", "role-circ-staff", "role-circ-student" ],
        "grantedTo" : [ "98e619b1-04a8-4782-aa06-929035de9433" ],
        "mutable" : false,
        "visible" : true,
        "dummy" : false,
        "deprecated" : false,
        "moduleName" : "folio_users",
        "moduleVersion" : "9.0.1000002621"
      }, {
        "permissionName" : "ui-users.requests.all",
        "displayName" : "Users: View requests",
        "id" : "d352f59a-6369-44fd-b951-357960e1c639",
        "description" : "Also includes basic permissions to view users and loans",
        "tags" : [ ],
        "subPermissions" : [ "ui-users.view", "circulation.loans.collection.get", "circulation.requests.collection.get", "circulation.requests.item.get", "circulation-storage.cancellation-reasons.collection.get", "circulation-storage.loans.collection.get", "circulation-storage.loans.item.get", "circulation-storage.requests.collection.get", "circulation-storage.requests.collection.delete", "circulation-storage.requests.item.get", "circulation-storage.requests.item.delete", "circulation-storage.circulation-rules.get", "circulation-storage.fixed-due-date-schedules.collection.get", "inventory.items.collection.get", "inventory.items.item.get", "inventory.instances.item.get", "inventory.instances.collection.get", "inventory-storage.items.collection.get", "inventory-storage.items.item.get", "inventory-storage.holdings.collection.get", "inventory-storage.holdings.item.get", "inventory-storage.instances.item.get", "inventory-storage.instances.collection.get", "inventory-storage.locations.collection.get", "inventory-storage.location-units.libraries.collection.get", "inventory-storage.material-types.collection.get", "circulation-storage.loan-policies.collection.get" ],
        "childOf" : [ "role-acq-admin", "role-acq-manager", "role-acq-observer", "role-acq-staff", "role-circ-admin", "role-circ-manager", "role-circ-observer", "role-circ-student" ],
        "grantedTo" : [ "91d6fff1-693c-4af4-bac6-88874e6dab72", "98e619b1-04a8-4782-aa06-929035de9433" ],
        "mutable" : false,
        "visible" : true,
        "dummy" : false,
        "deprecated" : false,
        "moduleName" : "folio_users",
        "moduleVersion" : "9.0.1000002621"
      } ]
    }

  2. Erin Nettifee  -  The records that would be affected by the bulk editing as defined in  UXPROD-3468  are user permissions, not the permissions itselves   It will be an equivalent of editing user profile to add or remove permission.

    Here is the example of the API call that gets the records:

    GET /perms/users

    Response example
    {
    	"permissionUsers": [
    		{
    			"id": "56f0a7a7-ab17-4cee-aaa6-d24ecd207eef",
    			"userId": "71f28723-784e-4292-b794-af4ffca9178e",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.797+00:00",
    				"updatedDate": "2023-01-20T01:54:10.797+00:00"
    			}
    		},
    		{
    			"id": "f418102b-0ac3-427c-9ddf-77b7ae4a3833",
    			"userId": "16757efe-86ac-40bb-bdd6-fafee02463c7",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.835+00:00",
    				"updatedDate": "2023-01-20T01:54:10.835+00:00"
    			}
    		},
    		{
    			"id": "06900c69-1b16-4fe3-a54d-acc9cdc34bf5",
    			"userId": "e63273e7-48f5-4c43-ab4e-1751ecacaa21",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.839+00:00",
    				"updatedDate": "2023-01-20T01:54:10.839+00:00"
    			}
    		},
    		{
    			"id": "822d4b39-f3bd-4745-a434-e7554ddeac6b",
    			"userId": "54f65a75-f35b-4f56-86a6-fa4a3d957e57",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.837+00:00",
    				"updatedDate": "2023-01-20T01:54:10.837+00:00"
    			}
    		},
    		{
    			"id": "c61c34ec-8d45-4dd8-96ef-7e26ee12d6aa",
    			"userId": "2c9e8cdd-d2fe-485b-b663-34225637fe93",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.840+00:00",
    				"updatedDate": "2023-01-20T01:54:10.840+00:00"
    			}
    		},
    		{
    			"id": "b695efa8-009c-4611-97f5-0abb096d114c",
    			"userId": "66fe5bd9-1129-4b40-b54d-05b4c358463c",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.879+00:00",
    				"updatedDate": "2023-01-20T01:54:10.879+00:00"
    			}
    		},
    		{
    			"id": "781f4898-34ae-49f1-9bd8-ee4ee225f57c",
    			"userId": "0a246f61-d85f-42b6-8dcc-48d25a46690b",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.893+00:00",
    				"updatedDate": "2023-01-20T01:54:10.893+00:00"
    			}
    		},
    		{
    			"id": "56446786-7e30-4b3d-90c0-36bd71fe18b0",
    			"userId": "8e9d1a69-9745-4ad4-a8e8-6841a9441b40",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.895+00:00",
    				"updatedDate": "2023-01-20T01:54:10.895+00:00"
    			}
    		},
    		{
    			"id": "e5b52eb4-93f5-4402-81c9-33d8a9daa4ca",
    			"userId": "7597bd13-9f57-4cd1-a7cf-dc0ac7375280",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.898+00:00",
    				"updatedDate": "2023-01-20T01:54:10.898+00:00"
    			}
    		},
    		{
    			"id": "b5dcb0fd-58d9-4b23-aed2-0f1fe6df5f42",
    			"userId": "0ab0736b-57ba-404c-9b17-d94de2cf4d9a",
    			"permissions": [],
    			"metadata": {
    				"createdDate": "2023-01-20T01:54:10.900+00:00",
    				"updatedDate": "2023-01-20T01:54:10.900+00:00"
    			}
    		}
    	],
    	"totalRecords": 347,
    	"resultInfo": {
    		"totalRecords": 347,
    		"facets": [],
    		"diagnostics": []
    	}
    }



    1. OK - but if I wanted to, say, query for a list of individual users, it wouldn't use /perms/users/UUID? That's what's listed above. I guess I just have "full=true" on, which provides more information than strictly needed. (That is what the Users UI does - I copied that from Chrome developer tools.)


  3. How permissions for the bulk edit should be identified

    Permissions UUIDs (or should it be permission names or permissions display name?)
    Should the hidden permissions be also bulk editable?

    Complex question:

    • A permission has two fields that provide naming functionality - the permissionName and the displayName.
      • If the permission is provided by the module ("mutable": false) then what you see in the UI as the name is actually a translation of the permissionName, not the displayName.
        • e.g., "Users: View Requests" (package.json definition) has a displayName of "Users: View requests",  but what you're seeing in the UI is actually from the translation value (github link). VERY confusing for English speakers, because 99 percent of the time, the displayName and the translation are exactly the same. But, if your FOLIO was in German, you would see "Personen: Bestandsanfragen anzeigen" instead (github link)

      • If the permission is a permission set created by the FOLIO library (a "permission set"), then ("mutable": true). FOLIO saves the name you give the permission set as the displayName of the permission, and it automatically creates the permissionName as a FOLIO UUID. There is no translation value - Stripes displays the displayName. See example in comment above - "My test permission set"
    • Permissions where "hidden"=true should be bulk editable, but only if they are assigned directly to the user, not if they are subpermissions. Bulk editing subpermissions risks changing the definition of a defined module permission and breaking functionality.