obsidian-tasks-group / obsidian-tasks

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

Automatic creation date #2786

Closed hmijail closed 6 months ago

hmijail commented 6 months ago

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

🔖 Feature description

I typically find myself creating multiple tasks in rapid succession in a list, for example taking action items during / after a meeting. Trying to do this and adding e.g. creation dates is currently cumbersome / involved.

Additionally, tasks in general would be immediately more useful (e.g. through queries) if they got some metadata automatically added on creation. The easiest / most logical example is creation date.

There are previous discussions about this, but they seemed to stop just before actually implementing the automatic addition of the creation date.

✔️ Solution

Probably the most universal would be to just have an option to have today's date automatically added to every new task.

❓ Alternatives

An alternative would be to be able to select multiple tasks and change their dates all at once.

📝 Additional Context

No response

claremacrae commented 6 months ago

I typically find myself creating multiple tasks in rapid succession in a list, for example taking action items during / after a meeting. Trying to do this and adding e.g. creation dates is currently cumbersome / involved.

Can you please say how you create those? What steps do you use?

claremacrae commented 6 months ago

Also, if you are simply typing a list item, hitting return, typing the next item, then I have found it's very easy to use Auto-Suggest to add the created date as you go: Adding Created date to tasks.

claremacrae commented 6 months ago

Probably the most universal would be to just have an option to have today's date automatically added to every new task.

I do not believe that there is a way for Tasks to do that. Auto-suggest is the closest thing.

claremacrae commented 6 months ago

An alternative would be to be able to select multiple tasks and change their dates all at once.

That's a nice idea, and is definitely a different thing from this request... which I would label with scope: bulk edits.

There is only one bulk-edit feature request so far:

hmijail commented 6 months ago

Can you please say how you create those? What steps do you use?

In my current configuration: lists are continued automatically, Cmd+Enter is mapped to "Tasks: create or edit":

  1. I start typing a line
  2. press Cmd+Enter
  3. the tasks pop-up apperas, I accept it with Enter
  4. I'm in the next line, which is a task. Type some more.
  5. press Cmd+Enter
  6. The pop-up doesn't appear because of (4). The pop-up won't appear again unless delete the line to restart the list.
claremacrae commented 6 months ago

Trying to do this and adding e.g. creation dates is currently cumbersome / involved.

This is the bit of the request that makes me suspect that you are not using Auto-Suggest - it works very well when configured to your tastes.

I have changed its settings to this, so it doesn't pop up all the time, and I get more suggestions:

  "autoSuggestInEditor": true,
  "autoSuggestMinMatch": 1,
  "autoSuggestMaxItems": 11,

2 works well for autoSuggestMinMatch as well...

hmijail commented 6 months ago

"autoSuggestMinMatch": 1,

To me, having the suggestions pop-up appear randomly while typing is pretty distracting. Maybe if there was a hotkey for that...? but that again turns into a sequence of hot/keys per task created.

claremacrae commented 6 months ago

Can you please say how you create those? What steps do you use?

In my current configuration: lists are continued automatically, Cmd+Enter is mapped to "Tasks: create or edit":

  1. I start typing a line
  2. press Cmd+Enter
  3. the tasks pop-up apperas, I accept it with Enter
  4. I'm in the next line, which is a task. Type some more.
  5. press Cmd+Enter
  6. The pop-up doesn't appear because of (4). The pop-up won't appear again unless delete the line to restart the list.

Ah right, that's not a usage pattern I've seen before, so it's rather valuable information to include in the request - thank you.

So, because there's not an access key for Created date in the modal, you would have to tab through the fields to use td + space to add the date there.

With the above flow, if I understand your flow correctly, I would do the following:

claremacrae commented 6 months ago

"autoSuggestMinMatch": 1,

To me, having the suggestions pop-up appear randomly while typing is pretty distracting. Maybe if there was a hotkey for that...? but that again turns into a sequence of hot/keys per task created.

Agreed - that's why I am suggesting increasing the min-match setting.

If you haven't tried it out with that field adjusted, please do. It works well.

hmijail commented 6 months ago

3.5 Type ` cr to append creation date to the line just edited by the modal.

I don't think I'm following. With this I just end up with `cr appended to the line.

Anyway, I should have mentioned that in my Tasks configuration I enabled "Set created date on every added task", so the created date is already populated in the popup and I don't need to tab my way inside it. So I can really just type my line, press Cmd+Enter, press Enter... which would be OK, if only it kept working with every line.

If you haven't tried it out with that field adjusted, please do. It works well.

It does work, but in effect the workflow now is

  1. Ensure that you're in a task line (which turns into its own separate problem; new hotkey?)
  2. Type the task
  3. Type the sequence C-R-E-Enter-Enter.

Plus the distraction of random popups whenever I happen to type the beginning a tasks keyword, making sure I'm not accepting the popup, etc. Lots of papercuts.

claremacrae commented 6 months ago

OK, well I don't understand the above, from your earlier description - but it doesn't matter.

I'm currently adjusting the Edit Task modal so that there is an access key and it will be just a few keystrokes to your muscle memory, to populate the Created date for second and subsequent tasks.

So that will give you another option, and I will release that shortly.

I understand that this may not be as streamlined as you would like, but I have to balance where to spend volunteer time, and I will never be able to satisfy everybody's requests.

Some more suggestions, that use existing capabilities in other tools and plugins:

Actually, that last one would work really well and not have to change your muscle memory at all. That's definitely what I would do.

hmijail commented 6 months ago

Appends ➕ [today's date] to the end of the current line, if the line does not already contain ➕

I didn't know about the Commander plugin, and if it can do that, I can see it fixing my problem. I'll look into it, thank you.

Not sure where my previous description went wrong, but in case it helps, the only reason for me to use the pop-up was so that the created date was added to the task. Any way that allows me to add the date and move to the next task entry with minimal distraction/fuss is good with me.

claremacrae commented 6 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 continual 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.

claremacrae commented 6 months ago

the only reason for me to use the pop-up was so that the created date was added to the task

Oh right, then the solution is much, much simpler - that would be trivial to do with QuickAdd, Templater or some combination of both those plugins...

No need for Commander at all.

claremacrae commented 6 months ago

Changing to 'Won't fix' - it's definitely not worth spending time on something that is so easy to do with existing plugins.

hmijail commented 6 months ago

In case anyone finds this while looking for options:

After looking a bit into QuickAdd, Templater, core templates, Commander... it looked relatively easy to just blindly add a "+ date" to the current line; but it is a very different thing to do it in a way that works whether the line is a task or not, or if it already has a date, or that removes the date if the task is toggled back into a simple bullet point.

Fortunately there's the ToggleList plugin, which deals with all of this (and more!) quite nicely, without needing to reach out for the mouse at all.

claremacrae commented 6 months ago

Thank you for the update.

mikedidomizio commented 5 months ago

I'm replying here because even though this is closed, it's still relatively a fresh issue.

I typically find myself creating multiple tasks in rapid succession in a list, for example taking action items during / after a meeting. Trying to do this and adding e.g. creation dates is currently cumbersome / involved.

This is me as well. Having the option to automatically apply the creation date to tasks that follow each other would be an improvement. My current solution is the ToggleList plugin mentioned above, but unless I'm using it incorrectly, it still requires me to toggle the creation date onto the new task with a command.

I would think creation date could be something automatically applied to all tasks created if a user wanted, and not just tasks through the modal. To me the creation date is no different than the creation date of a file in a filesystem.

I think a QOL improvement would be to have this as well, either built into the "Set created date on every task" option or as a separate option.

If there is a plugin that handles this 100% seamlessly without any additional key presses and done automatically, let me know exactly which plugins and the setup to get me there. Everything mentioned seemed like there were some additional steps required.

In view of this size of the backlog for this project, and the demotivating effect of a very long backlog on volunteer energy levels

Is this something that if could be done, and were submitted as a pull request, would be accepted?

Thanks.

claremacrae commented 5 months ago

Is this something that if could be done, and were submitted as a pull request, would be accepted?

I am currently beyond my volunteer capacity dealing with the rate of existing Pull Requests - so I need to be clear beforehand about what would be required, in order to avoid someone possibly wasting their time on it...

So, @mikedidomizio, looking at your profile here and your experience of TypeScript, if you were interesting in doing this and:

Then we can decide what's worth doing before you spend any time on it...

If you're interested, please email the address in my profile - looking forward to hearing from you...

claremacrae commented 5 months ago

Just to add to the above...

I think a QOL improvement would be to have this as well, either built into the "Set created date on every task" option or as a separate option.

This is one of several things that I don't understand about this request...

I think this is saying that every task that already exists in the vault, but doesn't have a Created Date on, should always have today's date added to it, as soon as it is edited.

That doesn't seem right to me, so maybe I'm missing something about this request - but it's an example of the sorts of behaviour that need to be ironed out before deciding whether to spend time on it....

hmijail commented 5 months ago

@mikedidomizio , just FYI: the ToggleList plugin goes a long way but is not perfect for the use case I described (i.e., quickly entering tasks in a list without fumbling with the mouse or using multiple hotkeys per entry). I opened an issue there that would hopefully help.

hmijail commented 5 months ago

(Deleted my previous comment because I misunderstood a statement)

hmijail commented 5 months ago

I think this is saying that every task that already exists in the vault, but doesn't have a Created Date on, should always have today's date added to it, as soon as it is edited.

My 2 cents: personally, I'd only want the Created Date added the moment the task is created, and only if a Created Date wasn't already added manually.

The difficulty I see is that, once you create a task and press enter to advance to the next line, a new task is created automatically. You keep typing, press enter... and at that point the creation date should be added, but probably this looks to the plugin like "editing an already existing task". No idea how much context the plugin has to disambiguate this case.

claremacrae commented 5 months ago

My 2 cents: personally, I'd only want the Created Date added the moment the task is created, and only if a Created Date wasn't already added manually.

So one further difficulty that we have with this is, as far as I can see, we have only two users discussing this, and both wanting different behaviours in one specific aspect.

If so, that means double the number of features to be implemented - and likely a user setting to control the behaviour... User settings have a high maintenance cost for the project, and complexity cost for users...

The difficulty I see is that, once you create a task and press enter to advance to the next line, a new task is created automatically. You keep typing, press enter... and at that point the creation date should be added, but probably this looks to the plugin like "editing an already existing task". No idea how much context the plugin has to disambiguate this case.

Yes, exactly.

No idea how much context the plugin has to disambiguate this case.

Currently none.

The difficulty I see is that, once you create a task and press enter to advance to the next line, a new task is created automatically.

Furthermore, the current limitations that prevent the creation date being at beginning of the line are a significant limitation here.

One can't just add the Creation date as soon as the user creates the new line task line. You have to detect when the user navigates away from the new task line - which might be via a Newline, but it might also be closing the note.

claremacrae commented 5 months ago

It's entirely possible that I am missing some programmatic way of approaching this, of course...

My comments are of course a product of my current knowledge of two years with:

Hence my comment above saying the preconditions for a PR on this. To agree the behaviour first, and how it will be implemented - well, first or early on.

Feature Requests for alternative implementations for alternative solutions are welcome.

For example, a Command to add 'Created today' to the line where the cursor is - so a hotkey can be used, or a button assigned with the Commander plugin.

mikedidomizio commented 5 months ago

I think this is saying that every task that already exists in the vault, but doesn't have a Created Date on, should always have today's date added to it, as soon as it is edited.

My 2 cents: personally, I'd only want the Created Date added the moment the task is created, and only if a Created Date wasn't already added manually.

So one further difficulty that we have with this is, as far as I can see, we have only two users discussing this, and both wanting different behaviours in one specific aspect.

I think my feature request is close to the same as @hmijail. But from this thread I'm not really interested in that. I hope my "scenario" below makes it clear what feature I'm asking for and maybe aligns with what @hmijail is asking for.

I think this is saying that every task that already exists in the vault, but doesn't have a Created Date on, should always have today's date added to it, as soon as it is edited.

Definitely do not want that, I think this would be only for NEW task creation (as an option) and shouldn't modify previous tasks or add the creation date on modifying existing tasks.

Scenario

  1. I have a task that's filled out. P.S. I have the created date in this picture, but perhaps it shouldn't matter for the next steps.
image
  1. I am at the end of the line of my task. I press the Enter key, which will create a new task.

  2. The next task is created with a creation date automatically, and the caret at the place to add task information.

CleanShot 2024-05-26 at 16 11 58@2x

End scenario.

From my reading above though this may be complicated to accomplish? Could a task not be considered brand new when

  1. user fills out task
  2. user hits enter / new line key
  3. new task is created on the next line empty

Would this not be a sequence of events enough to determine a task is new?

If you're interested, please email the address in my profile - looking forward to hearing from you...

Thanks @claremacrae I might take you up on that soon. I just want to get further feedback on the scenario.

claremacrae commented 5 months ago

Thanks @claremacrae I might take you up on that soon. I just want to get further feedback on the scenario.

Actually, sorry to do a quick U-turn, but since I wrote that, we have decided to recognise reality and focus on core Tasks code.

There are some foundational changes that we need to make, to simplify maintenance and support, and increase the rate at which we can release improvements to users.

And almost all my available volunteer time has for many, many months been reactively supporting PR contributors, instead of making long term improvements.

So for the same reasons that I closed this request as not a priority, for the immediately foreseeable future I can no longer justify time spent to support a low-priority request - and nor would we be likely to accept a PR on it either.

We have changed the PR template to reflect this:

https://github.com/obsidian-tasks-group/obsidian-tasks/commit/12188c4a304bc77deaaaf433b2731bc1a7448d22

mikedidomizio commented 5 months ago

Understandable. I was a bit surprised that there wasn't more of an ask for this feature, but I truly understand focusing efforts on the higher priority, bigger impact requests.

Perhaps in the future this may resurface. Until then, thanks @claremacrae and @hmijail.

claremacrae commented 5 months ago

Thank you very much for your kind understanding @mikedidomizio!

hmijail commented 5 months ago

This issue started with pointers to previous related issues/discussions that were left unfinished, so to mothball this issue in a more complete form, I'll just point out that the scenario described by @mikedidomizio has the same problem mentioned here about creating more than 1 task. He said:

3. The next task is created with a creation date automatically, and the caret at the place to add task information.

At this point one can type the task content. The user types, presses Enter to move to next line, and the problem appears: the date will get moved on to the next task. So again we're in the case that there is no way to create more than 1 task with dates without recurring to the mouse or to multiple hotkeys/cursor navigation.

To fix this, the just-finished line should keep the creation date. Maybe the plugin could detect on an Enter press that the caret is 1.in a task line and 2. there's only emoji+dates after the caret, and then move to the next line without dragging them on. Might be somewhat surprising, but I'd argue that less so than e.g. the autosuggest box.

Thank you both for considering the issue anyway.

claremacrae commented 5 months ago

Quoting and reformatting:

To fix this, the just-finished line should keep the creation date. Maybe the plugin could detect on an Enter press that the caret is:

  1. in a task line and
  2. there's only emoji+dates after the caret,

and then move to the next line without dragging them on.

That is a very good idea, and I don't recall it being made before - and it will get lost here, and is not specific to Creation date.

A separate feature request, with a thorough description, would be very welcome.

claremacrae commented 5 months ago

I've changed the status of this from 'won't fix' to 'not planned' - meaning it may be reviewed from time to time...

For context, here is the explanation I sometimes use when marking as 'not planned'.


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 continual 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.

hmijail commented 5 months ago

A separate feature request, with a thorough description, would be very welcome.

Just did that. Thank you for re-reconsidering :)

claremacrae commented 5 months ago

Just did that. Thank you for re-reconsidering :)

Oh dear...

But I'm not reconsidering - there has been some kind of misunderstanding.

Please re-read my comment in https://github.com/obsidian-tasks-group/obsidian-tasks/issues/2786#issuecomment-2134428731 - which explicitly says it is not at all specific to Creation date.

Yet the new ticket - #2861 - says that it is a summary of this one.

claremacrae commented 5 months ago

Never mind, @hmijail - I will create the ticket describing the feature described in https://github.com/obsidian-tasks-group/obsidian-tasks/issues/2786#issuecomment-2134428731 - to avoid risking wasting your time again.

claremacrae commented 5 months ago

Quoting and reformatting:

To fix this, the just-finished line should keep the creation date. Maybe the plugin could detect on an Enter press that the caret is:

  1. in a task line and
  2. there's only emoji+dates after the caret,

and then move to the next line without dragging them on.

That is a very good idea, and I don't recall it being made before - and it will get lost here, and is not specific to Creation date.

A separate feature request, with a thorough description, would be very welcome.

I have written up @hmijail's request at:

claremacrae commented 5 months ago

I think that you may actually have discovered a bug, in which case I will open this.

But first, please read this Example 'Steps to reproduce'

Then, if you can edit the description above, and give a similarly precise and unambiguous set of instructions to reproduce the problem you are seeing, that made you feel it was a bug ... I will go ahead and re-open this, and close the (similarly non-specific) Feature Request.