Skip to main content

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.

 

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

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_performance_for_the_k2_server.html

 

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


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 tserver:port] > Workflow Server > Processes > tsolution] > tprocess] > Roles.



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


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.


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.


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

 


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


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?


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 eDesQueue] tables. Can you check the timestamp on NextUpdate column from oDestQueue] 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-


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 iServer].eDestQueueUser]??

I can see My SO entries in  DesQueue] tables but related user are not getting populated in 

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 edbo].fK2_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. :(


11508iAA7488E623B09789.png

Reply