Add support for customisable TODO keywords

As per Multi-state Workflow (Org Mode Compact Guide) support user customisable keywords for TODO stages and the sequence in which they cycle.
Adding support for the "|" also allows for multiple DONE states, for example a CANCELLED and DONE state are both considered to be done.

This would allow users to configure their own task workflow, or multiple workflows

(setq org-todo-keywords
      '((sequence "TODO" "INPROGRESS" "PENDING" "ONHOLD" "|" "CANCELLED" "DONE")
        (sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")))

Org-mode allows for specifying keys assigned to toggle the state, that would be a bonus but not essential.

would very much like this

Right now there is a system setting that lets you choose between now/later or todo/doing for tasks, but many people use all four. Could we have a fourth setting that allows you to toggle through all four?

2 Likes

Combined threads here to keep similar requests together.

1 Like

Related to Use a more standard flavor of markdown

A common representation of TODO/DONE in Github Flavored Markdown is [ ] and [x] (or [X]), it doesnā€™t include DOING but it is very frequently used.

It would be great if customisation of TODO keywords allowed for this syntax. Maybe ongoing tasks could be written as [o] ? Or for GFM (Github Flavored Markdown) compatibility it could be - [ ] DOING.

7 Likes

The more I think about this, the more I would like something like the original suggestion posted by @benhamilton. I would like separate sequences for different kinds of checklists. For instance, for books I would like something along the lines of: ā€œTOREAD, READING, FINISHEDā€ simply to distinguish it from my ordinary task list. It is possible to add keywords and then filter based on that, but this would be much easier, since only books would use these termsā€¦

11 Likes

I Would like something really simple

  • Custom todos as kind of allias to current TODO DOING DONE states
  • They might should be customisable by custom CSS

For example I really need keyword CANCELLED, it may be treated as a variant od DONE, but with possible of adding custom CSS by user of theme maker in some settings

EDIT: CANCELLED somehow work for me, at least in theme I am using :slight_smile:

Here is an overview of what is currently possible

15 Likes

Considering there is presently a single TODO workflow, I had a similar thought but I would redefine it as allowing custom workflowsā€”and making workflows a primitive. The more I pondered, the more I saw the similarity of my request and this one. And once workflows/keywords are a primitive, visually alternating between outlines and Kanban boards is a more convenient reach whether by plugin or built-in feature.

1 Like

Iā€™ve have finally achieved almost this requirement Iā€™ve had using Obsidian and a plugin called Apply Patterns, which uses RegEx to search/replace text (in my case, hashtags). Details here: Gallery of patterns? Ā· Discussion #43 Ā· jglev/obsidian-apply-patterns-plugin Ā· GitHub

Is there a plugin for Logseq that I use could to do the same?

While there are some variations in the details, the reality is there are at least 3 feature requests which could be merged:

  1. This one.
  2. Introduce custom workflows as a primitive to replace TODOs
  3. NOW / NEXT / LATER tasks workflow

I mention this just to make it easy for admins to close the lot, since I see this is marked as ā€œon-roadmap.ā€

4 Likes

I created a plugin that attempts to address this feature request. Let me know how it goes and whether it can be improved further.

6 Likes

I really like the sequence idea.

However, I wonder if there is a more generic use that could also be applied to Properties too?

Allow a user to define a set of sequence that are maybe ā€œorderedā€ or just ā€œlistsā€.

Then use those in other places in logseq.
ā€œtasksā€,
property-name-value-lists (only allowed values for the property),
property-name-value-suggestions (optional suggestions),
etcā€¦

Agree with the above, Iā€™d like a customisable TODO keyword which allowed me to insert a plain checkbox for simple checklists (like https://www.reddit.com/r/logseq/comments/rw4hnx/how_to_insert_a_plain_checkbox/)

2 Likes

Would certainly like to see these ideas incorporated into Logseq.

This might be a bit too much, but Iā€™d also like to see some ability to link parent TODO items to child TODO items, such that the parent items becomes an Objective and-or measure of progress

2 Likes

Would be nice to know if thereā€™s any plan for supporting this, or if thereā€™s anything blocking it. @tienson

3 Likes

Try TODO Master plugin for a progressbar that updates accordingly to TODOs in children blocks

This has been tagged as on-roadmap since at least March 2022, and has gathered 150 votes. But when I look at the roadmap here: Trello or at the GitHub issues here: Issues Ā· logseq/logseq Ā· GitHub Iā€™m not finding any items or issue that seems to relate to this.

Am I missing it? if so could someone please point me to the appropriate item/issue?

Iā€™m still VERY keen to see this achieved using Logseq. Using org-mode sequences that we can modify for our own personal workflows would be very powerful and useful. And at 150 votes, Iā€™m confident it would be useful to more than just myself.

Thanks,
Ben.

3 Likes

Interesting that this is not prioritized more, considering that built-in task management tends to be mentioned as one of the top advantages logseq has over Obsidian. Why not focus on the strongest parts?

As a side note how well does this Trello board corresponds with dev plans? Not just this, but most of top-voted suggestions from this board are not included, not even in long term. Are these in even more distantier future or is that board incomplete?

3 Likes

Iā€™ve been moving back and forward between Logseq and Obsidian, and one thing really stops me from committing to Logseq,ā€¦ this feature request.

Whatā€™s fundamental to both is that my data is locally stored and I can work with no internet connection, and that data is in a format I can utilise elsewhere. Task Management is a key activity for knowledge workers, and for me itā€™s crucial.

Earlier in this very thread, here, Aryan, shares a Logseq plugin that comes some of the distance, but doesnā€™t fully close this loop for me. It may be enough for others, but I suspect there is a substantial number of others here that really want their own workflows, in their phraseology, to be easily implemented in Logseq.

My feeling is that this should be in the product out of the box. Much the same as every other person wanting their feature native to the product :wink: But I recognise that my priorities and needs may not be the same as those who get to control what is given time and effort.

All the knowledge workers I know have more than one distinct workflow. The two workflows I described at the outset of this thread, are (almost) still the same.

(setq org-todo-keywords
      '((sequence "BACKLOG" "TODO" "INPROGRESS" "PENDING" "ONHOLD" "|" "CANCELLED" "DONE")
        (sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "NOTFIXING" "FIXED")))

Using block properties kinda works, and if there was a plugin (perhaps there is?) that would allow me to manage tasks using block properties, then that might remove the final amount of friction here for me.

It could be a plugin that:

  • uses a block property status (or similar)
  • weā€™d need someplace to specify the workflow sequences
  • the order of statuses in each sequence
  • for each workflow, which statuses are ā€˜openā€™ statuses, which are ā€˜closedā€™ statuses
  • set a keyboard shortcut that would cycle the statuses for the current task, through the values in the sequence for the workflow in use (happy to keep statuses globally unique as this keeps it easier for humans to both know where in a workflow a thing is, and which workflow it is in)
  • ideally a shift-<keyboard_shortcut>` would cycle in statuses in reverse order (or separately definable)
  • bonus would be to track total time in each status (Iā€™ve not need to keep an audit of when it switched back and forth

Thusly, if there isnā€™t going to be any communication from the developers, either via this thread, the roadmap, or via git issues, then are there any plugin developers interested in discussing this further?

Specifically, Iā€™m curious to know how much time/effort youā€™d feel is involved in achieving the above.

4 Likes