0

I am working on SharePoint 2013 list. and i want to send emails and change the item status field, when a list column named "Review Date" is met , and by "met" i mean when the "Review Date" is equal to Today ...

now i read about the available approaches to accomplish such functionality, and seems there are 2 main approaches :-

  1. create a workflow 2010 inside SharePoint designer 2013, which have a "Pause until date" action , which will update the item status & send an email , when the "Review Date" is met.

  2. Or i can develop a timer job using visual studio, which will do the same thing as in the workflow scenario.

now i cam a bit confused on which approach is better, or what are the main differences between defining a "Pause until date" action inside a workflow 2010 & developing a timer job ? i came out with these points:-

  1. if we consider the performance and the overhead of the server ?will creating a workflow for each list item , with a Pause Until action have more overhead on the server.. while having a timer job will win from performance perspectives ?

  2. if i want to apply this checks on multiple lists ? which approach will be considered more extensible ?

  3. are there other main differences i need to take into consideration?

Thanks

2

I would suggest a timer job or a console application to handle this. Pausing until a date won't have a huge performance impact as the workflow gets serialized to the database until it is time to do something. This big problem is that if that date changes, it doesn't affect the workflow that is currently running on the item.

We have converted several instances of this type of functionality to timer jobs because of the unreliability of the pause until date being accurate. If it changes, then the running workflow may not send the notification at the right time. With the timer job/console application approach, you can guarantee when the application is run and guarantee that the emails are going to be delivered as expected.

  • Thanks alot for your reply. so you mean if someone updates the "Review Date" field in my case, then the related Pause Until date will not get the new value for the "Review Date"? even if i set the workflow to run when an item is created and when an item is updated. i thought if i set the workflow to work when an item is modified and when an item is created, then the Pause Until date will automatically get updated incase someone edit the item and chnage the "Review Date". ? second question can you provide some links which describe how i can create a timer jobs in SP 2013? – john Gu Jan 30 '16 at 19:08
  • but is having this as a workflow when got invoked from a retension policy an approach to follow ? – john Gu Feb 2 '16 at 22:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.