emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* org-todo-keywords and task sequence
@ 2023-01-17  6:10 David Masterson
  2023-01-17  8:10 ` Daniel Fleischer
  2023-01-17 10:56 ` Ihor Radchenko
  0 siblings, 2 replies; 13+ messages in thread
From: David Masterson @ 2023-01-17  6:10 UTC (permalink / raw)
  To: emacs-orgmode

I'm not sure I understand 'sequence' and 'type' in org-todo-keywords.
In particular, I can only think of the following simple sequence as
being possible in org-todo-keywords:

TODO -> IN-PROCESS -> DONE

If I want to add in (say) WAITING, the graph (represented as a table)
becomes:

i\o  | TODO | IN-P | WAIT | DONE
TODO |  N   |  Y   |  N   |  N
IN-P |  N   |  N   |  Y   |  Y
WAIT |  N   |  Y   |  N   |  N
DONE |  N   |  N   |  N   |  N

This table could be more complex with more Ys or more states in the task
processing (like HOLD).  I do not see what the proper sequence(s) to use
for representing this table in Org.

Hints?

-- 
David Masterson


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17  6:10 org-todo-keywords and task sequence David Masterson
@ 2023-01-17  8:10 ` Daniel Fleischer
  2023-01-17  8:17   ` Daniel Fleischer
  2023-01-17 10:56 ` Ihor Radchenko
  1 sibling, 1 reply; 13+ messages in thread
From: Daniel Fleischer @ 2023-01-17  8:10 UTC (permalink / raw)
  To: David Masterson; +Cc: emacs-orgmode

David Masterson <dsmasterson@gmail.com> writes:

> I'm not sure I understand 'sequence' and 'type' in org-todo-keywords.

You're over thinking it. You can define various todo keywords and they
are divided into two groups that can be thought of as "ones that need
your attention" and "ones that don't need your attention" and they are
separated by a literal "|". Example: todo, in progress, on hold,
waiting, phonecall etc are of the 1st type. Done, canceled, postponed are of the
2nd type. In terms of "moving" between them, it's either cyclical or you
can jump to a specific word using shortcuts you define e.g.

#+TODO: TODO(t) | DONE(d)

Don't let the cyclical switching dictates the meaning, it's just an
implementation detail, done for simplicity. Hope it helped.

-- 
Daniel Fleischer


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17  8:10 ` Daniel Fleischer
@ 2023-01-17  8:17   ` Daniel Fleischer
  2023-01-17 18:08     ` David Masterson
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel Fleischer @ 2023-01-17  8:17 UTC (permalink / raw)
  To: David Masterson; +Cc: emacs-orgmode

Daniel Fleischer [2023-01-17 Tue 10:10] wrote:

> Don't let the cyclical switching dictates the meaning, it's just an
> implementation detail, done for simplicity. Hope it helped.

Put another way, if you define A B | C D E

and the UI switching is A->B->C->D->E->A

it doesn't mean the B going into C makes sense or D going into E makes
sense, it's just how the UI is built. You give meaning to the states and
what states transitions are valid (in your world). Like many things, org
gives some structure to work with and we need to give the meaning.

-- 
Daniel Fleischer


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17  6:10 org-todo-keywords and task sequence David Masterson
  2023-01-17  8:10 ` Daniel Fleischer
@ 2023-01-17 10:56 ` Ihor Radchenko
  2023-01-17 18:13   ` David Masterson
  1 sibling, 1 reply; 13+ messages in thread
From: Ihor Radchenko @ 2023-01-17 10:56 UTC (permalink / raw)
  To: David Masterson; +Cc: emacs-orgmode

David Masterson <dsmasterson@gmail.com> writes:

> I'm not sure I understand 'sequence' and 'type' in org-todo-keywords.
> In particular, I can only think of the following simple sequence as
> being possible in org-todo-keywords:
>
> TODO -> IN-PROCESS -> DONE
>
> If I want to add in (say) WAITING, the graph (represented as a table)
> becomes:
>
> i\o  | TODO | IN-P | WAIT | DONE
> TODO |  N   |  Y   |  N   |  N
> IN-P |  N   |  N   |  Y   |  Y
> WAIT |  N   |  Y   |  N   |  N
> DONE |  N   |  N   |  N   |  N

The main purpose of the keyword sequences is working on tasks in steps.
When a keyword is a part of sequence, you can just use S-<right>
S-<left> to progress the task. For example:

NEXT -> DOING -> REVIEW -> DONE 

Such sequence is only making sense when everything goes "as usual" with
a task and you do not want to think about which keyword to assign.

The transition IN-PROGRESS -> WAIT is something you have to decide
consciously. Org cannot just read you mind and change IN-PROGRESS to
WAIT. You will have set such transition manually.

For your table, you can try something like

#+TODO: WAIT IN-PROCESS
#+TODO: TODO IN-PROCESS | DONE

Note, however, that moving S-<left> will be ambiguous.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17  8:17   ` Daniel Fleischer
@ 2023-01-17 18:08     ` David Masterson
  2023-01-17 18:30       ` Ihor Radchenko
  0 siblings, 1 reply; 13+ messages in thread
From: David Masterson @ 2023-01-17 18:08 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: emacs-orgmode

Daniel Fleischer <danflscr@gmail.com> writes:

> Daniel Fleischer [2023-01-17 Tue 10:10] wrote:
>
>> Don't let the cyclical switching dictates the meaning, it's just an
>> implementation detail, done for simplicity. Hope it helped.
>
> Put another way, if you define A B | C D E
>
> and the UI switching is A->B->C->D->E->A
>
> it doesn't mean the B going into C makes sense or D going into E makes
> sense, it's just how the UI is built. You give meaning to the states and
> what states transitions are valid (in your world). Like many things, org
> gives some structure to work with and we need to give the meaning.

The problem is (I think), when you attach @ or ! to the state and, as you
cycle thru (S-right), new unintended notes will be added as you cycle to
the state you're looking for.  True?

Can you repeat a keyword in org-todo-keywords? Perhaps there should be a
sparse table defining, for a current state, what are the potential next
states?  Org-Edna...?

-- 
David Masterson


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17 10:56 ` Ihor Radchenko
@ 2023-01-17 18:13   ` David Masterson
  2023-01-17 18:32     ` Ihor Radchenko
  0 siblings, 1 reply; 13+ messages in thread
From: David Masterson @ 2023-01-17 18:13 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode

Ihor Radchenko <yantar92@posteo.net> writes:

F> David Masterson <dsmasterson@gmail.com> writes:
>
>> I'm not sure I understand 'sequence' and 'type' in org-todo-keywords.
>> In particular, I can only think of the following simple sequence as
>> being possible in org-todo-keywords:
>>
>> TODO -> IN-PROCESS -> DONE
>>
>> If I want to add in (say) WAITING, the graph (represented as a table)
>> becomes:
>>
>> i\o  | TODO | IN-P | WAIT | DONE
>> TODO |  N   |  Y   |  N   |  N
>> IN-P |  N   |  N   |  Y   |  Y
>> WAIT |  N   |  Y   |  N   |  N
>> DONE |  N   |  N   |  N   |  N
>
> The main purpose of the keyword sequences is working on tasks in steps.
> When a keyword is a part of sequence, you can just use S-<right>
> S-<left> to progress the task. For example:
>
> NEXT -> DOING -> REVIEW -> DONE 
>
> Such sequence is only making sense when everything goes "as usual" with
> a task and you do not want to think about which keyword to assign.
>
> The transition IN-PROGRESS -> WAIT is something you have to decide
> consciously. Org cannot just read you mind and change IN-PROGRESS to
> WAIT. You will have set such transition manually.
>
> For your table, you can try something like
>
> #+TODO: WAIT IN-PROCESS
> #+TODO: TODO IN-PROCESS | DONE

This is on a per-file basis, correct?  This can't be done in
org-todo-keywords? 

> Note, however, that moving S-<left> will be ambiguous.

Ambiguous or not possible?

Perhaps there should be a sparse table var to represent the table above
and drop sequence?  More flexible?  Org-Edna?

-- 
David Masterson


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17 18:08     ` David Masterson
@ 2023-01-17 18:30       ` Ihor Radchenko
  2023-01-18  1:59         ` David Masterson
  2023-01-18  2:17         ` David Masterson
  0 siblings, 2 replies; 13+ messages in thread
From: Ihor Radchenko @ 2023-01-17 18:30 UTC (permalink / raw)
  To: David Masterson; +Cc: Daniel Fleischer, emacs-orgmode

David Masterson <dsmasterson@gmail.com> writes:

> The problem is (I think), when you attach @ or ! to the state and, as you
> cycle thru (S-right), new unintended notes will be added as you cycle to
> the state you're looking for.  True?

If you attach @ or !, those notes are not unintended.
S-right is not for you to play around, it is for actual work on actual
tasks. If you tell Org to take a not on switching to next TODO state,
that's what you want. If you don't want it, don't put @ or !.

> Can you repeat a keyword in org-todo-keywords? Perhaps there should be a
> sparse table defining, for a current state, what are the potential next
> states? ...

No. S-right feature is there for simple workflows.
I am against introducing complex workflows for no reason.
It will do no good for the users. Complex workflows are rarely useful in
practice, except some specialized scenarios, which are not common enough
to include into the core.

And yes, you can use org-edna or custom org-trigger-hook if you need
something non-orthodox.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17 18:13   ` David Masterson
@ 2023-01-17 18:32     ` Ihor Radchenko
  2023-01-18  2:07       ` David Masterson
  0 siblings, 1 reply; 13+ messages in thread
From: Ihor Radchenko @ 2023-01-17 18:32 UTC (permalink / raw)
  To: David Masterson; +Cc: emacs-orgmode

David Masterson <dsmasterson@gmail.com> writes:

>> #+TODO: WAIT IN-PROCESS
>> #+TODO: TODO IN-PROCESS | DONE
>
> This is on a per-file basis, correct?  This can't be done in
> org-todo-keywords? 

It can. You can have multiple 'sequence-s there.

>> Note, however, that moving S-<left> will be ambiguous.
>
> Ambiguous or not possible?

Ambiguous is: consider a task IN-PROCESS and you press S-left. Should
Org go to TODO or to WAIT? Org will choose one, but there are no defined
rules.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17 18:30       ` Ihor Radchenko
@ 2023-01-18  1:59         ` David Masterson
  2023-01-18  2:17         ` David Masterson
  1 sibling, 0 replies; 13+ messages in thread
From: David Masterson @ 2023-01-18  1:59 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Daniel Fleischer, emacs-orgmode

Ihor Radchenko <yantar92@posteo.net> writes:

> David Masterson <dsmasterson@gmail.com> writes:
>
>> The problem is (I think), when you attach @ or ! to the state and, as you
>> cycle thru (S-right), new unintended notes will be added as you cycle to
>> the state you're looking for.  True?
>
> If you attach @ or !, those notes are not unintended.
> S-right is not for you to play around, it is for actual work on actual
> tasks. If you tell Org to take a note on switching to next TODO state,
> that's what you want. If you don't want it, don't put @ or !.

Or cycling -- note taking is much more important and cycling only works
for simple workflows.  My previous example shows how easy it is to make
a (by Org definition) "complex" workflow.  I could probably use tags for
changing states, but notes are not automatic.  And you're using two
things for essentially the same purpose (state transition).

>> Can you repeat a keyword in org-todo-keywords? Perhaps there should be a
>> sparse table defining, for a current state, what are the potential next
>> states? ...
>
> No. S-right feature is there for simple workflows.  I am against
> introducing complex workflows for no reason.  It will do no good for
> the users. Complex workflows are rarely useful in practice, except
> some specialized scenarios, which are not common enough to include
> into the core.

If org-todo-keywords has no sequence, does S-right cycle?  I suppose I
could shift to just types and tags and avoid S-right.

Workflows can easily get complex -- just add WAIT and HOLD for example.

> And yes, you can use org-edna or custom org-trigger-hook if you need
> something non-orthodox.

I'll have to explore org-edna more.  I do think that the use of
"sequence" in org-todo-keywords complicates the variable because it
talks about "simple workflow" and leaves people wondering (like me) how
to change their view of a workflow to fit Org.

I'll play with it some more.

-- 
David Masterson


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17 18:32     ` Ihor Radchenko
@ 2023-01-18  2:07       ` David Masterson
  2023-01-18 11:06         ` Ihor Radchenko
  0 siblings, 1 reply; 13+ messages in thread
From: David Masterson @ 2023-01-18  2:07 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode

Ihor Radchenko <yantar92@posteo.net> writes:

> David Masterson <dsmasterson@gmail.com> writes:
>
>>> #+TODO: WAIT IN-PROCESS
>>> #+TODO: TODO IN-PROCESS | DONE
>>
>>> Note, however, that moving S-<left> will be ambiguous.
>>
>> Ambiguous or not possible?
>
> Ambiguous is: consider a task IN-PROCESS and you press S-left. Should
> Org go to TODO or to WAIT? Org will choose one, but there are no defined
> rules.

Ah.  Could Org offer a choice of TODO or WAIT (a la Ido style)?

-- 
David Masterson


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-17 18:30       ` Ihor Radchenko
  2023-01-18  1:59         ` David Masterson
@ 2023-01-18  2:17         ` David Masterson
  2023-01-18 11:04           ` Ihor Radchenko
  1 sibling, 1 reply; 13+ messages in thread
From: David Masterson @ 2023-01-18  2:17 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Daniel Fleischer, emacs-orgmode

Ihor Radchenko <yantar92@posteo.net> writes:

> David Masterson <dsmasterson@gmail.com> writes:
>
>> The problem is (I think), when you attach @ or ! to the state and, as you
>> cycle thru (S-right), new unintended notes will be added as you cycle to
>> the state you're looking for.  True?
>
> If you attach @ or !, those notes are not unintended.
> S-right is not for you to play around, it is for actual work on actual
> tasks. If you tell Org to take a not on switching to next TODO state,
> that's what you want. If you don't want it, don't put @ or !.

I think I understand what you're saying, but the last statement seems
wrong and should be "don't use cycling or sequences".  Notes are much
more important feature.

What I've been saying is that, except for simple sequences, cycling will
get you into trouble with notes as a lazy person (aren't we all?) may
cycle thru something unintended.

>> Can you repeat a keyword in org-todo-keywords? Perhaps there should be a
>> sparse table defining, for a current state, what are the potential next
>> states? ...
>
> No. S-right feature is there for simple workflows.
> I am against introducing complex workflows for no reason.
> It will do no good for the users. Complex workflows are rarely useful in
> practice, except some specialized scenarios, which are not common enough
> to include into the core.

The problem is that todo keywords are being treated both as "state"
(sequence) and "type" (type) which mixes things up.  I guess I'm used to
thinking of workflows as a digraph -- particularly in big projects where
you want to be able to justify your work to the boss.  But, I guess
that's clock in/out.

> And yes, you can use org-edna or custom org-trigger-hook if you need
> something non-orthodox.

I'll have to look at org-edna more.

Thanks

-- 
David Masterson


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-18  2:17         ` David Masterson
@ 2023-01-18 11:04           ` Ihor Radchenko
  0 siblings, 0 replies; 13+ messages in thread
From: Ihor Radchenko @ 2023-01-18 11:04 UTC (permalink / raw)
  To: David Masterson; +Cc: Daniel Fleischer, emacs-orgmode

David Masterson <dsmasterson@gmail.com> writes:

> What I've been saying is that, except for simple sequences, cycling will
> get you into trouble with notes as a lazy person (aren't we all?) may
> cycle thru something unintended.

As any other Org feature, this one is useful for some people. And not
useful for others. You don't have to use it.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: org-todo-keywords and task sequence
  2023-01-18  2:07       ` David Masterson
@ 2023-01-18 11:06         ` Ihor Radchenko
  0 siblings, 0 replies; 13+ messages in thread
From: Ihor Radchenko @ 2023-01-18 11:06 UTC (permalink / raw)
  To: David Masterson; +Cc: emacs-orgmode

David Masterson <dsmasterson@gmail.com> writes:

>> Ambiguous is: consider a task IN-PROCESS and you press S-left. Should
>> Org go to TODO or to WAIT? Org will choose one, but there are no defined
>> rules.
>
> Ah.  Could Org offer a choice of TODO or WAIT (a la Ido style)?

If you need that choice, just use C-c C-t. I do not think that we need
to complicate S-left/right that much.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-01-18 11:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-17  6:10 org-todo-keywords and task sequence David Masterson
2023-01-17  8:10 ` Daniel Fleischer
2023-01-17  8:17   ` Daniel Fleischer
2023-01-17 18:08     ` David Masterson
2023-01-17 18:30       ` Ihor Radchenko
2023-01-18  1:59         ` David Masterson
2023-01-18  2:17         ` David Masterson
2023-01-18 11:04           ` Ihor Radchenko
2023-01-17 10:56 ` Ihor Radchenko
2023-01-17 18:13   ` David Masterson
2023-01-17 18:32     ` Ihor Radchenko
2023-01-18  2:07       ` David Masterson
2023-01-18 11:06         ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).