Reading time: 5 minutes
Nintex Workflow — 10 steps to avoid problems with implementations
16 / 08 / 2017
Nintex Workflow is a tool for creating workflows integrated with SharePoint. It includes a graphical workflow designer for quick an easy placement of blocks using drag and drop method; using the designer tool, you can model advanced workflow features on a SharePoint platform. The user can create workflows directly on the list, in library or for the complete web site.
The users of Nintex Workflow can easily automate business processes,starting from simple workflows, such as: submitting vacation requests and approval of vacation requests, acceptance of documents, management of business trip documentation via comprehensive integration in external applications, cloud services and other data sources.
Although, Nintex has a user friendly interface and lots of closed features in the form of blocks for advanced configuration, you should remember that the design and implementation of a workflow requires due attention. If you are not experienced and still decide to implement processes, you might end up thinking that the tool is so simple that you can do everything — easily and quickly. People approaching the implementation in this way are bound to end up in trouble, just as an inexperienced programmer wishing to write a large system using any programming language.
Using Nintex Workflow, you’re implementing a business logic. You create algorithms which are then transformed into active system functions. There are elements known from programming languages, such as loops and conditional instructions. Remember that you can create a sloppy workflow in the same way that a programmer can write a sloppy code. If you were to develop a workflow step by step without thinking over all of its aspects, you would end up with an unreadable diagram which is of little use, and could possibly contain many unnecessary structures. With such a process, it would be really difficult to correct the existing errors or introduce functional changes without damaging the previous functions. In addition, if you are building a complex process, you can come across “risky” areas which can be found in any IT project.
Below are just a few tips for avoiding problems in the implementation of processes using Nintex Workflow
1. There is a number of practical solutions to avoid problems with efficacy associated with recording of events (each action is stored in the database which leads to quick “inflation” of the database and taking up of a lot of disk space which results in much slower operation (jobs) within the workflow.
One method for delays in the workflow (effective for the specific list and for many components) or for blocked or duplicate tasks is to insert the block “Approve pending changes” after the task or after small blocks which update field elements on the list. It is also advisable to create a workflow for queueing the start-up of the main workflow for better performance, so as not to have many elements triggering the main workflow at the same time. That way, the new items will start the process sequentially.
2. Another possible solution is to use the momentary Pauses (e.g. 1 minute pause) but due to the Nintex timer cycle (approximately 5 minutes), it is a good idea to extend the workflow’s time-outs in Sharepoint environment in web.config file.
3. A workflow may be activated manually, when creating or modifying an element. If you want to start the workflow when a specific element is changed, it is a good idea to configure the Workflow for starting a workflow when an element is being modified but in a conditional mode, and in a specifically defined case so as not to start your Workflow when any change is introduced which would lead to unnecessary increase in the database size. This will increase the Workflow’s performance and not burden the environment. For sure.
4. To solve the problems associated with a process going into the wrong status (or process path) when using State machine, simply replace a small block for status computer with Loop function complete with a Switch small block which is much more stable than the status computer.
5. In order to quickly identify and find the location of changes, it is worth adding descriptions to small blocks for the individual steps in the workflow. This will also allow for quicker identification of the process situation by persons modifying the workflow.
6. To process the complex and lengthy processes, you can split a single large Workflow into several smaller ones, with the main Workflow starting sub-flows. This will eliminate most of the problems associated with time-outs, faster detection of location and the cause of the error in a flow, and also avoid repeating the lengthy and complex process. But this requires a good understanding of the entire business process divided into sub-processes, which will no longer be shown as a whole.
7. Logging potential errors in workflows can be successfully resolved by inserting small blocks for recording history of individual values or by setting up e-mail notifications including the selected data. Another solution is to deactivate the function of full logging under Workflow settings after previously having enabled that feature in the Central Administration.
8. The user’s discomfort associated with working using two forms simultaneously (i.e. a task issued from a workflow is located on the other form than the element for which the Workflow was started) can be eliminated by inserting into the form a task linked to the item which had been used to issue the task. Certain task types, such as “Request Data” or “Request approval” also allow you to turn on the option to view information about the item.
9. Another possible solution is to insert specific data concerning the element into a task. But if the task was generated before making the changes directly on the component, then the task will include information for the condition before the change.
10. A workflow may be activated manually, when creating or modifying an element. If you want to start the workflow when a specific element is changed, it is a good idea to configure the Workflow’s settings for starting when an element is being modified but in a conditional mode and in a specifically defined case so as not to start your Workflow when any change is introduced which would lead to unnecessary increase in the database size. This will increase the Workflow’s performance and not burden the environment. For sure.
In conclusion, Nintex Workflow is a very good and intuitive tool for creating workflows, but without learning the rules for building a workflow, you probably will find that building an extensive process is difficult for a novice user. Despite that, it is still is worth to familiarize yourself with the features and read more on the other users experiences with Nintex available on the community site Nintex.