Skip to main content

Hi All, 

 

Customer is asking to maximize Workflow history limit from 60 days to 1 year.

I have checked through Nintex forums and I got the following

 

Task List Only Displays Task History of the Last 60 Days - Nintex Knowledge Base  

 

But above link is okay with SharePoint On-prem environment.  

I also searched this blog post  Recovering Workflow History after 60 days  

 

Q: Which Settings should I change for SharePoint Online for Workflows?

 

Thanks in advance. 

For O365, this is a setting that cannot be adjusted. It is a farm setting in the timer services and it isn't accessible in sharepoint online‌. As a best practice, it is optimal to use Lists to store important workflow history for long term auditing and not rely on the workflow history lists for many reasons. Read more in super crazy detail in

Defensive Workflow Design Part 1 - Workflow History Lists

Demystifying Workflow History (Part 2)

But I find it more easily laid out by the great Patrick Hosch‌ in the blog How NOT To - Workflow History for Auditing | ProjectPoint  

Your Options

  1. SharePoint Auditing: SharePoint has a built in auditing capability. The good news is, the data collected survives migrations, upgrades and is permanent. On the other hand, the reports are not very end user friendly and turning on auditing in SharePoint (on-prem) can decrease performance by up to 15%. So be careful when going for this option. more information on SharePoint auditing can be found here.
  2. List Data: You can leverage additional fields in SharePoint lists to store audit information as part of a list item or document. While this is great for an end user viewing the trail, it entails the same security concerns as using a SharePoint history list.
  3. External Repositories: I’ve used this approach on multiple occasions with clients in highly regulated industries (mining for example). As part of the workflow, any information that is required, was written into a database. That gives you a few advantages:
    1. No need to mess with the timer job. History and task lists stay lean and clean. All required information is hosted in a database.
    2. Reports can be pulled using Reporting Service, or other reporting tools without users having edit access to the actual data
    3. It functions as a secure store that no one can touch. Well, apart from the admin
    4. You have one single source of truth and regular database backups ensure that your auditing information is available all the time

great written


Thanks a ton for your pointers Andrew Glasser   I just used basic Workflow History's Information Management Policy Settings as follows:

  1. In the Policy Statement, fill in the description and clicked on "Add a retention stage..

  2. Configured Event to stage for 1 year time period and Action to Move to Recycle Bin 



    Will this configuration work for SharePoint Online??

    Please advice.  
     Thanks in advance, 

It is possible that it could because it's a policy. But this would be considered bad practice to most architects. 


thanks Andrew Glasser‌ ..

If I configure Audit for Workflow History I have these options

But the Configure audit settings for a site collection - SharePoint is about SharePoint On-Prem options where we are able to set the max days:

which leaves only Option 2 left (List Data) for SharePoint Online. 

Q: Is List Data option is considered the best practice to cater Workflow History requirements for me?   


No sorry, I don't think it will. The auditing settings will alert you to changes made, but it doesn't retain the history. The Retention Policies will force a retention, no delete, but it will eventually lead to performance issues with the size of the lists growing and associations kept.

Keeping history data in a separate list using the Create Item action will be the best scenario.


Thanks a ton ‌ for your insights..

I am going to do the create a separate list. Only concern I will have if a separate list and apply retention for 1 year, I would have the same performance issue as well. Isn't it??

 Please advice on this!    

Thanks in advance. 


Actually it's a little different. Odd I know. But the reason its different is because you can enforce list view thresholds on the user via views on the custom list. The list itself can hold millions of records without issue, but the views must be limited. Such as a view that filters on a date or last 30 days, by initiator, etc.

You can't do that on the workflow history list when the system is querying it for data and adding more data, so it will experience degradation in an way out of your control. "It's not you, it's me" - SharePoint (so to speak).


Thanks a ton for your valuable inputs. much appreciated.   


Reply