Applies to: SharePoint On-Premises (SharePoint Server Subscription Edition)
This article lists the fixes for common issues in Crow Canyon Workflow Manager for SharePoint On-premises.
- Workflows configured on list are not working
- Workflows configured on a list are not working for specific users
- Workflow Manager page doesn’t show any configured workflows
- Infinite loop of execution
- Columns are not shown in Condition builder control in Workflow Manager
Workflows configured on a specific list are not working for any user whereas for other lists workflows are working fine
This may happen if events are not getting fired for a particular list. This can be the case if event receivers registered for this list are corrupted.
We can validate this by enabling the information logs for Crow Canyon Workflow Manager solution. Please refer #6 from this article to enable logs.
If the logs are not being generated (even after enabling the information logs and ensuring that everyone has required permissions on log folder as described in above article) then it is likely that events are not getting fired.
You can confirm this by triggering workflows on other lists where workflows are working and checking that logs are getting generated.
Using SharePoint Manager, navigate to the list that has the issue -> expand “Event Receivers” node -> Remove all the event receivers registered on the list.
We have to reactivate the corresponding feature for every event receiver that is being deleted, sample event receiver names and corresponding feature names are listed below
|Process to Recreate
|Crow Canyon Workflow Manager Feature: CrowCanyonWorkflowManager
|Deactivate Crow Canyon Workflow Manager feature and activate Workflow Manager feature for the Site Collection.
Note: Feature deactivation / activation need to be done using command prompt for Workflow Manager. Refer instructions from this article
|Crow Canyon Product Workflows
|Deactivate and Activate “CCS SR Event Receiver V3.6” feature for the site.
Refer instructions from this article.
With the above steps, new event receivers get attached to the list and the workflows should work as intended. Workflows configured on a list are not working for specific users
Workflows configured on a list are not working for specific user(s). Workflows may be working for users with higher privileges like Site Collection administrators.
Crow Canyon Workflow configuration settings are stored in a hidden list in root site of the site collection. Event based Workflows like Item Added, Updated, and Deleted will run in user context and if the user doesn’t have required permissions on the root site, workflow execution will fail as it will not be able to read the settings from the root site.
Go to root site -> Site Settings -> Users and Permissions -> Site Permissions -> Grant “Read” permission on the root site for Everyone.
Workflow Manager page doesn’t show any configured workflows and keeps showing the loading image as shown below:
This can happen if large number of workflows are configured in a site. Workflow Manager Configurations are stored in JSON format and if there are large number of workflows then the JSON length will be larger and it fails to get the data.
Please refer https://www.crowcanyon.help/article/283/ that has steps to increase the MaxJsonLength property for SharePoint Web Application.
After the above step, please do IISRESET in all the SharePoint servers.
‘NITRO Workflows’ settings page is not loading
This issue can happen if the application pool account doesn’t have permissions on SharePoint configuration or web application content database.
Grant permissions for the application pool account on SharePoint configurations and web application content database.
Please refer this article to grant permissions on configuration database and content databases.
Workflows are triggered by actions of other workflows in an infinite loop
This could happen if a workflow is configured to update the same item without any conditions. Or a workflow creates an item in the same list on item creation event without any conditions.
This could happen even with the workflows that have conditions. For example, consider a workflow to update “Closed Date” when the “Task Status” is equal to “Closed”. In this case, when the Task Status is changed to Closed, this workflow will update the task item to set the Closed Date. However, this update will trigger this Workflow again as workflow is configured to run on item update event and task status is still equal to ‘Closed’ and thus the conditions are matched.
Configure the workflow with the appropriate conditions such that it does not go into infinite loop. We can use “afterchange:value” to eliminate infinite loop for the above example. This will ensure that Workflow to update ‘Closed Date’ will run and update only when status has changed first time. In subsequent updates, the status value is already ‘Closed’ and it has not changed, so workflow will not update the task item.
Also, there is an option in Workflow settings to “Disable event fire” on item create/update. With this option, item create/update doesn’t not trigger the workflows and so it won’t get executed repeatedly.
Please refer below screenshot for above options:
In Workflow Manager, condition builder control is not showing any columns for the selected list.
This could happen if there are large number of columns that need to be shown in the condition builder and resulting data is exceeding the maximum allowed JSON length.
Note that condition builder shows the columns from the current list (list on which workflow is configured) and also the columns of all the lists for which there is a lookup column in the current list.
- Increase the maxJsonLength property to its maximum value for Web Application. Please refer instructions from this article
- Optimize the list columns
- Check if there are any unused lookup columns that can be removed from the list
- Use short names for the columns. We can use the column description for adding more details to column and show the description on the list forms instead of having really big and descriptive column names
- If possible, restructure the lists by creating associated lists and moving some of the columns to these lists. This may not always be a feasible option though