Task management devs - define a shared date and action format

A bit of a different take on this proposal (as I’ve been mulling over the same problem of lack of interoperability of task plugins) that maybe makes it more complex before making it simpler:

What if in addition to inline (ie in .md files) tasks, one could also keep one or more CSVs of tasks? In that case, any number of fields could be defined, but really only those in use in that file would be added as columns.

Ideally then the native tasks are truly “checklist” items related to the given note, but anything that goes much more beyond that (start/end/due/planned/recurring/etc) becomes a task in the database (that you maybe reference / transclude / backlink) to a given note.

Thoughts?

I am a simple user of obsidian and not a plugin developer but I would like to see that the core method of working with tasks is to be improved on instead of developing a standard for so many plugins.

To say it frankly and with respect to plugin developers … I think most task related plugins are not needed when the core task system would be improved on.

Some point to improve on the core task options:

Loose the need for "- [ ]"
Why does it need to be in a list? Feels very unnaturally when I am writing a text and add a task somewhere in the middle (on a separate row).

I understand we need some kind of syntax to define a task but a list should not be needed.

Things you would like to track about a tasks are:

  1. the fact that it is a task
  2. the status of task (todo, doing, now, later, waiting, cancelled, wait on client, wait on co-worker, anything you want). This status should be dynamic.
  3. date related values (created, started, due, scheduled, cancelled, done, also many more possiblities). Also be dynamic.
  4. are there more things to be tracked about a task … ? Not in my use case, but please add…

I think the assumption can be made that a task is always only on 1 row (although it can be on multiple lines in the editor). That seems reasonable to me.

With that in mind you could use the following syntax to work with the points mentioned above.

  1. If you specify that a task always has/needs a status (see point 2. below) that status is then the task defining syntax.
  2. The different statuses could be realised by using the status prefixed with a “//” (other modifier keys can be used ofcourse).
    For example //todo or //waiting. The entire row without the // ‘fields’ would be the description of the task.
  3. Same goes for date-related values only you combine the type of date with the actual date. Like for example //due//2022-03-21 or //done//2022-03-20. This needs to be added in the same row as the // to be applied to that task.

An example task would be something like so:

//doing Create the yearly report for [[John Doe]] //due//2022-03-20 to include the new formatting rules [[Cindy James]] will send to me //wait-on-coworker.

This is a task I am working on (//doing), for which there is a due date (//due//2022-03-20) and I am also waiting on a co-worker to give me some needed information to finish this task (//wait-on-coworker).

When the // fields could be shown in a different formatting by CSS that would be great also.

It is most easy to agree about a common date format but the the one used in daily notes settings could also be used. I do not know enough about the issue’s with different date formats.

together with changes to the default ```query possibilities so it recognises the “//” field for the use for tasks I think you then have a working task management that would eliminate the need for separate plugins.

You could make it all fancy from there on by adding the possibility to add a GUI that reads the lines with tasks (// fields) and create a GUI based on the fields used (like the tasks plugin does). And you could even make some settings to define the modifier key (in my example the “//” or define the different states and date values you want to use in the GUI.

I hope my explanation is clear. I am not a fan of plugins in general and I think a solid task management system should be included in Obsidian without depending on plugins. The current is IMHO not mature enough. Plugin can be created on top of a good task system.

But I like to know … what more would you need then statuses and date values … ? I know there is always more … but really?

This post has become a bit longer than I expected so I you made it to here. Thanks for reading … :+1:

Regards, Jeroen

I also think as task to be a core functionality and for me tasks are typically related to any block in any note. Once again markdown is the limiting factor because it’s an unstructured graphical text representation with pretty loose syntax, and until people are afraid to make exotic extension to it (or accept that companion structured data is needed) they won’t be anything more than paragraphs with a square next to it. Even HTML allows more expressivity, semantic and extensivity.

I’m with you on the distinction between what should be core and plugin. For me plugins should be exclusively enriching concepts that the core introduces and standardise. When plugins starts to offer core and fundamental features it means the core is mostly empty, doesn’t drive the developpement. Having to spend time on different computers installing the same plugins and configuring them the same way is a bit annoying.

To push the concept further, core functionalities have the advantage of working in search, in editor, in auto-complete, everywhere, and then plugins can make the experience even richer by building on the strong foundation. When a functionality is brought by a plugin, it will only exist, work, sync and be extended inside that plugin. There is no commitment that the plugin will continue to exist or that the core won’t break it in the future, no guarantee other views will work with it.

I know developpers are just two and things won’t happen until long term, but i don’t see any blog talking about the future, about long term design directions, about roadmap or architecture. If i knew stuff is coming then i will stay for it and support it, but if all changes are little improvement here and there for the mobile experience, but things related to organisation workflow, knowledge management or big changes are to never happen or always as a “you can make it as plugin”, it will be hard to keep investing in the product which has a super promising start but needs to follow the curve and not stop in the middle.

So I hope they see obsidian as mid developpement and have a rich feature set for version 2 and not as a finished product that just need polish :wink:

What is a “rich feature set,” to you? Be sure to post specific requests, or upvote existing ones that match.

This shouldn’t be necessary. It is easy to sync plugins and their configuration.

1 Like

Hi all,

As I was trying to make the Tasks plugin work with the Kanban plugin, I stumbled upon this post. I’m glad this discussion was initiated!
Has any progress been made regarding standardizing date formats for tasks?

While I still plan for Tasks to support the signifiers mentioned here, it will still be a while until it actually does. Time is scarce.

2 Likes

Unfortunately I’m not a developer and the topic of tasks in obsidian is a bit tedious for me.

I think there is a proposal for a standard format of tasks in text that is very widespread and it would be great if it were replicated in obsidian: todo.txt