SmartObjectServiceFunctions – Authentication Failed: The target principal name is incorrect
When you receive an error when trying to Create CRM Entity Item within K2 Studio.
As a result you are unable to connect to the CRM Server despite being able to use the Smart Object Tester to create records using the relevant Smart Object.
You can resolve this issue by refreshing the ‘SmartobjectServicefuction’ service instance and service object. After this you should be able to drag in the event to any activity within studio.
Note: use the server tool ‘SmartObjects Service Tester’ to refresh it.
In this article we will learn how to use one of the K2 blackpearl destination rule – Plan per slot (no destinations).
The K2 blackpearl Plan per slot (no destinations) Destination Rule can be used for activity with server events. K2 User Destinations cannot be configured when plan per slot is used and the server creates one instance per slot. Each instance will have its own activity data fields.
By using Plan per slot and SmartObject event we will update all inactive users as active and send a notification. In the below image we can see there are 3 inactive users in table.
Select Destination Rule for activity and run in advanced mode, select plan per slot (no destinations) and destination rule has two options:
1) Can select number of slots to be created (static)
2) Number of slots will be created based on the number of records returned by the Smartobject List Method (Dynamic)
In our case, we have selected the EmployeeInfo.List.ID list field on the Destination Rule Options page and mapped Active property value as false.
This will create a slot for each inactive users
In Smartobject Update method Map value for ID as ActivityInstanceDestInstanceData and Active as true.
This will update all the Inactive users as active and notify the users.
We can set a Succeeding Rule for activity to check whether all slots of the Activity Instance “Active Datafield” is set to True. Once all the instances complete, the succeeding rule executes and thus process moves to completed state.
Let’s say you have a client event assigned to a role containing N people. The succeeding rule is such that everyone must complete their task before the activity completes. You want to send a reminder email to only those members of the role who have not completed their task after some amount of time but not bother those who have already completed.
You can do this easily! Follow these simple steps:
- Configure your client event as usual
- On the activity, go into advanced mode for the destination rule and make the following changes:
- Plan per destination | All at once
- Create a slot for each destination
- Resolve all roles and groups to users
- Right-click on your event and set up your email escalation
- On the Email Settings page, click Specify next to Recipient
- Open the context browser for the To field, go to the Workflow Context Tab, and drill down into Activity Destination Instance and select the user email
That’s it! Now only those members of the role who have not completed their task by the escalation time will receive an email. A key thing to remember here is to use the Activity Destination Instance user and do not just click theDestination box for the To field. If you click the destination option, an email will be sent to every member of the role, even if they have completed their task.
Keep in mind, the plan all at once option uses more server resources than plan just once, so if the number of slots is large then you probably should not use this technique.
You cannot remove a SmartForms integration after you have deployed the workflow. What you can do is to copy and paste the activities and lines to a new workflow and continue from there on.
Using the “Advanced Condition” to validate the control, you should be able to validate the control against the following values (and all capitalization thereof):
Originally posted on the K2 Underground on Fri., Nov. 29, 2013 You’re developing in K2 Studio and need to iterate over some data. This document will show you how to create a loop using workflow activities and events. Create-a-Loop-Using-Workflow-Activities