Niks
Novice

Role Refresh Issue

Hi,

I had created SQL SO using Store procedure.

 I have used this Smartobejct in one of my Roles. in my destination i had include that role. but somehow  the  roles are not get refresh. I have included the new user but still task is assign to OLD users. 

I had check in below table for newly added user but i cant see newly added user in this.

 [Server].[DestQueueUser] 

Even i had selected the dynamic refresh method as well and manually refrsh over their as well

 

Could you please let me know what was the issue. Why roles cant refresh.??

 

ANy method to refresh roles quickly.

 

Thanks

Reply
9 Replies
Mike_K2
Apprentice

Re: Role Refresh Issue

Hi Niks,

 

This is likley due to the identity cache not having updated yet with the new user in the role.  You can test my theory here by forcing the expiration of the role as descirbed in the documentation below, specifically in the description of the Identity.Identity table.

 

http://help.k2.com/onlinehelp/k2blackpearl/icg/current/webframe.html#tweaking_identity_cache_perform...

 

You can adjust the settings for refresh as well, and by default it updates every 8 hours.  Changes to these settings should be carefully considered, as they can have a negative effect on LDAP performance if the cache is refreshed too frequently.  The impact largley depends on the size of your active directory, as K2 essentially caches the entirety of active directory users/groups in the database, and then adds appropriate K2 permissions to that identity store.

 

This tool may be of help http://community.k2.com/t5/General-K2-Utilities/Force-Identity-Service-Refresh/ba-p/74061

Also, if you wish to update the entire cache, a tool exists for that purpose too, however, that tool carries with it the same effects as adjusting the timeout.

 

If you are building workflows/forms that will provision new users/update group membership (an onboarding app for example) , you may wish to configure that process to complete 8 hours prior to an expected start time/date, that way your users do not see the delay.

 

Regards,


Mike

Reply
tin
Apprentice

Re: Role Refresh Issue

Is this a non-dynamic role?  Perhaps try the following:


 


- Expire the role in the identity services cache by running the ForceIdentityRefresh tool > specifying the role name, the type 'role' and the category 'memberships' to expire this role's membership



- Opened SmartObject Services Tester and manually executed (UM User > Get Role Users) (execute method more than once) to confirm that the Identity Service has updated the role to reflect members changes


 


- Go to workspace and goto [server:port] > Workflow Server > Processes > [solution] > [process] > Roles.



- Select the role and click the "Refresh" button. (This can be done from any process that uses the role.)

0 Kudos
Reply
Niks
Novice

Re: Role Refresh Issue

Hey Mike / Tin,

Thanks for your reply.

On friday i had added one user in role but till today i dont see roles are getting refresh.

 

I have tried both approch but nothing is working for me. I had update the RoleCacheTimeout to 30 min for testing purpose. but still no luck. Somehow my roles are not getting refresh.

I had updated the entire cache using force identity tool and the run UM User > Get Role Users method but still i dont see any result in Get Role Users method.

what will be the issue. 

any suggestion to troubleshoot this issue.

 

Thanks.

0 Kudos
Reply
tin
Apprentice

Re: Role Refresh Issue

1.  Is the Smartobject Service Tester Tool pointed toward the correct K2 environmentserver?


 


2.  Please also make sure that the same RoleName is inputted in the Smartobject Service Tester Tool.  I believe the method will also return no result if the role name is incorrect.

0 Kudos
Reply
Niks
Novice

Re: Role Refresh Issue

Yes i had enter correct name.I can able to see the columns names but no records can be disply.

 

0 Kudos
Reply
khanh1
Apprentice

Re: Role Refresh Issue

Hi Niks,


 


I believe K2 role is working a bit differently, the new process instances that use that role, will be updated with the new users. The process instances that has been started before the change, will still have the "old role values".


 


As a test, can you start a new process instance and see if the new user is getting the task.


 


Regards,


Khanh

0 Kudos
Reply
Niks
Novice

Re: Role Refresh Issue

Hi Khanh,

Yes i had deploy and start new process  still it not getting reflected. Each time its goes into error state with error message "Client must have one destination".

If i had added SO in roles will it work same as we add any user in that roles?

0 Kudos
Reply
khanh1
Apprentice

Re: Role Refresh Issue

Hi Niks,


 


I tested this in my vm and I cannot reproduce the issue. When I force a refresh of the K2 Role from the processes node ([server:port] > Workflow Server > Processes > [solution] > [process] > Roles), it always successfully refreshes the [Server].[DestQueueUser]  and the [DesQueue] tables. Can you check the timestamp on NextUpdate column from [DestQueue] table for the K2 Role in question? It should reflect the date/time that you refresh the role.


 


If you create a new K2 role and re-assign the  event's destination set to use the new K2 role. Does this work?


 


-Khanh-

0 Kudos
Reply
Niks
Novice

Re: Role Refresh Issue

Hi Khanh,

Thanks for help.

 

My roles are getting refresh in 1 min. i can see the updated timestamp.

 

Can we used Store Porcedure as SO in Roles?? If yes will it create user entries in [Server].[DestQueueUser]??

I can see My SO entries in [DesQueue] tables but related user are not getting populated in [Server].[DestQueueUser] table. 

what will be the issue?

 

 I had attched the screenshot for same.in  this GAW_getApproval is Procedure which fetch data from my SQL table

 

Select * from [dbo].[K2_ApprovalList] order by ASC ID

.If you create a new K2 role and re-assign the  event's destination set to use the new K2 role. Does this work?- Ni its not work in any case. :(


sw_1618.png
0 Kudos
Reply