Sorry for the late update, was a little busy discussing about the implementation stuffs .
Anyways let me give you a brief idea of what I have been able to implement and what’s changed so far .
Now we are following ” Past can not be changed ” rule for handling the edit event.
So What’s changed?
Initially we were storing all the recurring details with each instances, but storing all is useless once task gets overdue or completed as recurring details never gonna used .
So we have changed the little bit implementation stuffs like this :
If task gets overdue or completed then in that case we make the task as a normal task and next instance will be recurring . so eventually we are removing all recurring details when we are making it as a normal task except the rid attribute to keep track of instances which gets created.
How to handle the edit event ?
Following the rule “ Past can not be changed ” , we are providing the edit options ( edit current instance or all instances ) to only the task having the recurring pattern. There is a one “Hidden” task gets created when user open a task for editing, which is used to check that task is actually edited or not.
All instances : –
Doing a simple check that task is actually edited then only reflect the changes in the current instances and according to that future instances gets created .
Current instance only : –
Make the current instance as a normal task and make the Hidden task as active task.
With this, a majority of the work for my GSoC project is complete. Now I will be focusing on optimizing and tidy up my source code .