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
- 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.
- 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.
- 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:
- No need to mess with the timer job. History and task lists stay lean and clean. All required information is hosted in a database.
- Reports can be pulled using Reporting Service, or other reporting tools without users having edit access to the actual data
- It functions as a secure store that no one can touch. Well, apart from the admin
- You have one single source of truth and regular database backups ensure that your auditing information is available all the time
Thanks a ton for your pointers Andrew Glasser I just used basic Workflow History's Information Management Policy Settings as follows:
- In the Policy Statement, fill in the description and clicked on "Add a retention stage.."
- 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.