In K2 Five, the ability to use a SmartObject method to populate a Role with users is deprecated.
Existing Roles that use SmartObject methods to determine Role membership can be upgraded to K2 Five, and will continue to function as expected in the RTM version of K2 Five (K2 Five 5.0). However, in K2 Five it is no longer possible to edit Role membership to use SmartObject methods, and the next release of K2 Five (K2 Five 5.1 and later) will prevent you from upgrading if the installer detects that there are Roles that use SmartObject methods.
You must update existing solutions to call the SmartObject methods directly (to, for example, assign workflow tasks), or alternatively modify the Role to not use SmartObject methods for membership. See below for instructions to remove SmartObject methods from existing Roles.
It is important to not use roles with SmartObject-based membership with the authorization features available in K2 Five. The Authorization Framework cannot ensure that the role membership is up-to-date when the role calls SmartObject methods. This could result in users having access to artifacts that they should not.
Removing SmartObject Membership from Roles
Follow the steps below to remove SmartObject Method membership from existing Roles.
- In K2 Management, expand the Users node in the tree
- Select the Roles node
- Select the Role to edit and click the Edit button in the toolbar
- In Members list of the Edit Role dialog, the SmartObject Method methods are the rows that list the SmartObject in the NAME column and have a blank value in the TYPE column. In the screenshot below for example, Approvers is a SmartObject method.
- Check the box next to the SmartObject method and click Remove
- Click OK to save your changes