Using Glide Lists and Transform Maps

Harry Campbell2
Mega Guru

Hello Everyone,

I need a bit of help setting up a transform map.

Say I have an excel spreadsheet with the following data:

UsernameServiceRolesUser
JDOESERVICENAMEROLE1John Doe
JDOESERVICENAMEROLE2John Doe
JDOESERVICENAMEROLE3John Doe
MRBSERVICENAMEROLE2Mr B
MRBSERVICENAMEROLE3Mr B

I have created an 'Identity' table with fields matching those in the table.

Username: String

Service: Reference Field (cmdb_ci_service)

Roles: List (u_business_service_roles)

User: Reference Field (sys_user)

When I am importing, a seperate record is created for each line.

What I want to do is create one record for each username, and the roles for each username are added to the glide list on the record.

I have actually fixed this issue, the problem i am having now is that the role in the glide list is removed and replaced with the one on the next row.........I need it to be added to the list not replace what was there.

Is this possible, I have been messing about with it all day and not getting anywhere.

I will be creating multiple import sets for each of our applications, some users & usernames will be the same but will obviously use a different business service.

Thanks

Harry

4 REPLIES 4

Chuck Tomasi
Tera Patron

Hi Harry,



Before I get in to a technical solution, can I ask why you want to do a glide list with multiple roles rather than a single user-to-role relationship? From a data management and reporting issue, the identity table you have created with single references is going to be easier in most cases. Which is why I'm curious to know what the overall goal/objective/requirement/use case is here.


Hi Chuck, the idea here is that when a user leaves our company, my catalog item references the identity table (Business Service Set as the Display Value) to see what the user has access to, and a catalog task is created for each application is created to remove access. This is done in a list collector where the applications they have access to are automatically selected.



With the single user to role relationship........I am seeing the following in my list collector:



User: JDOE



SERVICENAME


SERVICENAME


SERVICENAME


SERVICENAME


SERVICENAME1


SERVICENAME1



Then a catalog task is created for each Individual role the user has.



I did look into list collectors only displaying unique values but apparently it's not possible.



Hope that makes sense



Thanks


Harry


Thanks for the update Harry. This makes total sense.



My recommendation is to have your import coalesce on the user/service. You can then check if the operation is an insert or update. if it's an update, then you simply take the role and append the new role entry to it.



While I haven't checked this in a while, you should be able to use the operation() method on the target record in your transform script. For example:



if (target.operation() == 'update')


        // add role sys_id to the glide list here



This may help your transform scripts be a bit easier to manage:


Managing Glide Lists


Hi Harry,

 

I am wondering to see the solution for this case, i have similar requirement i am tried it always overrides the existing value.

 

Regards,

Balaji