Question

I have a document library which has a field for Expiry date. This field is not mandatory and is used for our Legal team to identify if the contract is close to expiring.

The Legal team would like to get an email reminder 30 days prior to the expiry date and then also 7 days prior to expiry date if no action has been taken.

What is the best way for me to implement a solution?

I have been thinking of a workflow, but the expiry date may be a year or two in the future? Another thought has been to add an entry to a calendar and then send the email out from here.

I'd like to hear peoples views on their approach.

Was it helpful?

Solution

Workflows seem like the right way to do it. This should work no matter how far the expiry date is.

One question is whether the expiry date can be modified later after the workflow has started. If it is the case, you'll need to have two branches in parallel in your workflow: one that will wait for the expiry date, and the other that will force the workflow to stop and restart if the item is changed.

Update: some more detailed explanations can be found here:

http://markeev.com/Articles/item-expiration-reminders-in-sharepoint-using-workflow.aspx

OTHER TIPS

In my view, The best way to do with a daily timer job.

Over the period if you have many documents(say 1000+), the corresponding queued workflows may cause a performance hit.

You can always set Information Management Policy for your documents.

Take a look at : Policy Features in SharePoint Server

Microsoft SharePoint Server 2007/2010 includes four information management policy features to help you manage your content: expiration, auditing, document labels, and document bar codes.

Expiration policy is thing you need:

After the document expires, you can determine the actions that the policy control takes. For example, the policy can delete the document, or define a workflow task to have SharePoint Server 2007/2010 route the document for permission to destroy it. In addition, the expiration policy feature provides the capability for you to build and use a custom plug-in action to be performed on the item after it reaches its expiration date.

Some links with more details:

IMHO you should avoid any solution that requires development of long running workflows (they are unstable and not flexible) and if you go with custom solution for this task develop daily timer job like @AmitKumawat suggested.

This answer on StackOverflow details a few different ways to do this - workflow, scheduled jobs, open source and commercial add-ons.

Its talking about a calendar list and "Start Dates" but its no different to Doc Lib and expiry dates.

StackOverflow - Dated reminders in SharePoint calendars

The problem with workflows is that once created, if someone edits the expiry date, the old workflow will still be out there.

Greg you can try using the Pause until date activity (Workflow) See this : http://social.msdn.microsoft.com/Forums/en-US/sharepointworkflow/thread/0f7e6ece-9326-4828-a5f8-93893d273fb3/

If not i just use Powershell. Let me know if that helps. Patrick

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top