Ticket #717 (enhancement)

Opened 3 months ago

Last modified 1 month ago

recurrent actions and background tasks

Status: closed (fixed)

Reported by: bernhard@baase.de Assigned to: lrbalt
Priority: normal Milestone: 1.7
Component: Coding Version: trunk
Severity: normal Keywords: recurring todo
Cc:

This patch adds recurrent actions functionality to tracks trunk. Via the new top level link 'Wizards' the users can setup weekly/monthly/yearly rules for Todo generation.(e.g. each thursday -> ruby user group meeting) Background Tasks integrated via the Backgroundrb-plugin update/insert the generated todos each week for all rules for in the prefs defineable intervals. These tasks can also be manually triggered via the admin menu.

Tests are written and the code is more or less (te)stable. Backgroundrb runs beside the normal app so admins have to spawn this process seperately. (ruby script/backgroundrb start - Perhaps this can be integrated in the startup-script sometime). Windows users have to use cygwin for this process and backgroundrb needs the packet and chronic gems which aren't freezed yet under vendor.

As I'm a backend developer I could just try to do all frontend stuff but didn't managed a JS function to trigger/blend in-out the different forms under 'wizards' when clicked on the appropiate wizard div. So all three forms are displayed simultaniously there now on that page. I think a good frontend guy can fix this and some little CSS things very fast.

If you like the patch I will write an more exact how-to for all new stuff.

Attachments

recurrent_actions_and_backgroundrb.zip (72.8 kB) - added by bernhard@baase.de on 05/28/08 00:54:07.

Change History

05/28/08 00:54:07: Modified by bernhard@baase.de

  • attachment recurrent_actions_and_backgroundrb.zip added.

05/28/08 08:05:52: Modified by lrbalt

  • owner changed from bsag to lrbalt.

interesting stuff! I'll look into this soon.

I was working on recurring todos myself and was planning on using a different approach without the need for backgroundrb.

05/28/08 18:38:44: Modified by hans@degraaff.org

I've been thinking a bit about recurring tasks recently as well, and what I'd like to see is a recurring period to a task that would automatically start again when I close the tasks.

Let's say that I want to mowe the lawn every two weeks and I create a task for it. But obviously I'm a slacker and I don't do it until after 1.5 weeks. I would then not expect the task to pop up again in half a week, but rather after 2 weeks from the time I last mowed the lawn.

05/28/08 20:54:53: Modified by lrbalt

I guess you're saying two things.

1) when a recurring todo is marked complete, the next todo can immediately be created. This is different from the patch from Bernhard which creates todos on a regular basis, not looking if the previous todo was completed or not.

2) you'd like to be able to create a recurring type where the due date of the next todo is based on the completion date of the previous one. I think this is just one of the possible recurring patterns which make this functionality rather difficult. For example, I've placed todos in my tickler reminding me to send an e-card for birthdays of family and friends. This is recurring yearly with a fixed due date (and a relative show from date)

I was thinking of adding a new todo only when the previous todo was finished. This way, recurring events do not stack up. But there are probably use cases that do require todos to stack up.

Since the complexity of this is rather big, I think we should start laying the groundwork first and evolve from there. Perhaps we should discuss design requirements on the mailing list?

06/03/08 18:51:53: Modified by lrbalt

  • keywords set to recurring todo.
  • milestone changed from 2.0 to 1.7.

I'd like to go for recurring todos for the next release. I want to take different approach from the patch of Bernhard.

I want to define a recurring todo and create normal todos from it. I only create new todos when the existing is marked complete, instead of using backgroundrb to add new todos on a regular basis.

Keeping this ticket open for 1.7 to be able to reuse the patch of Bernhard.

06/08/08 20:11:28: Modified by lrbalt

I'm posting my progress under #25. There is some basic gui-code in there.

07/19/08 18:53:41: Modified by lrbalt

  • status changed from new to closed.
  • resolution set to fixed.

I've commited a patch for recurring todos to git-repository

07/19/08 18:54:13: Modified by lrbalt

you need to {{rake db:migrate}} your database