I have used this question and Vedran's answer to have reminder emails being sent out based on a Date field. It has worked really well and has meant I can avoid using the unreliable 'pause until' command in a custom SP Designer workflow (pause until often stalls). I should explain that the email reminder for a task might only be sent once every two years.
The problem I have is with the way my Task List is configured. The Task has a DUE DATE, but the task is never done > the old Due Date is replaced with a new Due Date. This Information Management Policy (and the two timer jobs that 'power' it) are unable to cope with the Due Date field changing. As far as Sharepoint is concerned it has already done it's duty and so will not send a new reminder email.
Here's how the Information Management Policy looks:
This kind of set-up happily sends the email and a reminder email 7 days later. However, once the Due Date is changed, SP no longer picks it up. SP thinks the job has already been done after it has sent a reminder once + recurrence reminders.
I could create another Date field and then add an extra Retention Stages in order to get a new reminder email to be sent from the new date. However, some tasks need a reminder every 3 months, I need a way to future-proof this and make it more user-friendly, intuitive and avoid having a dozen or more extra date fields.
I'm using SP 2013 on premises. What are my options? A custom Timer Job code? Perhaps avoid using the Information Management Policy (and it's default Timer Jobs)?
OR - I get the user to change the way they use the task list. Once the task is done, it's done. Then make a new item and copy over relevant info from the old item to the new one.