Super-productivity: Repeating Tasks

Created on 20 Jun 2019  路  9Comments  路  Source: johannesjo/super-productivity

To analyze my time spent in everyday tasks leading to efficient time allocation a very helpful feature is a "Repeating/Reccurring Tasks" e.g. everyday chores/tasks in our home that need to be done.

Currently I have to create the same task over and over again to capture my time spent, hoping that when a Time Spent report is available I will have a good insight into what consumes my time.

enhancement

Most helpful comment

First of all this is an awesome spec!!!

I have a couple of questions.

export type RepeatOpt = 'EVERY_DAY' | 'possiblyMoreLater';

I know this is a first attempt. Here is an idea to consider

Daily
Weekly
Monthly
Yearly
or
Reoccurs every X weeks on checkboxes for each day of the week.

In my experience this can handle pretty much every case. Here is an example
https://www.uvic.ca/systems/assets/images/screenshots/emailcalendar/facultystaff/outlook2010/recurringmeeting2.png

Deleting Task => needs to consider if there is any archived task with the same repeatId and if not delete the reoccurring config OR ask the user if all should be removed OR mark as done???

Good call!

Other things to consider
How to do reminders of recurring tasks
How to handle due dates for recurring tasks.

All 9 comments

Thanks for the suggestion! Agreed! It would be good to have this feature.

I was sitting in the train today and were able to write up a rough concept on how to implement the feature:

  • We call the model repeatTaskCfg, because I always write reoccurring wrong (:
  • Use separate model and feature for repeatTaskCfg because it is probably cleaner
  • Add a new stat for reoccurring tasks on the metrics page
  • Add button to context menu for making a task repeat
  • Jira/Git Issues can't ever be repeating because it doesn't make sense
  • Sub Tasks can't be reoccurring beceause it doesn't make sense
  • Backlog Tasks: Reoccurring tasks can't be moved to the backlog because it doesn't make sense => if possible we will indicate this via a not allowed icon, if not we just don't do it (check dragula for this maybe)
  • On a model basis we use separate task every time, because otherwise we get in trouble with deleting, sub tasks etc
  • A visual clue is needed to indicate a repeating task in list
  • Add separate entry to task menu for making a task repeat

Creating the tasks once configured

  • Reoccurring tasks will be created as needed (when a task with the creation date of today is nowhere to be found) after loading a project
  • A Snack should appear to inform the user about that and to not confuse them with yesterdays entities if present, because the user forgot to mark them as done

Model Outline

We keep the model simple for now. Later we might add more complex patterns to when a task should reoccur.

export enum RepeatOpt = { EveryDay: 'EveryDay' };

export interface RepeatTaskCfg {
  id: string;
  repeat: RepeatOpt;
}

export interface Task {
  // ...
  repeatTaskCfgId?: string;
}

Task Side Effects to consider

Might make sense to use an own effect handler for this.

  • Deleting Task => needs to consider if there is any archived task with the same repeatId and if not delete the reoccurring config OR ask the user if all should be removed OR mark as done???
  • Archiving Task => nothing
  • Add Sub Tasks => nothing
  • Finish day => Reoccurring tasks, should always be marked as done
  • Remove Repeat Config/ Deactivate => Even if there are any tasks left with the config id remove the model entry. Leave repeatId on task to identify tasks belonging together, in case we want to use it for stats or something.
  • Add Repeat Config(Reminder) => remove and deactivate (hide ui) reminders on task

Problems still to solve

  • ui for adding/removing
  • removement process

First of all this is an awesome spec!!!

I have a couple of questions.

export type RepeatOpt = 'EVERY_DAY' | 'possiblyMoreLater';

I know this is a first attempt. Here is an idea to consider

Daily
Weekly
Monthly
Yearly
or
Reoccurs every X weeks on checkboxes for each day of the week.

In my experience this can handle pretty much every case. Here is an example
https://www.uvic.ca/systems/assets/images/screenshots/emailcalendar/facultystaff/outlook2010/recurringmeeting2.png

Deleting Task => needs to consider if there is any archived task with the same repeatId and if not delete the reoccurring config OR ask the user if all should be removed OR mark as done???

Good call!

Other things to consider
How to do reminders of recurring tasks
How to handle due dates for recurring tasks.

The feature is implemented and should be available as pre release as well as in the snap edge channel soon. Please let me know what you think!

Reminders are just disabled for now. We can add something more sophisticated later if needed.

Hi there @johannesjo,
I was trying to find the recurring option on a task. Couldn't find it. You say it's already implemented ? I need to set a task so it reoccurs bi weekly

I am using the app in linux : Super Productivity 2.13.3

Hi there @johannesjo,
I was trying to find the recurring option on a task. Couldn't find it. You say it's already implemented ? I need to set a task so it reoccurs bi weekly

Have you looked under "...\Advanced" in the menu?

Reoccuring

@rubensfredrick unfortunately currently super productivity only supports repeating tasks on a weekly basis.

@KonTy thank you :)

Hi is this still enabled? would be nice to have
!!!

@nicola-lunghi yes this still exists.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

IT-Tool picture IT-Tool  路  3Comments

generic-user picture generic-user  路  3Comments

Mindstormer619 picture Mindstormer619  路  4Comments

jac1013 picture jac1013  路  3Comments

mar-v-in picture mar-v-in  路  3Comments