Applies to: SharePoint Online
Note: If you are using SharePoint On-Premises then please refer this article for archival functionality.
Archival is the process of moving old or inactive list items from the ‘main / live’ list to the corresponding archive list. The archive list has similar columns as the main list and archiving is done to reduce the number of items in the main list to improve list performance. SharePoint has a limit on number of items (list view threshold of 5000 items) that can be processed in any operation so archiving helps keep the item count within the limits. Please note that there are other ways to address list view threshold and you can find more details here.
This article describes the steps to configure simple archival functionality on a list without archiving associated lists. This article takes the example of Tickets list. Please note that list items that are moved to archived list are permanently deleted from the main list.
Note: If you need to move list items (Tickets) along with all associated lists (like Tasks and Emails) to different lists without breaking the relation then please refer this article.
Summary of Steps
- Configure List Schema
- Configure Workflow using NITRO Workflows
1. Configure List Schema
- Take list template of Tickets list
Go to Site Contents -> Tickets list -> List Settings -> Click on ‘Save list as Template’ link
- Give the File Name, Template Name and click on “Ok”
- Create Archived Tickets list using this list template. Go to Site Contents -> Add an app -> Select Tickets list template -> name it as Archived Tickets list.
- After creating the Archived Tickets list, recreate all the lookup fields (e.g. Category, Issue Type etc…) in Archived Tickets list.
2. Configure Workflow using NITRO Workflows
Configure a scheduled workflow on Tickets list using NITRO Workflows. This workflow will run everyday to move inactive items from the main list to the archive list. You can choose the hour such that it runs during non-business hours.
Go to Application Administration -> Crow Canyon NITRO Apps -> NITRO Workflows and configure a scheduled query workflow as shown below:
CAML Query used above:
This query will fetch all Tickets where closed date column value is less than 365 days from Today. That is, these Tickets have been closed for more than a year. This can be modified to change this time period and also more conditions can be added to only archive those items that are not actively needed in the Tickets list (for e.g., you may choose to not archive Tickets of a particular Category)
<FieldRef Name ='ClosedDate' />
<Value Type='DateTime' >
<Today OffsetDays='-365' />
Move Item Action:
Configure move item action as shown below. This action will move the items from main list to the archive list.