Nintex is a robust 3rd party SharePoint workflow tool, which allows power users to quickly create workflow processes within SharePoint, using a rich GUI. Nintex is working on top of SharePoint workflow engine, using SharePoint API.
Here are some of the Best practices you should follow when developing Nintex workflows:
- Detailed requirements are needed for each Nintex workflow project since it usually serves a business process which may change over time. The requirements provide a starting point for any user to understand the logic implemented during development. Include the following in your requirements:
- Current process description.
- Who initiates the process and requested the workflow?
- A workflow diagram with the description of the overall process and different step/Action.
- Why automation is needed, what we want to accomplish through automation.
- History retention plan – for how long we need to maintain historical workflow data.
- Usage evaluation – how many users will participate in the workflow.
- Based on the scope of the workflow an IT project may need to be created to support multi-user development and expenses.
- Keep it simple – try to achieve your objective in the least number of steps/actions. If you have a complicated multi-step workflow, consider breaking it into smaller independent workflow units. These are the benefits:
- Efficiency – This will reduce server load and increase performances.
- Flexibility – when you need to change the workflow based on the business needs, by dividing the workflow into different overall tasks you can target different areas within the workflow.
- Reusability – braking a complex workflow into smaller parts also provides an opportunity to reuse these parts in other workflows.
- Documentation and maintenance – smaller workflows are easier to understand and to document.
- Use workflow constant with meaningful names and provide additional information to describe the variable.
- Be careful when using Nintex Action that may affect performances including Execute SQL or Query LDAP.
- Use ‘Log to history list’ and ‘Build dynamic string’ to document process while they occur.
- Consider using ‘Commit pending changes action’, ‘Pause for Duration,’ or ‘Wait for Field Change in Current Item’ when your Nintex action depends on SharePoint actions to complete.
- Prevent Throttling by reducing the number of user calls, especially when using loops within your workflow.
- Backup your work and save it as export packages.
- On every major version describe the changes.
- Consider using input parameters to make your workflow more generic.
- Describe the workflow’s underlying data.
- Provide test cases.
- Provide bug fixes descriptions with log on how bugs were handled.
- Use the workflow constants when you need to use high-level access rather than hard-coded credentials.