This is a little workaround that can assist you providing a user friendly way of keeping track of an items version history while keeping your Workflow History list data to a minimum on your site.
SharePoint ® On Premise or SharePoint ® Online
Versioning Enabled on the List/Document Library
Nintex Workflow ® Office 365 ®
Nintex Forms ® for Office 365 ®
Nintex Workflow ® On Premise
Nintex Forms ® On Premise
SharePoint® On Premise (2010, 2013 or 2016)
Office 365 ®
You can read my previous posts to get more information about my Timesheet scenario:
Check out the video below(Enjoy ):
Ever wondered how you can present a forms version history in a user friendly format without having to rely on the Nintex Workflow® History List?
The Nintex Workflow® History List is great, and it automatically logs workflow instance data and allows you to choose which information to log, however seen that its a list it is subject to some of the following SharePoint® List Limitations:
- Capacity Planning for Microsoft SharePoint Server 2010
- Software boundaries and limits for SharePoint 2013
- SharePoint 2016: List and Library Limits compared to previous versions
Just to clarify by "version history" I am referring to things such as:
- The task approval outcomes as well as comments
- Changes to the item, e.g. Status/value changes etc
- Anything that you would like to track in your process as per your governance compliance requirements
This technique also demonstrates how you can use some of the OOTB (Out of the box) SharePoint ® features together with Nintex Workflow ® and Nintex Forms ® to create a friendly end user experience, whilst working around about some of the known limitations and thresholds within SharePoint® that our "hidden" Nintex ® Workflow History List inherits as it is a list after all.
However, please note that this workaround should be used with some of the best practices hightlighted by Aaron Labiosa in his defensive design series; particularly around Defensive Workflow Design Part 1 - Workflow History Lists
The proposed solution will consist of the following technologies:
- SharePoint ® (on premise or Online)
- Nintex Workflow ®
- Nintex Forms ®
The solution allows you to present workflow history information on an item in a friendly format, and there are a couple of advantages to this:
- Reducing the number of items in your Nintex Workflow ® history list as you can now purge your workflow history list data will now be stored in a Multiple lines of text column on your list. This means you can purge your workflow history list on a regular basis and make it easier to maintain.
- Allowing users to now view workflow history on any item in an easy to understand format or perhaps meet some auditing requirements in your organisation.
- Having an combination of a Users Full Name & Date Time incorporated with each comment.
- Avoid complex workarounds to achieve this but rather use a combination of OOTB SharePoint ® features and Nintex ®.
- This technique works with Nintex ® LazyApproval
The following steps need to be configured to get this working:
# Title/Description Screenshot(s) Resources
On your desired site go to Site Settings -> Site Columns -> Create
Create a Multiple lines of Text site column called "WorkflowHistory". The column would have to have the following configuration enabled:
Reason why I created this as a site column is because it can be reused by multiple lists and libraries within and a site and its subsites.
Secondly doing this allows me to centralize the configuration of my column in one place, which makes it easier for me to update the settings for this column - should the need arise.
Enable versioning on your desired list by going to List Settings -> Versioning settings->Create a version each time you edit an item in this list set to Yes
|Plan document versioning, content approval, and check-out controls in SharePointServer|
|3.||Add this column to your existing Content Type or List||N/A|
Open your Nintex Forms® Designer and add your column to your form.
In my case I added my column to my form and set up a tab to provide a friendly experience
|Create Tab like functionality on your Nintex Forms by Vadim Tabakman|
Update your desired workflow to update the column with the information you need to log.
In my case I use the Update Item action to push updates to my Timesheet, and the beauty of this is the previous changes are retained as I take advantage of the "Append Changes to Existing Text" SharePoint feature. And because this is already not a limited action workflow and it has already been built using best practices, I really don't have to worry too much about having a few additional steps to help me build a workflow history tracking into my item - the value add of this in my opinion is justified.
And thats it!!!
I hope this helps someone out there
Feel free to add comments and ask any questions if you have any!!