Nintex Workflow Best Practices Part II

This is a continuation of from my previous post on Nintex Workflow Best Practices

Avoid Getting Throttled in SharePoint Online

One of the most frustrating things that can happen when running a workflow is for it to get throttled or even completely blocked. This happens when the number of user calls is too high and it exceeds a threshold. A scenario where this might occur would be updating properties or lists in SharePoint Online in a batch to keep it in sync with another line-of-business application. The result is being redirected to the throttling page with failing requests, REST calls returning a 429 "Too many requests" error, or worse getting completely blocked with a 503 "Service unavailable" error.

Nintex-Best-Practices-Something-Not-Right.png

While SharePoint Online can handle a high volume of calls, good workflow design practices should still be followed so this can be prevented. Keep an eye on the number of looping iterations to make sure they are not causing hundreds of updates and requests at a time. In the case where a high number of immediate updates are required, consider including pauses in your loops to alleviate the load and decrease the chance of getting throttled. 

Workflow Version Control in Office 365

A great feature of Nintex on-premises is how versions are maintained when a workflow is saved or published. This allows you to access prior versions of your workflow, export it, and more. It is something that protects your workflows and their development.

Unfortunately, the current version of Nintex on Office 365 does not support this feature but it can still be emulated with the use of versioning in document libraries. First, create a document library with versioning turned on called "Nintex Workflow Backups". Then whenever you would like to back up the current version of your workflow, export the workflow and add the file to the document library. Be sure to include comments of the changes made since the prior version. This best practice helps you and others that wish to review the developmental progression of the workflow.

For those that are looking for full versioning, please review the request on Nintex User Voice:  Version Control and be sure to up-vote it!

Set Error Notifications

Another feature within Nintex on-premises is setting up error notifications. Whenever a Nintex workflow errors, it will send an email notification letting you know of the error and the workflow it occurred in. Setup is in Central Administration and applies for all workflows.

Nintex workflow error notifications.png

While this feature is not available in SharePoint Online, there is a simple workaround. Go to your workflow history list and create a workflow that runs on new items. Set the workflow to do a "contains" on the description field. Whenever the word "error" is found, send an email notification. This method also has the advantage of being worklow-specific allowing you to send notifications to different users.

There is also a user voice topic for Nintex User Voice:  Workflow Errors

Use Child Workflows

When a business process is very complex or when multiple different processes use the same sub-process, child workflows can be created to reduce the complexity by separating or sharing functionality across different workflows. They reduce complexity by having multiple instantiations from separate workflows point to a focused process for execution. Child workflows are an act of process recycling that leads to easier testing and better performance.

One example of the use of child workflows would be purchasing requests. Imagine a company with several departments – Information Technology, Human Resources, and Marketing – each having their own separate requisition workflows. The requisitions first have to pass departmental approval and then get sent to Accounting where the actual requisition is processed. Rather than copy that Accounting process in each workflow, a child workflow would be created and called from each original worklfow. Another advantage to this method is that when the Accounting process changes, only one workflow requires updating.  

Consider Office 365 When Developing Your On-Premises Workflows

With companies moving more and more to the cloud every day, it is important to consider the ramifications of decisions made when designing an on-premises Nintex workflow. While Nintex is improving its online products every day, all actions are not currently supported by SharePoint Online or migration tools. With products like Sharegate, unsupported actions will be replaced with a placeholder action that has the name of the original unsupported action. This lets you maintain the structure of your workflow and easily replace them with supported actions.

Another consideration to remember is that the Nintex workflow history will not migrate. Custom workflow actions or user-defined actions will also not migrate so try to use the out-of-the-box actions as much as possible. And remember that the last saved version of the workflow will migrate, not the last published version, so be sure to keep good habits on your version control. 

In Conclusion

Using these recommendations will result in better solutions, developed faster, and more easily maintained for your users and organization.  Over time, adopting these best practices should become part of your natural approach.  

 

calltoaction-nintex.png

Need help improving and scaling your workflow processes?

Faster Migrations to Office 365 with Sharegate and the Migration API

At B&R we have lead many successful migrations for organizations big and small looking to move their data to Office 365.  In some cases, a hybrid migration approach to the cloud is an option that is pursued to reduce potential barriers.  One of the first questions that pops into my head with any migration to Office 365 is “Ok, how much content are we talking about here?”  The concern with most medium to large sized SharePoint and OneDrive For Business migrations is that it might take months to get all data up to Office 365.  For example, consider this all too common scenario. An organization has 3TB of data in file shares that are scattered throughout the organization.  The organization would like to move the files share data to SharePoint Online and take advantage of all the advanced collaboration and document management capabilities.  They have performed all the planning around their SharePoint Online deployment and are now ready to begin moving data into SharePoint Online.  Migrating 3TB of data to Office 365 used to take more than six months.  Using the new Office 365 Migration API and my current favorite migration tool Sharegate, the time it takes to move your data to Office 365 is drastically reduced, and much closer to the business’ expectations. 

This is great news for organizations who have terabytes of data that they would like to move to Office 365.  My goal for this article is to show you just how easy it is to take advantage of the new Office 365 migration API using the Sharegate migration tool.  I have been working with the Sharegate tool for migration work to Office 365 for 5+ years now.  I think that it’s the best bang for your buck migration tool on the market today.  Using the Sharegate tool to take advantage of the blistering Office 365 migration API is very simple.  The only item that is required is an Azure storage account.  Please note, it is recommended to use a separate storage account if one already exists within your Azure tenant.

365migration1.png

An Azure storage account is required because the data is first migrated to your Azure storage account then using the migration API it is imported into Office 365.  Before Microsoft introduced the Office 365 migration API all migrations were using the same API’s as the other Office 365 services.  Since all inbound traffic to the datacenter is throttled, frustrations and slowdowns begin to mount right away.  Using the Azure storage account combined with the migration API provides the fast lane (2GB+/hr) for customers moving large amounts of data to Office 365.

After installing the latest version of the Sharegate tool and starting a new migration job, users can configure a connection to their Azure storage account.  Once the Azure storage account is configured administrators will be able to enable insane mode within the Sharegate migration client.  Don’t worry, insane mode is like any other migration job and will still move your data intact.

Sharegate’s “insane” mode when toggled on within the migration client uses the new faster Office 365 migration API behind the scenes.  This provides a much-needed boost for migrations that have terabytes of data to move to Office 365.  Before you kick off that super-fast migration of your 2TB file share there are some planning items that should be addressed.  These include:

  • Large file target locations- If moving to SharePoint Online then there are some considerations and thresholds to consider.  Where will the files be stored and how will they be tagged as they come into the new system?  It is a good idea to begin to plan out the structure of the storage of your files in SharePoint Online.  It is never a good idea to blindly copy all of the files off the K network drive and drop them in one document library in SharePoint Online.  The system will likely benefit from organizing the content into logical and manageable containers.  For larger migrations, this means breaking it out even further into multiple site collections.  For additional guidance on designing and maintaining large repositories see the article here:  http://www.bandrsolutions.com/blog/keys-to-designing-and-managing-large-repositories.
     
  • Security of files in target location-  Making sure that the correct permissions have been setup when migrating files to OneDrive or SharePoint Online.
     
  • Classifying and protecting data in Office 365-  Office 365 provides native Data Loss Prevention capabilities that can be used if required.  The classification and labeling of your data can be used to also provide protection to sensitive files that get moved into Office 365.  Users can apply administrative driven labels and policies manually.  Administrators can also mandate specific policies where required.
     
  •  File share Inventory- Buried deep in those file shares are potential issues that could arise with the migration of files to Office 365.  It is important to do some initial discovery and inventory of the file share.  This is to identify potential issues such as the use of illegal characters in file names that are not supported in SharePoint Online or OneDrive for Business.  The Sharegate tool has you covered here with its ability to use its rule engine to foresee potential issues.  Administrators can single out these problematic files and   

These are just some of the items that your organization should be prepared for going into a migration to Office 365.  At B&R Business Solutions we have tailored our own unique approach to cloud migrations that contain large and complex data.  This approach is drawn from years of experience helping customers move their data to Office 365.  Our goal is to get your data to the cloud in a fast and efficient manner.  We would love to discuss how we can help you move some of your on-premises workloads to Microsoft Office 365, and Microsoft Azure. 

cloud-network-concept_CTA_WS.jpg

B&R can plan and execute a successful content migration!

How to Get Started with Nintex

As an active Nintex partner, we frequently work with organizations to get started using the Nintex platforms for SharePoint Server, Office 365 and the Nintex Workflow Cloud.  We help these customers through their trial period, or after the sales get started so that they can make the most from their technology investment.  Our interests here are less on selling software and more about evangelizing Workflow & Content Automation concepts and practices so that people can improve their work life. We are regularly asked “How should we get started?” so this post is our standard answer to that question. 

sharepoint_Nintex_bandrsolutions.jpg

Getting Started with Nintex

 

Getting Started with Nintex 101

This section is going to be short and sweet.  The team at Nintex has done a fantastic job building relevant content through their Community site.  If you haven’t registered already and are at all interested in Nintex, please register now. 

Secondly, they provide many great sections to address the specifics such as:

Once the software is installed and configured, you really need to get your hands on it and start working through creating a solution.  There are some step-by-step guides to support you there and it is a good place to start. 

Hands-On Workshops

Depending on the number of people you want to train and what the participants hope to gain we offer a few hands-on workshop options. 

2-3 Day Quick Start Workshop

If there are only a few people that need training and the customer is focused on a specific solution, B&R will typically start with a 2-3 day Quick Start Workshop.  This workshop is used to get the team going with their first solution as we work to rough out the major areas of the form and workflow.  We focus on the foundation of the solution first and then focus on some of the more difficult problems or features so that we can pass along the wisdom of why certain decisions were made, as well as the technical details about how to address the requirements.  This is a hands-on session and upon completion of the workshop, the team should have a good start to the solution with actionable steps to take to complete the project. 

1 Day Workshop

For groups that either have more people to train, or in cases where the organization is looking to enable users outside of IT, we position a 1 Day Workshop that acts as an immersion experience introducing people to both the process concepts as well as the technology.  One of the great things about Nintex is that it really is a tool anyone can use to build solutions.  However, everyone typically needs some orientation before they can create useful solutions.  The 1 Day Workshop will orient participants and enable them to create their first end-to-end Nintex solution!

Our standard agenda for the 1 Day Workshop is below:

  • Nintex Overview:  Forms, Workflow, Mobile, Doc Gen, Hawkeye (45 minutes)
  • Process Mapping Overview (45 minutes)
  • Technical Overview (60 minutes)
    • Form Concepts
    • Workflow Concepts and Key Actions
  • Build a Form (90 minutes)
  • Build a Workflow (2.5 hours)
  • Wrap-up and Next Steps

Alternatively, for users that are either familiar with workflow tools or modern development, we can provide a tailored Workshop that supports more advanced topics such as:

  • Integrating your solution with other content platforms (Salesforce, Dynamics, Box)
  • Xtending the Nintex Platform with REST Services
  • Integrating Hawkeye for deeper insights into your process portfolio
  • Advanced scenarios for external start of workflows

Ad-Hoc Developer Support

B&R can support its customers in a variety of ways, but one way many of our customers take advantage of is through standing support agreements that can cover ad-hoc or as-needed work.  Under this scenario, we can facilitate a design kickoff where B&R consultants will review your form and workflow requirements and discuss approaches for implementing them.  The advantage here is that the overall project decisions should be better informed and the solution will be delivered significantly faster.  Secondly, we can provide as-needed developer support when your developers are stuck on a problem.  While the Nintex Community, also can provide great support options; sometimes what you really need is to get somebody on a screen share session to talk through the hurdle and the possible solutions. 

Ready to Get Started with Nintex?

Can B&R help you get more out of your Nintex investment?  Reach out today to setup a consultation to discuss how these options can help improve your team’s ability to deliver world-class solutions!

calltoaction-nintex.png

B&R can help you get the most from your Nintex investment

Nintex Workflow Best Practices

Nintex is becoming ubiquitous in the global IT landscape as adoption increases in their cloud offerings building on top of their highly successful on-premises solutions. Because of this, knowledge of good workflow design and development practices specific to Nintex is paramount.

We have developed the following short list of key tips to help optimize performance and maintainability of your solutions. 

Tip #1 - Use Workflow Constants

One of the best features with Nintex on-premises is their ability to store credentials for a service account as a workflow constant. When a credential has been created, you can use those credentials without having to know the name and password of the account. The credentials are stored in the Nintex Workflow configuration database and are encrypted with DES encryption. Workflow constants can be created at the Site, Site Collection, or Farm level. You can see how it gets setup in the image below.

nwbp-1.png

To use a stored credential, simply click on the 'Select credentials' lock icon and select the credential constant from the lookup dialog box. More details can be found here.

Tip #2 - Processing and Load

With SharePoint Server (on-premises), a consideration that is often overlooked is the effect on performance of different actions within the workflow which can slow down its execution affecting performance. 'Execute SQL' or 'Query LDAP', for example, require more processing while 'Log to history list' and 'Build dynamic string' require much less. Nintex recommends breaking actions with a heavier load out to their own separate sub workflows.  

Any updates to the list, start/stop workflows, or update XML actions do not get processed immediately and are not necessarily executed in the order of the workflow. These actions will be batched up and executed according to what type of actions they are – Nintex or Microsoft. For example, this:

nwbp-2.png

will actually execute as this:

nwbp-3.png

This is happening due to the Nintex actions getting batched together and executing before the Microsoft "Update List Item" action. Another wrench in this puzzle is that although the Nintex batch may start first, it may not complete execution prior to the Microsoft action. You might think to put a 'Commit pending changes' action after the Microsoft action but that is still not a guarantee. The permissions action, for example, takes longer to complete and can possibly end after the 'Update List Item' action. It is better to use 'Pause for Duration' and set it to at least 30 seconds to make sure all the actions have completed before continuing. Alternatively, you can also use 'Wait for Field Change in Current Item' if that works for you. If you are on Office 365, Nintex for Office 365 does not have 'Commit pending changes' so you should replace it with a 'Pause for Duration' or 'Wait for Field Change in Current Item' action.

Tip #3 - Build Your Content

When designing your workflow, in O365 or on-premises, it is ideal to have a workflow that has the smallest number of actions. The benefits are in reduced server load, speed of execution, and reduced complexity. One of the recommended techniques used in developing workflows is building your content by adding relevant information to a variable as it becomes available.

For example, email body content often has to be formatted using basic HTML to display tables and other formatting. This can be built in a variable as the data is collected. Using a "Set Workflow Variable" action, you can set the variable to itself plus the additional formatting and data. So a var_EmailBody variable would have a value of "{Variable:var_EmailBody}<TR><TD>my new data</TD></TR>" when adding new data.

 The results of this method are very apparent. Workflows that previously looked like this:

nwbp-4.png

Can now start to resemble this:

nwbp-5.png

Resulting in less actions, faster execution, and a better workflow overall.

We hope that these three tips can help you improve the workflows that you are writing.  We will be publishing additional tips in the series soon.

calltoaction-general.png

Need help improving and scaling your workflow processes?

Nintex Workflow Migration Considerations

Many companies are making the move from on-premises SharePoint to the cloud. There are many advantages of making the move – resource requirements are lessened, cost, features, accessibility, and more. It's great once you are there, but the biggest challenge can be the work getting there. Migration to the cloud requires careful planning, knowledge and experience to take advantage of the cloud for the different types of content. Nintex Workflows are one of the best additions to Office 365 and migrating your existing on-premises workflows successfully isn't a problem with the following considerations.

Missing Actions

Unfortunately, the cloud version of Nintex Workflows is not a 1-to-1 implementation of on-premises Nintex Workflow 2010 or 2013. The reason for this is because of Microsoft's Workflow Manager model in Office 365 which does not support all of the actions from on-premises. At the time of this writing, there are 40 out-of-the-box Nintex actions unavailable in Nintex for Office 365. Custom workflow actions are also not supported. While most of the Nintex out-of-the-box actions have been replicated, they do not necessarily work the same as it does on-premises. This is due to the architectural differences between the two environments. 

Nintex Workflow 2016 has the unique option of creating workflows that are fully compatible with Nintex Workflow for Office 365. As you begin to create a new workflow in SharePoint 2016, you can choose between creating an on-premises version with the extra 40 actions available or create an Office 365 compatible version that does not. While there are less actions available with the compatible option, it does ensure that your workflow will be compatible with Office 365 when you migrate.

SharePoint Online Limitations

There are also some key differences with SharePoint Online versus on-premises. One limitation is that a workflow file cannot not exceed 5MB in size after it is exported. When checking for a file size, know that a Nintex workflow is compressed when exported. To obtain the actual size, you will need to expand the NWP file to see what the total size is. Workflows exceeding this limit may have issues online. To reduce the risk of error, any large workflow may have to be rearchitected before moving to the cloud.  

There are many other differences with the cloud that should be known. For example, one of the issues most clients run into is the immovable 5000 item List View Threshold limit. This is the maximum number of items that can exist in a list view and keep good performance. In SharePoint on-premises, an administrator can raise the limit or set Daily Time Windows where the limits are raised. In Office 365, this limit cannot be changed and is in place 24x7. It may be necessary to create new lists to address this issue which may affect workflows. This is one example where knowledge of the limitations within SharePoint Online is paramount to a successful migration.

Other Considerations

Because of the differences in Office 365, issues can arise with workflows when implementing features. Turning on something like two-factor authentication may cause significant issues with Nintex workflows.  Knowing the limitations of Nintex's different implementations in relation to Office 365 features prevents downtime by using workarounds.  

The architecture of your workflows should be reviewed. Some actions affect performance more than others (e.g. Execute SQL, Query LDAP, etc.). Excessive looping can significantly slow down, stall, or have their execution throttled. Unfortunately, you cannot modify or increase the hardware running the workflows like you could on-premises. Also, the SharePoint Online Workflow Engine controls workflow throttling which Nintex has no control over. The only option is to increase efficiency through design with the workflow.

How Do I Get There?

All of these considerations can seem very daunting when approaching a migration to the cloud for the first time. This stress is increased since the cloud is always changing. Finding experts that are focused on this activity with experience of various requirements with solutions can help mitigate the unknowns. 

A third-party migration tool like Sharegate can greatly assist with the move. Sharegate works directly with Nintex to improve their ability to produce successful migrations. Sharegate will move all Nintex workflows, including those with actions that are not supported. Placeholders are put where the actions would normally be. The placeholders are labeled with the comments of the original action for easy identification.  This allows for a workaround to be developed within Office 365 which also helps with testing in the target environment.

Conclusion

Migrations are a complex process. The recipe for success is investigation of the existing environment, planning, knowledge of the current target environment, and a good 3rd-party tool. Experience with the cloud and tools involved is also desired. With that combination, getting your Nintex workflows to the cloud will be a success for you and your organization. 

calltoaction-general.png

Need help improving and scaling your workflow processes?