obsidian-tasks-group / obsidian-tasks

Task management for the Obsidian knowledge base.
https://publish.obsidian.md/tasks/
MIT License
2.37k stars 224 forks source link

Option to copy children in recurring tasks #2519

Closed chmac closed 8 months ago

chmac commented 8 months ago

⚠️ Please check that this feature request hasn't been suggested before.

πŸ”– Feature description

When completing a recurring task, I would like any children it has to be duplicated in the newly created task.

One way to achieve this would be to add a new setting to "Recurring task settings" which would say something like "Copy child tasks when creating new recurring tasks"

βœ”οΈ Solution

Given the following task:

[ ] A task with children that repeats daily πŸ” every day πŸ›« 2023-12-18
    - [ ] Step 1
    - [x] Another step βœ… 2023-12-19
    - [ ] More steps

When I check the first task I would like to see this:

- [ ] A task with children that repeats daily πŸ” every day πŸ›« 2023-12-19
    - [ ] Step 1
    - [ ] Another step
    - [ ] More steps
- [x] A task with children that repeats daily πŸ” every day πŸ›« 2023-12-18 βœ… 2023-12-19
    - [ ] Step 1
    - [x] Another step βœ… 2023-12-19
    - [ ] More steps

The children have been copied and "reset".

❓ Alternatives

My research hasn't produced any alternative solutions to this issue. However, I'm new to obsidian and tasks, so if you can suggest an alternative approach, I'd be delighted to hear about it. 🧑

πŸ“ Additional Context

I have tasks around quarterly accounting. Conceptually I think of the whole thing as one task with several discrete steps. I want the entire list of steps to repeat / recur, rather than having each step as a separate recurring task. Here's an example of what I mean:

- [ ] Quarterly accounting πŸ” every 3 months πŸ›« 2024-01-01 πŸ“… 2024-02-07
  - [ ] Download bank statements
  - [ ] Import bank statements into accounting software
  - [ ] Upload invoices
  - [ ] Request missing invoices
  - [ ] Reconcile accounts
  - [ ] Submit VAT return

Rather than these being 6 recurring tasks, I'd like them to be a single task which recurs, and then has 6 steps.

claremacrae commented 8 months ago

Yes, this is a good idea.

I've added labels that enable searching for related requests.

To set expectations: Because tasks does not currently store sub-tasks, that would need to be implemented before this could be done. And that is in itself a massive amount of work.

As such, this request is unlikely to be implemented in the foreseeable future, but I will leave it open.

chmac commented 8 months ago

Thanks. Doubly so for setting expectations, that’s super helpful. I’ll find a workaround for the meantime…

claremacrae commented 8 months ago

This idea is actually coincidentally relevant to something I did yesterday...

I ended up:

What you suggest here, of grouping related tasks together in to sub-tasks of one parent task, is a way nicer idea - and a really good motivation for this ticket.

chmac commented 8 months ago

Awesome! I’m thinking the same, to use templates and have one recurring task that reminds me to create a new list from the template.

therden commented 8 months ago

Hello @chmac!

I was going to suggest using either Obsidian's built-in Template capability -- or (if, for example, you want or need to get fancy calculating Due dates or the calendar quarter with each new instance of these Tasks is associated) the Templater plug-in.

Since you got there yourself, I'll just affirm that, in my experience, templates are definitely the best solution for the problem you've outlined.

Note: you'll likely want to use Tasks' recently added "Global Query capability in the Settings, adding a "path does not include" filter to exclude the directory in which your templates are saved.

Hope this helps!

chmac commented 8 months ago

@therden Thanks for the global query exclude, that's a great suggestion.

claremacrae commented 8 months ago

In view of this size of the backlog for this project, and the demotivating effect of a very long backlog on volunteer energy levels, I'm going through a slow process of reviewing tasks for things that are one or more of the following:

So I'm marking this one as 'not planned'. This doesn't mean 'won't fix' - it means not likely to be done in the foreseeable future.

chmac commented 8 months ago

@claremacrae Thanks for the very nice message explaining why this is being closed, I really appreciate it. 🧑