* depending TODOs, scheduling following TODOs automatically @ 2007-10-08 6:56 Rainer Stengele 2007-10-08 13:26 ` Denis Bueno 0 siblings, 1 reply; 58+ messages in thread From: Rainer Stengele @ 2007-10-08 6:56 UTC (permalink / raw) To: emacs-orgmode Hi! Having a TODO which depends on an earlier TODO I would like to trigger the timestamped scheduling of the following TODO when the former is DONE. How do you folks handle such dependencies? Could any automatic process be implemented? * TODO job 1 SCHEDULED: <2007-10-12 Fr> * TODO job 2 (followup of job 1) * TODO job 3 (followup of job 2) rainer ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 6:56 depending TODOs, scheduling following TODOs automatically Rainer Stengele @ 2007-10-08 13:26 ` Denis Bueno 2007-10-08 13:43 ` Russell Adams 0 siblings, 1 reply; 58+ messages in thread From: Denis Bueno @ 2007-10-08 13:26 UTC (permalink / raw) To: Rainer Stengele; +Cc: emacs-orgmode On 10/8/07, Rainer Stengele <rainer.stengele@diplan.de> wrote: > Hi! > > Having a TODO which depends on an earlier TODO I would like to trigger the timestamped scheduling of > the following TODO when the former is DONE. I second this request. I often like to schedule a workflow where task A must precede B which precedes C, &c., but I'd rather not see that B and C are scheduled until and (and B, respectively) are DONE. Seems like a very useful way to organise. -- Denis ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 13:26 ` Denis Bueno @ 2007-10-08 13:43 ` Russell Adams 2007-10-08 13:52 ` Russell Adams 2007-10-08 14:49 ` Eddward DeVilla 0 siblings, 2 replies; 58+ messages in thread From: Russell Adams @ 2007-10-08 13:43 UTC (permalink / raw) To: emacs-orgmode Lets make that more generic. How do you organize your dependencies anyway? The basic hierarchy can't always be setup in order. One of the things I'd considered is an optional GUID property for each todo, and then a DEPENDS property with the GUID of any (potentially multiple?) dependencies. There'd need to be a way to navigate this list, though goto via GUID link would work nicely. It may even be appropriate to list the current TODO as BLOCKED until all dependencies are DONE. Russell On Mon, Oct 08, 2007 at 09:26:58AM -0400, Denis Bueno wrote: > On 10/8/07, Rainer Stengele <rainer.stengele@diplan.de> wrote: > > Hi! > > > > Having a TODO which depends on an earlier TODO I would like to trigger the timestamped scheduling of > > the following TODO when the former is DONE. > > I second this request. I often like to schedule a workflow where task > A must precede B which precedes C, &c., but I'd rather not see that B > and C are scheduled until and (and B, respectively) are DONE. Seems > like a very useful way to organise. > > -- > Denis > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 13:43 ` Russell Adams @ 2007-10-08 13:52 ` Russell Adams 2007-10-08 19:48 ` Carsten Dominik 2007-10-08 14:49 ` Eddward DeVilla 1 sibling, 1 reply; 58+ messages in thread From: Russell Adams @ 2007-10-08 13:52 UTC (permalink / raw) To: emacs-orgmode I know I'm replying to myself, but I had an idea. If a link could show the state of a linked TODO, that would make for a good visualization. I could then follow the link and just adjust my order to account for dependencies. It sounds like a more "permanent" agenda view that you could edit to get the right order. Ie: * Things to do in reverse order ** TODO One ** TODO Two ** TODO Three * Implementation Order TODO Three TODO Two TODO One On Mon, Oct 08, 2007 at 08:43:53AM -0500, Russell Adams wrote: > Lets make that more generic. How do you organize your dependencies > anyway? The basic hierarchy can't always be setup in order. > > One of the things I'd considered is an optional GUID property for each > todo, and then a DEPENDS property with the GUID of any (potentially > multiple?) dependencies. > > There'd need to be a way to navigate this list, though goto via GUID > link would work nicely. It may even be appropriate to list the current > TODO as BLOCKED until all dependencies are DONE. > > Russell > > On Mon, Oct 08, 2007 at 09:26:58AM -0400, Denis Bueno wrote: > > On 10/8/07, Rainer Stengele <rainer.stengele@diplan.de> wrote: > > > Hi! > > > > > > Having a TODO which depends on an earlier TODO I would like to trigger the timestamped scheduling of > > > the following TODO when the former is DONE. > > > > I second this request. I often like to schedule a workflow where task > > A must precede B which precedes C, &c., but I'd rather not see that B > > and C are scheduled until and (and B, respectively) are DONE. Seems > > like a very useful way to organise. > > > > -- > > Denis > > > > > > _______________________________________________ > > Emacs-orgmode mailing list > > Remember: use `Reply All' to send replies to the list. > > Emacs-orgmode@gnu.org > > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > ------------------------------------------------------------------ > Russell Adams RLAdams@AdamsInfoServ.com > > PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ > > Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 13:52 ` Russell Adams @ 2007-10-08 19:48 ` Carsten Dominik 2007-10-08 20:12 ` Russell Adams 0 siblings, 1 reply; 58+ messages in thread From: Carsten Dominik @ 2007-10-08 19:48 UTC (permalink / raw) To: Russell Adams; +Cc: emacs-orgmode On Oct 8, 2007, at 15:52, Russell Adams wrote: > I know I'm replying to myself, but I had an idea. > > If a link could show the state of a linked TODO, that would make for a > good visualization. I could then follow the link and just adjust my > order to account for dependencies. It sounds like a more "permanent" > agenda view that you could edit to get the right order. > > Ie: > > * Things to do in reverse order > ** TODO One > ** TODO Two > ** TODO Three > > * Implementation Order > > TODO Three > TODO Two > TODO One I don't know what others think, but I did not understand a single word of this message :-) Could you please be a bit more verbose? - Carsten > > > > On Mon, Oct 08, 2007 at 08:43:53AM -0500, Russell Adams wrote: >> Lets make that more generic. How do you organize your dependencies >> anyway? The basic hierarchy can't always be setup in order. >> >> One of the things I'd considered is an optional GUID property for each >> todo, and then a DEPENDS property with the GUID of any (potentially >> multiple?) dependencies. >> >> There'd need to be a way to navigate this list, though goto via GUID >> link would work nicely. It may even be appropriate to list the current >> TODO as BLOCKED until all dependencies are DONE. >> >> Russell >> >> On Mon, Oct 08, 2007 at 09:26:58AM -0400, Denis Bueno wrote: >>> On 10/8/07, Rainer Stengele <rainer.stengele@diplan.de> wrote: >>>> Hi! >>>> >>>> Having a TODO which depends on an earlier TODO I would like to >>>> trigger the timestamped scheduling of >>>> the following TODO when the former is DONE. >>> >>> I second this request. I often like to schedule a workflow where >>> task >>> A must precede B which precedes C, &c., but I'd rather not see that B >>> and C are scheduled until and (and B, respectively) are DONE. Seems >>> like a very useful way to organise. >>> >>> -- >>> Denis >>> >>> >>> _______________________________________________ >>> Emacs-orgmode mailing list >>> Remember: use `Reply All' to send replies to the list. >>> Emacs-orgmode@gnu.org >>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >> ------------------------------------------------------------------ >> Russell Adams RLAdams@AdamsInfoServ.com >> >> PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ >> >> Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 >> >> >> _______________________________________________ >> Emacs-orgmode mailing list >> Remember: use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode > ------------------------------------------------------------------ > Russell Adams RLAdams@AdamsInfoServ.com > > PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ > > Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > -- Carsten Dominik Sterrenkundig Instituut "Anton Pannekoek" Universiteit van Amsterdam Kruislaan 403 NL-1098SJ Amsterdam phone: +31 20 525 7477 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 19:48 ` Carsten Dominik @ 2007-10-08 20:12 ` Russell Adams 2007-10-09 10:13 ` Carsten Dominik 0 siblings, 1 reply; 58+ messages in thread From: Russell Adams @ 2007-10-08 20:12 UTC (permalink / raw) To: emacs-orgmode On Mon, Oct 08, 2007 at 09:48:28PM +0200, Carsten Dominik wrote: > > On Oct 8, 2007, at 15:52, Russell Adams wrote: > > >I know I'm replying to myself, but I had an idea. > > > >If a link could show the state of a linked TODO, that would make for a > >good visualization. I could then follow the link and just adjust my > >order to account for dependencies. It sounds like a more "permanent" > >agenda view that you could edit to get the right order. > > > >Ie: > > > >* Things to do in reverse order > >** TODO One > >** TODO Two > >** TODO Three > > > >* Implementation Order > > > > TODO Three > > TODO Two > > TODO One > > I don't know what others think, but I did not understand a single word > of this message :-) Could you please be a bit more verbose? > > - Carsten I don't use links often... If I could have a link to another TODO item, but have the visible portion of the link display the status of the target TODO item. Ie: * Things to do in reverse order ** TODO One ** TODO Two ** DONE Three * Implementation Order [[file:..*Three][DONE Three]] [[file:..*Two][TODO Two]] [[file:..*One][TODO One]] This way I can follow the link from the implementation order to the right todo item, the part that is missing is an automated state update regarding the TODO linked to. Better? ;] Russell ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 20:12 ` Russell Adams @ 2007-10-09 10:13 ` Carsten Dominik 0 siblings, 0 replies; 58+ messages in thread From: Carsten Dominik @ 2007-10-09 10:13 UTC (permalink / raw) To: Russell Adams; +Cc: emacs-orgmode On Oct 8, 2007, at 22:12, Russell Adams wrote: > > I don't use links often... If I could have a link to another TODO > item, but have the visible portion of the link display the status of > the target TODO item. > > Ie: > > * Things to do in reverse order > ** TODO One > ** TODO Two > ** DONE Three > > * Implementation Order > > [[file:..*Three][DONE Three]] > [[file:..*Two][TODO Two]] > [[file:..*One][TODO One]] > > This way I can follow the link from the implementation order to the > right todo item, the part that is missing is an automated state update > regarding the TODO linked to. > > Better? ;] Yes, this is clearer, thank you. - Carsten ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 13:43 ` Russell Adams 2007-10-08 13:52 ` Russell Adams @ 2007-10-08 14:49 ` Eddward DeVilla 2007-10-08 20:55 ` Bastien 2007-10-09 9:44 ` Christian Egli 1 sibling, 2 replies; 58+ messages in thread From: Eddward DeVilla @ 2007-10-08 14:49 UTC (permalink / raw) To: emacs-orgmode I've been waiting to see if org might develop something like todo dependency ordering. Seems like one could use this with and estimated time to complete a todo item to generate a milestone table or more easily estimate how long a group of tasks will require to complete or when the soonest a given step could begin. I'm not sure if I like having the unique ID property for the todo. With drawers, it would be hidden at least and org can probably make sure they really are unique. Attaching a unique ID to todos could probably be useful in other ways to. It just doesn't feel right for a format where pretty much every thing in the files tend to be fit for human consumption. I guess I'm assuming the ID would just be a number, it could be something a little more readable/meaningful. You could allow (but not require) an arbitrary label property on each todo item. You could allow multiple dependencies (a list property?) where the dependency is named via the label (requiring that any todo item that is depended upon have a label). You could have an operation in or that will insert a label property into the PROPERTIES drawer for the current todo item for the user, possibly prompting the user for a label or automatically generating a UID based on prefix key or customization. Lastly you could have operations to copy labels and dependencies and paste them into and delete them from dependency lists (but not labels) in org buffers and agenda buffers to edit dependencies. I like that the label described above could be something the user defines or it could just random looking uid. I don't know if it would ever be used that way. I'm also not sure if an item should be allow more than one label. It would be like a software package the 'provides' more than one feature. I'm not sure it make sense in project planning. Would it be valid to name dependencies before you know where they will be addressed? I know I tend to determine dependencies well before I know when or will they get addressed, but then I don't claim to know what I'm doing most of the time. Edd On 10/8/07, Russell Adams <RLAdams@adamsinfoserv.com> wrote: > Lets make that more generic. How do you organize your dependencies > anyway? The basic hierarchy can't always be setup in order. > > One of the things I'd considered is an optional GUID property for each > todo, and then a DEPENDS property with the GUID of any (potentially > multiple?) dependencies. > > There'd need to be a way to navigate this list, though goto via GUID > link would work nicely. It may even be appropriate to list the current > TODO as BLOCKED until all dependencies are DONE. > > Russell > > On Mon, Oct 08, 2007 at 09:26:58AM -0400, Denis Bueno wrote: > > On 10/8/07, Rainer Stengele <rainer.stengele@diplan.de> wrote: > > > Hi! > > > > > > Having a TODO which depends on an earlier TODO I would like to trigger the timestamped scheduling of > > > the following TODO when the former is DONE. > > > > I second this request. I often like to schedule a workflow where task > > A must precede B which precedes C, &c., but I'd rather not see that B > > and C are scheduled until and (and B, respectively) are DONE. Seems > > like a very useful way to organise. > > > > -- > > Denis > > > > > > _______________________________________________ > > Emacs-orgmode mailing list > > Remember: use `Reply All' to send replies to the list. > > Emacs-orgmode@gnu.org > > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > ------------------------------------------------------------------ > Russell Adams RLAdams@AdamsInfoServ.com > > PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ > > Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 14:49 ` Eddward DeVilla @ 2007-10-08 20:55 ` Bastien 2007-10-08 20:26 ` Adam Spiers 2007-10-08 20:35 ` Eddward DeVilla 2007-10-09 9:44 ` Christian Egli 1 sibling, 2 replies; 58+ messages in thread From: Bastien @ 2007-10-08 20:55 UTC (permalink / raw) To: emacs-orgmode Implementing tasks-dependencies sounds pretty exciting! I'd like to jump in this discussion with a very simple idea. ,---- | * TODO When this task is marked done, send SCHEDULED to the next task | :PROPERTIES: | :SEND: {SCHEDULED 'next "+1d"} {TODO 'next "TODO"} | :END: | | * When previous task done, this will turn TODO, SCHEDULED for +1 day `---- The basic idea is to *send* a property to a task depending on a state change - in the example above, depending on switching from TODO to DONE. "SEND" would be a special property, composed of repeating curly braced constructs {PROP ADDR VAL}, each of one being composed of: PROP: the property to be sent ADDR: the relative or absolute "address" of the task VAL: the new value for this property (default to the value this property had in the previous task) The "absolute" address could be a GUID or a human readable label. I think this way to send a property (or even to propagate multiple properties to multiple tasks, if needed) would spare us the fuss of implementing real dependencies with real links between the tasks. What do you think? -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 20:55 ` Bastien @ 2007-10-08 20:26 ` Adam Spiers 2007-10-09 2:15 ` Bastien 2007-10-08 20:35 ` Eddward DeVilla 1 sibling, 1 reply; 58+ messages in thread From: Adam Spiers @ 2007-10-08 20:26 UTC (permalink / raw) To: emacs-orgmode On Mon, Oct 08, 2007 at 09:55:12PM +0100, Bastien wrote: > Implementing tasks-dependencies sounds pretty exciting! Yes, I've been wanting this too. > I'd like to jump in this discussion with a very simple idea. > > ,---- > | * TODO When this task is marked done, send SCHEDULED to the next task > | :PROPERTIES: > | :SEND: {SCHEDULED 'next "+1d"} {TODO 'next "TODO"} > | :END: > | > | * When previous task done, this will turn TODO, SCHEDULED for +1 day > `---- > > The basic idea is to *send* a property to a task depending on a state > change - in the example above, depending on switching from TODO to DONE. > > "SEND" would be a special property, composed of repeating curly braced > constructs {PROP ADDR VAL}, each of one being composed of: > > PROP: the property to be sent > > ADDR: the relative or absolute "address" of the task > > VAL: the new value for this property (default to the value this > property had in the previous task) > > The "absolute" address could be a GUID or a human readable label. > > I think this way to send a property (or even to propagate multiple > properties to multiple tasks, if needed) would spare us the fuss of > implementing real dependencies with real links between the tasks. > > What do you think? It could work. I like the idea of making it more generic, as people could almost certainly find new uses for expressing an arbitrary relationship between two items based on their personalised workflows (a bit like W3C's <link rel="...">), e.g. - if A changes to DONE, change B from BLOCKED to NEXT (this is the obvious one) - if A changes to DONE, change B from NEXT to CANCELLED (if only A or B needs to be done, not both) There must be others people can think of easily. Or you could even have a state change creating new items from templates! This could allow some really clever workflows where arrival at one stage in the workflow triggers more than one new action. What exactly would the ADDR look like? I think an ideal implementation should support bidirectional navigation, i.e. jumping from a blocked task to its blocker, or in the opposite direction. And that begs the question: would you need bidirectional updates too? E.g. if B is WAITING on A, and A is changed to DONE, then B gets updated to NEXT, but alternatively if B is changed from WAITING to NEXT, should you update A to DONE? I think the answer in this particular (bad) example is no, because you might realise that you can proceed with B even though A is still not DONE. But there may be other examples where it makes sense. ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 20:26 ` Adam Spiers @ 2007-10-09 2:15 ` Bastien 2007-10-09 3:03 ` John Wiegley 2007-10-11 14:46 ` Carsten Dominik 0 siblings, 2 replies; 58+ messages in thread From: Bastien @ 2007-10-09 2:15 UTC (permalink / raw) To: emacs-orgmode Adam Spiers <orgmode@adamspiers.org> writes: > - if A changes to DONE, change B from BLOCKED to NEXT > (this is the obvious one) > > - if A changes to DONE, change B from NEXT to CANCELLED > (if only A or B needs to be done, not both) > > There must be others people can think of easily. Updating my own proposal. We could use the TODO keywords instead of "SEND" as a way to say that reaching a particular todo state should trigger some kind of action. See this for example[1]: ,---- | * TODO When this task is marked done, send SCHEDULED to the next task | :PROPERTIES: | :CANCELED>: {SCHEDULED 'subtree nil) {TODO 'subtree "CANCELED"} | :DONE>: {SCHEDULED 'next "+1d"} {TODO 'next "NEXT"} | :END: `---- This would translate: - when the todo state CANCELED is reached, trigger these two actions: + UNSCHEDULED all tasks in the current subtree (SCHEDULED to nil) + If a task in this subtree has a TODO keyword, turn it to CANCELED - when the todo is set to DONE, trigger these two actions: + SCHEDULED next task (same level) for a day after current SCHEDULED + If the next task has a TODO keyword, turn it to NEXT (I took the SCHEDULED and TODO properties, but this could be any property from the :PROPERTIES: drawer.) Therefore we would spare the cost of a new SEND special property. We would just need to add TODO keywords to the set of special properties (there is very little chance that users already use TODO keywords as properties anyway, right?) The drawback of using todo keywords instead of "SEND" is that SEND calls for RECV, and having both SEND and RECV would make it possible to handle dependencies in two directions: from the source to the target and back to the source. I first said this idea was "simple" because it just handle *onward* propagation of properties. The rationale behind this are: 1) I think it's more natural and 2) I prefer backward dependencies to be as much as possible defined bye the structure of the file itself: For example, see this simple workflow: * Task A :PROPERTIES: :DONE>: {TODO 'next "NEXT" t} :END: * Task B * Task C * Task D We don't need to say in task "C" that it depends on task be. If we know we're using a dependencies-aware setup in the current subtree, we know this task will turned "NEXT" when required. > Or you could even have a state change creating new items from > templates! This could allow some really clever workflows where > arrival at one stage in the workflow triggers more than one new > action. Ahem. I must say all this is getting a bit crazy here. But why not? > What exactly would the ADDR look like? As stated above, this should be thoughtfully designed. I can think of this set: 'next 'previous 'subtree 'next-subtree 'previous-subtree. Or maybe just {'next 'previous 'subtree} if we have a way to define scope for these. > I think an ideal implementation should support bidirectional > navigation, i.e. jumping from a blocked task to its blocker, or in the > opposite direction. And that begs the question: would you need > bidirectional updates too? * Task A * Task B :PROPERTIES: :>NEXT: {TODO 'previous "DONE"} :END: * Task C * Task D Remark ">" in ">NEXT". Task A is a blocker for Task B, which becomes "NEXT" iff previous task is DONE. This is equivalent to the example above. My point is that it shouldn't be necessary to define the two directions of the dependence. I guess one is enough for most cases. > E.g. if B is WAITING on A, and A is changed to DONE, then B gets > updated to NEXT, but alternatively if B is changed from WAITING to > NEXT, should you update A to DONE? I guess most often we should'nt. The common case is that some achievement calls for new tasks (at least this is what we can *predict* we planning). The fact that an achievement may retro-act on something that it depended upon is not that crucial. It's safe not to care about it too much. Putting it in one word: think *forward*! It's not as if we were handling packages dependencies. Notes: [1] Three notes on the proposed implementation: 1) the ">" after "CANCELED>" says this properties is a send property. It lets you make a distinction between this two actions: :TODO>: {TODO 'next TODO} => when this headline is set to TODO, set the next headline todo state to TODO. (Poo-poo-pee-doo!) :TODO>: {TODO> 'next "{NEXT 'next "MAYBE"}"} => when turned TODO, set the next headline "TODO>" property to {NEXT 'next "MAYBE"}. People using action to trigger action that will set a new action definition for items surely miss something in life, but who doesn't? 2) the above sentences starting with "If a task ... if the next task" implicitely calls for fourth element in the {...} syntax: {PROP ADDR VAL FORCE} If FORCE, then set the property of the target task, even if this property is not already listed in the :PROPERTIES: drawer. It not FORCE, just set target's property if it already exists. 3) Depending on the set of authorized values for ADDR, we could also delimit the scope of the action more precisely: {PROP [ADDR SCOPE] VAL FORCE} SCOPE could be a numeric value, for example, if we want the action to affect the next ('next) `n' headlines or if want the action to affect the `n' next levels in the subtree ('subtree). But this requires to check carefully for consistency while trying to figure out what are the good candidates for ADDR and SCOPE. -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 2:15 ` Bastien @ 2007-10-09 3:03 ` John Wiegley 2007-10-09 3:47 ` Eddward DeVilla 2007-10-09 10:32 ` Bastien 2007-10-11 14:46 ` Carsten Dominik 1 sibling, 2 replies; 58+ messages in thread From: John Wiegley @ 2007-10-09 3:03 UTC (permalink / raw) To: emacs-orgmode Bastien <bzg@altern.org> writes: > We could use the TODO keywords instead of "SEND" as a way to say that > reaching a particular todo state should trigger some kind of action. How about just having generalized Lisp triggers: :PROPERTIES: :TRIGGER: (lambda (previous new) (if (string= (assoc "TODO" new) "DONE") (org-find-and-schedule "regexp matching task" date))) :END: In this example, previous and new are associative lists containing all of the state information applicable to an entry. This kind of mechanism would allow Carsten to come up with a small library of org-mode Lisp functions for programmatically manipulating tasks simply by specifying a regular expression, or a relative offset, to "locate" them. I would far prefer this to a specialized syntax, which in the end would require so complexity as to become a domain-specific language in itself. John ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 3:03 ` John Wiegley @ 2007-10-09 3:47 ` Eddward DeVilla 2007-10-09 9:27 ` Richard G Riley 2007-10-09 10:35 ` Bastien 2007-10-09 10:32 ` Bastien 1 sibling, 2 replies; 58+ messages in thread From: Eddward DeVilla @ 2007-10-09 3:47 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-orgmode On 10/8/07, John Wiegley <johnw@newartisans.com> wrote: > How about just having generalized Lisp triggers: [snip] This could be dangerous. Org file are (most) text. The more code you allow to be embedded, the more of a vector org-mode becomes for trojan horse attacks. Of course I've been using lisp in tables formulas more and more, so I am a hypocrite. I'd love a way to embed lisp trigger into properties, but they probably ought to be in the .emacs or the like. Edd ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 3:47 ` Eddward DeVilla @ 2007-10-09 9:27 ` Richard G Riley 2007-10-09 14:39 ` Eddward DeVilla 2007-10-09 10:35 ` Bastien 1 sibling, 1 reply; 58+ messages in thread From: Richard G Riley @ 2007-10-09 9:27 UTC (permalink / raw) To: Eddward DeVilla; +Cc: John Wiegley, emacs-orgmode "Eddward DeVilla" <eddward@gmail.com> writes: > On 10/8/07, John Wiegley <johnw@newartisans.com> wrote: >> How about just having generalized Lisp triggers: > [snip] > > This could be dangerous. Org file are (most) text. The more code you > allow to be embedded, the more of a vector org-mode becomes for trojan > horse attacks. Of course I've been using lisp in tables formulas more > and more, so I am a hypocrite. I'd love a way to embed lisp trigger > into properties, but they probably ought to be in the .emacs or the > like. > > Edd I'm interested in this. Why would an Org file with permissions like 700 be any more virus friendly than an .emacs with the same permissions? Een taking the windows case, a .emacs is executed each and every time, but the org file only when loaded and acted upon. > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 9:27 ` Richard G Riley @ 2007-10-09 14:39 ` Eddward DeVilla 2007-10-10 17:20 ` Bastien 0 siblings, 1 reply; 58+ messages in thread From: Eddward DeVilla @ 2007-10-09 14:39 UTC (permalink / raw) To: Richard G Riley; +Cc: John Wiegley, emacs-orgmode On 10/9/07, Richard G Riley <rileyrgdev@googlemail.com> wrote: > I'm interested in this. Why would an Org file with permissions like 700 > be any more virus friendly than an .emacs with the same permissions? Een > taking the windows case, a .emacs is executed each and every time, but > the org file only when loaded and acted upon. Perhaps it an over reaction on my part. I know the occasional org-file gets posted on this list. I'd like to see org catch on and see more info made available in org files. I don't normally send my .emacs file(s) to folks. That's my custom setup. (Though once in a while someone does copy it.) If org becomes popular enough that people pass data around in it, then it could be more of an issue. Especially since I think the triggers would be in drawers which are all always hidden unless you go and explicitly open each one. So you have hidden code in a powerful language. It's not very hidden and I know it not likely that org's format would catch on the way I'd like. Anyhow, I'm not saying don't do it. I just wanted to be sure it wasn't overlooked. Edd ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 14:39 ` Eddward DeVilla @ 2007-10-10 17:20 ` Bastien 0 siblings, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-10 17:20 UTC (permalink / raw) To: emacs-orgmode "Eddward DeVilla" <eddward@gmail.com> writes: > If org becomes popular enough that people pass data around in it, then > it could be more of an issue. Especially since I think the triggers > would be in drawers which are all always hidden unless you go and > explicitly open each one. The pool of (possibly) triggered actions would have two purposes then: - make the list of current triggers for this file *visible*; - selectively let the user prevent an action to be triggered. And as proposed before, we could also have a set of `safe-org-triggers'. -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 3:47 ` Eddward DeVilla 2007-10-09 9:27 ` Richard G Riley @ 2007-10-09 10:35 ` Bastien 1 sibling, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-09 10:35 UTC (permalink / raw) To: emacs-orgmode "Eddward DeVilla" <eddward@gmail.com> writes: > This could be dangerous. Org file are (most) text. The more code you > allow to be embedded, the more of a vector org-mode becomes for trojan > horse attacks. Well, thinking of org-mode as a vector of trojan horse attacks sounds like science fiction to me :) Anyway, as I said, we could store the triggered actions in a pool and ask the user if he want to perform them. Of course the user would be allowed to turn a set of actions "safe" (see `safe-local-eval-forms') Not that a problem IMO. -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 3:03 ` John Wiegley 2007-10-09 3:47 ` Eddward DeVilla @ 2007-10-09 10:32 ` Bastien 1 sibling, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-09 10:32 UTC (permalink / raw) To: emacs-orgmode John Wiegley <johnw@newartisans.com> writes: > Bastien <bzg@altern.org> writes: > >> We could use the TODO keywords instead of "SEND" as a way to say that >> reaching a particular todo state should trigger some kind of action. > > How about just having generalized Lisp triggers: > > :PROPERTIES: > :TRIGGER: (lambda (previous new) > (if (string= (assoc "TODO" new) "DONE") > (org-find-and-schedule "regexp matching task" date))) > :END: > > In this example, previous and new are associative lists containing all of the > state information applicable to an entry. Yes, I like this very much. We could have both a TRIGGER and a BLOCKER property. The first one would trigger actions on tasks. The second one wouldn't let a change appear on the task unless some tasks are in a specific state. I tried to figure out how we could emulate the job of the BLOCKER property with only TRIGGER and an option like `org-check-triggers', saying that the action the TRIGGER is supposed to perform won't be allowed if it's not performed *by the TRIGGER* itself -- therefore enabling us to use "rigid" TRIGGERS and some kind of dependencies checks. But I don't think it's really feasible -- not even a good idea. > This kind of mechanism would allow Carsten to come up with a small > library of org-mode Lisp functions for programmatically manipulating > tasks simply by specifying a regular expression, or a relative offset, > to "locate" them. Yes, sounds like a good idea. > I would far prefer this to a specialized syntax, which in the end would > require so complexity as to become a domain-specific language in itself. I do agree the syntax I proposed was somewhat bloat. Consider it brain-dust after excitment! -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 2:15 ` Bastien 2007-10-09 3:03 ` John Wiegley @ 2007-10-11 14:46 ` Carsten Dominik 2007-10-11 15:53 ` pete phillips ` (2 more replies) 1 sibling, 3 replies; 58+ messages in thread From: Carsten Dominik @ 2007-10-11 14:46 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode Hi everyone, I have read this discussion with great interest, and I would like to add a few thoughts. First, let me say that I was surprised that quite a few people are so keen to see this kind of features. I myself would worry a lot about spending more time to set up and maintain these connections, than I would be saving by using them. And I am not sure if Org-mode really scales up nicely when it comes to really large projects, large number of people interacting, keeping complex GANTT charts up to date etc. Me, I have sometimes made these charts during an initial project setup, to get a feeling what amount of time and resources would be needed, but I have never kept these complex structures alive and up to date. Obviously, others believe they can. About implementing triggers and blockers in Org-mode: - first of all, I believe we can keep the question of adressing an item (using GUIDs or relations like "next TODO item in the subtree") completely separate from the mechanism by which Org-mode triggers an action. - concerning the TRIGGER proposal by John, and the TRIGGER/BLOCKER functionality discussed later: In Emacs terms, this seems to translate into a *hook* that is called at the right moment. I'd say that a single hook is enough. The right moment to call it would be when Org-mode has figured out everything about a change that is about to occur, but before actually doing it. We can be general what kind of change this could be, a TODO state change, adding a tag, setting a property, changing the priority, anything really. So we would have a property that contains a Lisp form, and that lisp form would be evaluated at that moment. TRIGGER would then mean to perform actions in other entries. BLOCKER would mean to query other entries for information, and, if necessary, abort the current action, for example by throwing to a specified catch form. Obviously, if you nee both triggers and blockers, the blockers need to run first, but we don't need separate properties/functions for this. The detailed implementation would then be a number of Lisp functions that take as arguments a *single* structure that contains all the info of the change, for example a property list like (list :type 'TODOSTATE :from nil %to "INPROGRESS" ....) Compared to John's proposal with two lists describing previous and new state, the difference is that my list describes a *change*, while Johns function would have to figure out if the entry info actually changed. But for the rest it is similar. The "language" that has been discussed could be moved into the call and therefore set no restrictions what so ever. For example :PROPERTIES: :TRIGGER: '(progn (org-block-unless 'done #address1 #address2 #address3) (org-trigger 'todo "RESUME" #address4)) :END: It seems to me that everything people have been discussing here could be implemented based on such a scheme. Security is an issue, yes. We could diffuse it a bit by blessing some functions, but it would not be easy to totally get rid of this problem. The best I can think of is to give the user a choice whether to execute such code or not. - Carsten On Oct 9, 2007, at 4:15, Bastien wrote: > Adam Spiers <orgmode@adamspiers.org> writes: > >> - if A changes to DONE, change B from BLOCKED to NEXT >> (this is the obvious one) >> >> - if A changes to DONE, change B from NEXT to CANCELLED >> (if only A or B needs to be done, not both) >> >> There must be others people can think of easily. > > Updating my own proposal. > > We could use the TODO keywords instead of "SEND" as a way to say that > reaching a particular todo state should trigger some kind of action. > > See this for example[1]: > > ,---- > | * TODO When this task is marked done, send SCHEDULED to the next task > | :PROPERTIES: > | :CANCELED>: {SCHEDULED 'subtree nil) {TODO 'subtree "CANCELED"} > | :DONE>: {SCHEDULED 'next "+1d"} {TODO 'next "NEXT"} > | :END: > `---- > > This would translate: > > - when the todo state CANCELED is reached, trigger these two actions: > + UNSCHEDULED all tasks in the current subtree (SCHEDULED to nil) > + If a task in this subtree has a TODO keyword, turn it to CANCELED > > - when the todo is set to DONE, trigger these two actions: > + SCHEDULED next task (same level) for a day after current SCHEDULED > + If the next task has a TODO keyword, turn it to NEXT > > (I took the SCHEDULED and TODO properties, but this could be any > property from the :PROPERTIES: drawer.) > > Therefore we would spare the cost of a new SEND special property. We > would just need to add TODO keywords to the set of special properties > (there is very little chance that users already use TODO keywords as > properties anyway, right?) > > The drawback of using todo keywords instead of "SEND" is that SEND > calls > for RECV, and having both SEND and RECV would make it possible to > handle > dependencies in two directions: from the source to the target and back > to the source. > > I first said this idea was "simple" because it just handle *onward* > propagation of properties. The rationale behind this are: 1) I think > it's more natural and 2) I prefer backward dependencies to be as much > as possible defined bye the structure of the file itself: > > For example, see this simple workflow: > > * Task A > :PROPERTIES: > :DONE>: {TODO 'next "NEXT" t} > :END: > * Task B > * Task C > * Task D > > We don't need to say in task "C" that it depends on task be. If we know > we're using a dependencies-aware setup in the current subtree, we know > this task will turned "NEXT" when required. > >> Or you could even have a state change creating new items from >> templates! This could allow some really clever workflows where >> arrival at one stage in the workflow triggers more than one new >> action. > > Ahem. I must say all this is getting a bit crazy here. But why not? > >> What exactly would the ADDR look like? > > As stated above, this should be thoughtfully designed. I can think of > this set: 'next 'previous 'subtree 'next-subtree 'previous-subtree. Or > maybe just {'next 'previous 'subtree} if we have a way to define scope > for these. > >> I think an ideal implementation should support bidirectional >> navigation, i.e. jumping from a blocked task to its blocker, or in the >> opposite direction. And that begs the question: would you need >> bidirectional updates too? > > * Task A > * Task B > :PROPERTIES: > :>NEXT: {TODO 'previous "DONE"} > :END: > * Task C > * Task D > > Remark ">" in ">NEXT". Task A is a blocker for Task B, which becomes > "NEXT" iff previous task is DONE. This is equivalent to the example > above. My point is that it shouldn't be necessary to define the two > directions of the dependence. I guess one is enough for most cases. > >> E.g. if B is WAITING on A, and A is changed to DONE, then B gets >> updated to NEXT, but alternatively if B is changed from WAITING to >> NEXT, should you update A to DONE? > > I guess most often we should'nt. > > The common case is that some achievement calls for new tasks (at least > this is what we can *predict* we planning). The fact that an > achievement > may retro-act on something that it depended upon is not that crucial. > It's safe not to care about it too much. > > Putting it in one word: think *forward*! > > It's not as if we were handling packages dependencies. > > Notes: > [1] Three notes on the proposed implementation: > > 1) the ">" after "CANCELED>" says this properties is a send property. > It lets you make a distinction between this two actions: > > :TODO>: {TODO 'next TODO} > > => when this headline is set to TODO, set the next headline todo > state to TODO. (Poo-poo-pee-doo!) > > :TODO>: {TODO> 'next "{NEXT 'next "MAYBE"}"} > > => when turned TODO, set the next headline "TODO>" property to > {NEXT 'next "MAYBE"}. People using action to trigger action > that will set a new action definition for items surely miss > something in life, but who doesn't? > > 2) the above sentences starting with "If a task ... if the next task" > implicitely calls for fourth element in the {...} syntax: > > {PROP ADDR VAL FORCE} > > If FORCE, then set the property of the target task, even if this > property is not already listed in the :PROPERTIES: drawer. > > It not FORCE, just set target's property if it already exists. > > 3) Depending on the set of authorized values for ADDR, we could also > delimit the scope of the action more precisely: > > {PROP [ADDR SCOPE] VAL FORCE} > > SCOPE could be a numeric value, for example, if we want the action > to > affect the next ('next) `n' headlines or if want the action to > affect > the `n' next levels in the subtree ('subtree). > > But this requires to check carefully for consistency while trying to > figure out what are the good candidates for ADDR and SCOPE. > > -- > Bastien > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > -- Carsten Dominik Sterrenkundig Instituut "Anton Pannekoek" Universiteit van Amsterdam Kruislaan 403 NL-1098SJ Amsterdam phone: +31 20 525 7477 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 14:46 ` Carsten Dominik @ 2007-10-11 15:53 ` pete phillips 2007-10-11 16:22 ` Sebastjan Trepca ` (2 more replies) 2007-10-11 16:53 ` Bastien 2007-10-12 9:21 ` John Wiegley 2 siblings, 3 replies; 58+ messages in thread From: pete phillips @ 2007-10-11 15:53 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-orgmode >>>>> "Carsten" == Carsten Dominik <dominik@science.uva.nl> writes: Carsten> First, let me say that I was surprised that quite a few Carsten> people are so keen to see this kind of features. I myself Carsten> would worry a lot about spending more time to set up and Carsten> maintain these connections, than I would be saving by using Carsten> them. And I am not sure if Org-mode really scales up Carsten> nicely when it comes to really large projects, large number Carsten> of people interacting, keeping complex GANTT charts up to Carsten> date etc. Me, I have sometimes made these charts during an Carsten> initial project setup, to get a feeling what amount of time Carsten> and resources would be needed, but I have never kept these Carsten> complex structures alive and up to date. I have to say that I'm a bit worried if org-mode goes in this direction. Just because Carsten may be able to beat it into shape to do this (albeit in very elegant lisp), it doesn't mean he should. org-mode developed as a means of maintaining lists, and it excels at this. Just because the GTD methodology uses the term Project doesn't mean that we should turn org-mode into a fully fledged project planning application. If you need project planning capability, then you probably need all the bells and whistles that go with it - GANT and PERT charts, critical path calculations, multi-user capabilities etc. My concern is that *very* few people need that type of functionality, and if you do, there are now some very good applications now under GNU/Linux to choose from. org-mode is a superb PIM and list manager (in my view, probably about the best there is). Just because we have one incredible hammer, let's not start seeing everything else as a nail! Just a personal viewpoint of course. :-) Pete ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 15:53 ` pete phillips @ 2007-10-11 16:22 ` Sebastjan Trepca 2007-10-11 16:37 ` Russell Adams 2007-10-12 17:03 ` Jason F. McBrayer 2 siblings, 0 replies; 58+ messages in thread From: Sebastjan Trepca @ 2007-10-11 16:22 UTC (permalink / raw) To: pete phillips; +Cc: emacs-orgmode Hey, I'm new here but I have to say that I totally agree with Pete. Why not just work on integration with popular project management tools? e.g export to Jira, Trac, ... (btw, syncing todos with Trac tickets would really come handy :) Sebastjan On 10/11/07, pete phillips <pete@smtl.co.uk> wrote: > >>>>> "Carsten" == Carsten Dominik <dominik@science.uva.nl> writes: > > Carsten> First, let me say that I was surprised that quite a few > Carsten> people are so keen to see this kind of features. I myself > Carsten> would worry a lot about spending more time to set up and > Carsten> maintain these connections, than I would be saving by using > Carsten> them. And I am not sure if Org-mode really scales up > Carsten> nicely when it comes to really large projects, large number > Carsten> of people interacting, keeping complex GANTT charts up to > Carsten> date etc. Me, I have sometimes made these charts during an > Carsten> initial project setup, to get a feeling what amount of time > Carsten> and resources would be needed, but I have never kept these > Carsten> complex structures alive and up to date. > > I have to say that I'm a bit worried if org-mode goes in this direction. > > Just because Carsten may be able to beat it into shape to do this > (albeit in very elegant lisp), it doesn't mean he should. > > org-mode developed as a means of maintaining lists, and it excels at > this. Just because the GTD methodology uses the term Project doesn't > mean that we should turn org-mode into a fully fledged project planning > application. If you need project planning capability, then you probably > need all the bells and whistles that go with it - GANT and PERT charts, > critical path calculations, multi-user capabilities etc. > > My concern is that *very* few people need that type of functionality, > and if you do, there are now some very good applications now under > GNU/Linux to choose from. > > org-mode is a superb PIM and list manager (in my view, probably about > the best there is). Just because we have one incredible hammer, let's > not start seeing everything else as a nail! > > Just a personal viewpoint of course. :-) > > Pete > > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 15:53 ` pete phillips 2007-10-11 16:22 ` Sebastjan Trepca @ 2007-10-11 16:37 ` Russell Adams 2007-10-11 17:10 ` pete phillips 2007-10-12 17:03 ` Jason F. McBrayer 2 siblings, 1 reply; 58+ messages in thread From: Russell Adams @ 2007-10-11 16:37 UTC (permalink / raw) To: emacs-orgmode On Thu, Oct 11, 2007 at 04:53:42PM +0100, pete phillips wrote: > org-mode is a superb PIM and list manager (in my view, probably about > the best there is). Just because we have one incredible hammer, let's > not start seeing everything else as a nail! > > Just a personal viewpoint of course. :-) > > Pete Actually, I'd be happy being able to link to TODO's and have their states change. You're right that the complexity can quickly grow out of hand trying to implement project management features, however you must realize that a tool meant to maintain personal lists of items may eventually grow to encompass larger projects. I think the reason this discussion took off is that if an existing project management tool worked the way we wanted it to, this would be a moot discussion. As it is, it appears that none of the traditional PM style tools integrate with Org use or provide similar functionality. I know I've been frustrated trying to export Org data to MS Project and keep them in sync. Russell ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 16:37 ` Russell Adams @ 2007-10-11 17:10 ` pete phillips 2007-10-11 17:55 ` Russell Adams 0 siblings, 1 reply; 58+ messages in thread From: pete phillips @ 2007-10-11 17:10 UTC (permalink / raw) To: emacs-orgmode >>>>> "Russell" == Russell Adams <RLAdams@AdamsInfoServ.Com> writes: Russell> however you must realize that a tool meant to maintain Russell> personal lists of items may eventually grow to encompass Russell> larger projects. :-) I do realise this. But the question that needs to be answered is whether this is necessarily the best path ? Russell> I think the reason this discussion took off is that if an Russell> existing project management tool worked the way we wanted Russell> it to, this would be a moot discussion. As it is, it Russell> appears that none of the traditional PM style tools Russell> integrate with Org use or provide similar functionality. I Russell> know I've been frustrated trying to export Org data to MS Russell> Project and keep them in sync. It could be that you are trying to use the wrong tool ? Task Juggler http://www.taskjuggler.org/ is cross platform and will do all the PM you need out of the box. As the system is based on a text mode, I am willing to bet that you could write some perl or other code to move your org file into it. Possibly the other way as well. Don't get me wrong - I have used PM tools myself for very big projects (in fact I used to maintain the PM FAQ document on Usenet many years ago http://www.non.com/news.answers/proj-plan-faq.html), but I just question if org-mode is the right path to follow for this. Let me explain my concern. If Carsten decides to move along the PM route (and it is entirely his call), then I suspect that the amount of code required to implement all the necessary functionality will be huge. It would probably dwarf the present org-mode code base. At that stage, the ability of Carsten to respond so quickly to requests for features and bug fixes will, I think, be compromised. Also, it is bound to have an effect on the speed of org mode. My main concern is that the focus of org-mode will have shifted away from where I want it to be, which I admit is a personal concern and perhaps a little selfish :-) Anyway, just my thoughts. Have a good evening all. Pete ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 17:10 ` pete phillips @ 2007-10-11 17:55 ` Russell Adams 2007-10-11 18:45 ` pete phillips ` (2 more replies) 0 siblings, 3 replies; 58+ messages in thread From: Russell Adams @ 2007-10-11 17:55 UTC (permalink / raw) To: emacs-orgmode On Thu, Oct 11, 2007 at 06:10:50PM +0100, pete phillips wrote: > I do realise this. But the question that needs to be answered > is whether this is necessarily the best path ? It isn't necessarily. I'm just pointing out it's likely to grow as more folks use it for larger lists. After all, most PM software just maintains a specialized kind of list. Yes I've looked at task juggler, and was impressed, but its overkill for what I need. (its also GUI!) I think the key here is that Org needs some PM-like functionality, but I certainly wouldn't advocate trying to make Org a full PM. Org is great for lists, notes, TODO's, etc. Ever try to take freeform notes in MS Project? ;] I'm interested to see where Carsten and the others take these ideas. Russell ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 17:55 ` Russell Adams @ 2007-10-11 18:45 ` pete phillips 2007-10-14 1:01 ` Charles Cave 2007-10-11 19:46 ` Bastien 2007-10-11 21:12 ` Rainer Stengele 2 siblings, 1 reply; 58+ messages in thread From: pete phillips @ 2007-10-11 18:45 UTC (permalink / raw) To: emacs-orgmode >>>>> "Russell" == Russell Adams <RLAdams@AdamsInfoServ.Com> writes: Russell> It isn't necessarily. I'm just pointing out it's likely to Russell> grow as more folks use it for larger lists. After all, most Russell> PM software just maintains a specialized kind of list. Russell> Yes I've looked at task juggler, and was impressed, but its Russell> overkill for what I need. (its also GUI!) Nah. It *has* a GUI, but underneath it is text based. I've run a few projects with it, and I know it uses text. The structure is very simple. From the Tutorial: Chapter 4. Tutorial: Your First Project We have mentioned already that TaskJuggler uses plain text files that describe the project to schedule it. As you will see now, the syntax of these files is easy to understand and very intuitive. I doubt it's overkill. The nice thing about task juggler is that you can just use as much as you need. I have used it for some large projects (but, like Carsten, only for the initial planning and resource allocation phase). I genuinely think that if there is a band of org-moders (hmmm we could do with a cooler collective noun I think ?) who need PM functionality, then a combination of org-mode and TJ with some perl glue would be pretty good. Russell> I think the key here is that Org needs some PM-like Russell> functionality, but I certainly wouldn't advocate trying to Russell> make Org a full PM. Org is great for lists, notes, TODO's, Russell> etc. Ever try to take freeform notes in MS Project? ;] Nope. I don't use MS to start with. ;-) Also, when using TJ, I was also able to make notes in emacs (because I was coding the TJ files in emacs). Anyway, this horse is flogged to death! If your experience of TJ is only the GUI, I'd seriously recommend a look at the command line mode. The nice thing about using org-mode with other programmes is that it tends to conform to the UNIX philosophy: "Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface." Pete ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 18:45 ` pete phillips @ 2007-10-14 1:01 ` Charles Cave 2007-10-14 2:42 ` Bastien 0 siblings, 1 reply; 58+ messages in thread From: Charles Cave @ 2007-10-14 1:01 UTC (permalink / raw) To: pete phillips; +Cc: emacs-orgmode pete phillips wrote: > I genuinely think that if there is a band of org-moders (hmmm we could > do with a cooler collective noun I think ?) How about ORG-MONGERS? Charles ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-14 1:01 ` Charles Cave @ 2007-10-14 2:42 ` Bastien 0 siblings, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-14 2:42 UTC (permalink / raw) To: emacs-orgmode Charles Cave <charles_cave@optusnet.com.au> writes: > How about ORG-MONGERS? Org-wonks! -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 17:55 ` Russell Adams 2007-10-11 18:45 ` pete phillips @ 2007-10-11 19:46 ` Bastien 2007-10-11 21:12 ` Rainer Stengele 2 siblings, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-11 19:46 UTC (permalink / raw) To: emacs-orgmode Russell Adams <RLAdams@AdamsInfoServ.Com> writes: > I think the key here is that Org needs some PM-like functionality, but > I certainly wouldn't advocate trying to make Org a full PM. Org is > great for lists, notes, TODO's, etc. Ever try to take freeform notes > in MS Project? ;] > > I'm interested to see where Carsten and the others take these ideas. Maybe I should have been soberer while trying to imagine how the suggested features could be implemented in Org. In fact, I just thought it was challenging to figure out what could be the best implementation and, while trying to write down those ideas, I surely gave the false impression that I took for granted that Org should go that direction. But this is, of course, questionable. I think this direction is the good one if: 1. people provide convincing examples on how PM-like features would be useful for their own use of Org; 2. the implementation does not change what people already like in Org; 3. the implementation is incremental, slowly absorbing proposals from people really using them. As for 1. I can think of a very simple need I come accross quite often: I have a few headlines, and the first one is typically being marked NEXT. Once this task is done, I want the next one to be marked NEXT. Other example: when I cancel a headline, I want to interactively cancel subtasks that still populate the agenda buffer. For 2. and 3., only Carsten can have a clear view on that ones I guess. Regards, -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 17:55 ` Russell Adams 2007-10-11 18:45 ` pete phillips 2007-10-11 19:46 ` Bastien @ 2007-10-11 21:12 ` Rainer Stengele 2007-10-11 21:19 ` Leo 2007-10-12 17:09 ` Jason F. McBrayer 2 siblings, 2 replies; 58+ messages in thread From: Rainer Stengele @ 2007-10-11 21:12 UTC (permalink / raw) To: emacs-orgmode Russell Adams schrieb: > On Thu, Oct 11, 2007 at 06:10:50PM +0100, pete phillips wrote: >> I do realise this. But the question that needs to be answered >> is whether this is necessarily the best path ? > > It isn't necessarily. I'm just pointing out it's likely to grow as > more folks use it for larger lists. After all, most PM software > just maintains a specialized kind of list. > > Yes I've looked at task juggler, and was impressed, but its overkill > for what I need. (its also GUI!) > > I think the key here is that Org needs some PM-like functionality, but > I certainly wouldn't advocate trying to make Org a full PM. Org is > great for lists, notes, TODO's, etc. Ever try to take freeform notes > in MS Project? ;] > > I'm interested to see where Carsten and the others take these ideas. > > Russell > > > > ------------------------------------------------------------------ > Russell Adams RLAdams@AdamsInfoServ.com > > PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ > > Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > I also do not expect to grow Org into anything near a "full" PM. But I do would be more than glad to get some basic (trigger or blocker) functionality to model dependencies between todos. Again, one of my main needs would be to hide todos until other todos are in a certain state. Then show them after the trigger is pulled. At the moment I have to a lot of todos in my agenda which I cannot work on because of the "trigger" not ready. Or I have to "undo" the todos to not see them and not forget to trigger them myself at the right moment. Thats my 2 cents I stated the discussion with. rainer ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 21:12 ` Rainer Stengele @ 2007-10-11 21:19 ` Leo 2007-10-11 23:54 ` Piotr Zielinski 2007-10-12 17:09 ` Jason F. McBrayer 1 sibling, 1 reply; 58+ messages in thread From: Leo @ 2007-10-11 21:19 UTC (permalink / raw) To: emacs-orgmode On 2007-10-11 22:12 +0100, Rainer Stengele wrote: > I also do not expect to grow Org into anything near a "full" PM. > But I do would be more than glad to get some basic (trigger or blocker) > functionality to model dependencies between todos. I'd rather org stays as a PIM not PM; there are tons of PMs, please use them. > Again, one of my main needs would be to hide todos until other todos >are > in a certain state. Then show them after the trigger is pulled. > At the moment I have to a lot of todos in my agenda which I cannot work > on because of the "trigger" not ready. Or I have to "undo" the todos to > not see them and not forget to trigger them myself at the right moment. > > Thats my 2 cents I stated the discussion with. > > > rainer -- .: Leo :. [ sdl.web AT gmail.com ] .: [ GPG Key: 9283AA3F ] :. Use the most powerful email client -- http://gnus.org/ ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 21:19 ` Leo @ 2007-10-11 23:54 ` Piotr Zielinski 2007-10-12 3:14 ` Eddward DeVilla 0 siblings, 1 reply; 58+ messages in thread From: Piotr Zielinski @ 2007-10-11 23:54 UTC (permalink / raw) To: Leo; +Cc: emacs-orgmode Hi, I am generally against introducing very specialized features to org-mode, for the same reasons as described by others in this thread. The power of org-mode lies in simplicify of the model it offers: information is a collection of lists that can be queried in various ways. This model is simple yet powerful. For example, org-mode can be used not only to store ordinary tasks ("pay rent", every month), but also meta-tasks concerning the org-file itself ("make sure there are no stuck projects", every week). I find this simple idea of storing meta-tasks very useful. It gives your org-file "life", making it the single point of trust. As long as you remember to check your org-mode every day, you will never forget anything. Instead of following the books that tell you to "develop a habit of ..." just put this habit as an repetitive task in org-mode. Back to task dependencies. I use three tags: NEXT for enabled actions, TODO for actions that wait for the previous one on the list, and WAITING for actions that wait for something else. Whenever an action is completed, you can easily check whether the next TODO should be enabled (changed to NEXT) or not. WAITING actions (with dependencies across different lists) are more tricky, but in my experience, are quite rare. Here, if you know that completing task A will enable task Q in another part of the file, insert a meta-task "TODO enable [[Q]]" just after A. No special functionality needed, just standard linking. Of course there are some cases in which this scheme doesn't work, but these are not many, and I don't believe making them work automatically is worth the effort. This is because, in my case, most of the WAITING actions rely on external triggers (email, phone call), which are simply not automatable. Piotr ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 23:54 ` Piotr Zielinski @ 2007-10-12 3:14 ` Eddward DeVilla 2007-10-12 13:50 ` Bastien 0 siblings, 1 reply; 58+ messages in thread From: Eddward DeVilla @ 2007-10-12 3:14 UTC (permalink / raw) To: emacs-orgmode Well, I think I'm going to try something else to get the task dependencies I'm after. I'm using a BLOCKED tag now. I'm thinking I'll go with a BLOCKED property followed by the list of blockers. I'll probably use links there, but I'll have to find a way to make that less fragile with the dynamic portions of the heading. I wasn't looking for any automatic state changes myself, so that would pretty much cover it. I'll probably be able to make a dynamic block that will generate a table with the tasks sorted parent first or sorted by which task is blocking the most other tasks, if I care enough. I can't say I have any plans to use triggers, but will they really hurt anything? I mean if it makes the code a mess then that wouldn't be good. But frankly, I have no need for the GTD 'find a stuck project' stuff, and it hasn't been a problem for me. Edd ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: Re: depending TODOs, scheduling following TODOs automatically 2007-10-12 3:14 ` Eddward DeVilla @ 2007-10-12 13:50 ` Bastien 0 siblings, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-12 13:50 UTC (permalink / raw) To: emacs-orgmode "Eddward DeVilla" <eddward@gmail.com> writes: > I can't say I have any plans to use triggers, but will they really > hurt anything? I mean if it makes the code a mess then that wouldn't > be good. But frankly, I have no need for the GTD 'find a stuck > project' stuff, and it hasn't been a problem for me. I feel quite the same. People love Org because of its "simplicity". But we should call it "efficiency" rather than "simplicity", since what we really like in it is the fact that it makes complex actions easily achievable. For example, both org-remember-templates and org-agenda-custom-commands can be very complex variables, yet Org lets you configure them the way you want so that using them becomes very "simple". I think it would be the same for the trigger stuff: finding your way through the best configuration for *you* would be a rather complex process, but using them to perform the simple actions that you need would not be that complex. BTW, I don't see the point behing the argument: "I'm using Org for simple project management and XXX for complex project management, so please keep Org as simple as it is." If both tools let you manage complex projects, there will compete in the same area and that will be a problem for *you*. But not for the software itself, and not for people that use only Org (and might be tempted to use it for more complex PM.) My 2 cents, -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 21:12 ` Rainer Stengele 2007-10-11 21:19 ` Leo @ 2007-10-12 17:09 ` Jason F. McBrayer 1 sibling, 0 replies; 58+ messages in thread From: Jason F. McBrayer @ 2007-10-12 17:09 UTC (permalink / raw) To: Rainer Stengele; +Cc: emacs-orgmode Rainer Stengele <rainer.stengele@yahoo.de> writes: > I also do not expect to grow Org into anything near a "full" PM. > But I do would be more than glad to get some basic (trigger or blocker) > functionality to model dependencies between todos. I would think that setting these up initially would require as much work and attention as simply managing them manually. > Again, one of my main needs would be to hide todos until other todos > are in a certain state. Then show them after the trigger is pulled. > At the moment I have to a lot of todos in my agenda which I cannot > work on because of the "trigger" not ready. Or I have to "undo" the > todos to not see them and not forget to trigger them myself at the > right moment. What I do is mark tasks that can't be done yet as either NEEDSPREREQ or WAITING, or put them in my SomedayMaybe.org file if there's no possibility I'll get to them before my next weekly review. I only look at NEXTACTION tasks when I'm choosing a task to do, and when I complete a task, I look at its project to see if any NEEDSPREREQ tasks can now be done. If so, I change those to NEXTACTION. Yes, it would be possible to annotate these with a hook of some kind so that they are changed from NEEDSPREREQ to NEXTACTION automatically. But my feeling is that doing that would frontload the planning process too much, take just as much time/attention, and overall interfere with getting things done. -- +-----------------------------------------------------------+ | Jason F. McBrayer jmcbray@carcosa.net | | If someone conquers a thousand times a thousand others in | | battle, and someone else conquers himself, the latter one | | is the greatest of all conquerors. --- The Dhammapada | ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 15:53 ` pete phillips 2007-10-11 16:22 ` Sebastjan Trepca 2007-10-11 16:37 ` Russell Adams @ 2007-10-12 17:03 ` Jason F. McBrayer 2 siblings, 0 replies; 58+ messages in thread From: Jason F. McBrayer @ 2007-10-12 17:03 UTC (permalink / raw) To: pete phillips; +Cc: emacs-orgmode pete phillips <pete@smtl.co.uk> writes: > org-mode developed as a means of maintaining lists, and it excels at > this. Just because the GTD methodology uses the term Project doesn't > mean that we should turn org-mode into a fully fledged project > planning application. If you need project planning capability, then > you probably need all the bells and whistles that go with it - GANT > and PERT charts, critical path calculations, multi-user capabilities > etc. I agree. If you're using a GTD-like methodology, all you really need is something that is good at maintaining lists of things (and generating cross-cutting lists of things like project vs. context). If you are using a day-planner methodology, all you really need is to be able to maintain dated lists with attached statuses. Org-mode is really good for both of these things. Once you get into "enterprise" (read as over-bureaucratized) project planning, then you really need software designed for the bureaucratic requirements of your organization, or for your organziation's bureaucracy to be built around something like MS-Project. I don't think it's a good idea for org-mode to try to support this type of work. Gnome Planner might be a workable tool for this kind of job. -- +-----------------------------------------------------------+ | Jason F. McBrayer jmcbray@carcosa.net | | If someone conquers a thousand times a thousand others in | | battle, and someone else conquers himself, the latter one | | is the greatest of all conquerors. --- The Dhammapada | ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 14:46 ` Carsten Dominik 2007-10-11 15:53 ` pete phillips @ 2007-10-11 16:53 ` Bastien 2007-10-12 9:21 ` John Wiegley 2 siblings, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-11 16:53 UTC (permalink / raw) To: emacs-orgmode Carsten Dominik <dominik@science.uva.nl> writes: > I have read this discussion with great interest, and I would like to > add a few thoughts. I guess some of us were waiting for that -- thanks for sorting this out :) > First, let me say that I was surprised that quite a few people are so > keen to see this kind of features. Well, maybe there are too few tutorials out there demonstrating how people actually use Org, but everytime someone sends an example I'm amazed how this example looks so "personal" and add something new to what I could imagine. Given the number of different persons using Org (at least the number of emacs-orgmode@gnu.org subscribers?) I wouldn't be surprised that people come up with clever use of TRIGGERS in their own planning habits. Even better if they share it through tutorials... > - first of all, I believe we can keep the question of adressing an > item (using GUIDs or relations like "next TODO item in the subtree") > completely separate from the mechanism by which Org-mode triggers an > action. 100% agreed (see my previous post.) > So we would have a property that contains a Lisp form, and that lisp > form would be evaluated at that moment. > TRIGGER would then mean to perform actions in other entries. Just to make things perfectly clear - here is the process (as I understand it) : 1. describe the last change performed on a headline in a Lisp form 2. feed any TRIGGER with the Lisp form from 1. and perform actions Is that right? > The detailed implementation would then be a number of Lisp functions > that take as arguments a *single* structure that contains all the info > of the change, for example a property list like > > (list :type 'TODOSTATE :from nil %to "INPROGRESS" ....) The uncertainty of my understanding relies on the fact that I'm not sure whether this implementation is supposed to describe the TRIGGER function or the Lisp form from the first step of the process, as described above. Thanks for any further clarification! -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 14:46 ` Carsten Dominik 2007-10-11 15:53 ` pete phillips 2007-10-11 16:53 ` Bastien @ 2007-10-12 9:21 ` John Wiegley 2 siblings, 0 replies; 58+ messages in thread From: John Wiegley @ 2007-10-12 9:21 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-orgmode Carsten Dominik <dominik@science.uva.nl> writes: > First, let me say that I was surprised that quite a few people are so keen > to see this kind of features. I myself would worry a lot about spending > more time to set up and maintain these connections, than I would be saving > by using them. And I am not sure if Org-mode really scales up nicely when > it comes to really large projects, large number of people interacting, > keeping complex GANTT charts up to date etc. Me, I have sometimes made > these charts during an initial project setup, to get a feeling what amount > of time and resources would be needed, but I have never kept these complex > structures alive and up to date. Obviously, others believe they can. I agree that if we keep making org-mode smarter and smarter, it will start to become a bear that is overly complicated -- and in the world of task management, complexity is death. I use a dedicated Project Management application when I need scheduling and management of complex time and resource dependencies (Merlin, from http://merlin2.net). I setup a proposal for a client, and then I use Merlin to record the time spent, by capturing moments with timeclock.el and entering the resulting blocks via the Merlin interface. It takes time, but the value to me and my customer of knowing where we stand and when things should complete is definitely worth the effort (and software cost!). But with org-mode, I'm not reporting to other people. I want something light and agile. This is the first task management scheme *in my life* that I've used daily for more than 3 months. That is saying something, let me tell you. I've even written my own systems still in use by other people (see Emacs Planner)!! In fact, I would probably say that before the year is out, org-mode's interface and basic data structures should reach Feature Complete status. I think we still need more hooks, for user customization, and several more "library API functions" to make writing those customizations easier; but in terms of the core package, I can't see how to improve on perfection from here. John ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 20:55 ` Bastien 2007-10-08 20:26 ` Adam Spiers @ 2007-10-08 20:35 ` Eddward DeVilla 2007-10-09 2:42 ` Bastien 1 sibling, 1 reply; 58+ messages in thread From: Eddward DeVilla @ 2007-10-08 20:35 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode On 10/8/07, Bastien <bzg@altern.org> wrote: > Implementing tasks-dependencies sounds pretty exciting! > > I'd like to jump in this discussion with a very simple idea. > > ,---- > | * TODO When this task is marked done, send SCHEDULED to the next task > | :PROPERTIES: > | :SEND: {SCHEDULED 'next "+1d"} {TODO 'next "TODO"} > | :END: > | > | * When previous task done, this will turn TODO, SCHEDULED for +1 day > `---- > [:snip:] > What do you think? My only real issue is that I tend to think of task dependencies in terms of the other tasks a given task is waiting on rather than what other tasks are waiting on a given task. This feels a little backward to me, but I could still use it. I'd still have to think about how to use this to make projections, but all the info is there for that. Edd ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 20:35 ` Eddward DeVilla @ 2007-10-09 2:42 ` Bastien 2007-10-09 2:01 ` Russell Adams 2007-10-09 2:58 ` Eddward DeVilla 0 siblings, 2 replies; 58+ messages in thread From: Bastien @ 2007-10-09 2:42 UTC (permalink / raw) To: emacs-orgmode "Eddward DeVilla" <eddward@gmail.com> writes: > My only real issue is that I tend to think of task dependencies in > terms of the other tasks a given task is waiting on rather than what > other tasks are waiting on a given task. Ok, then: * Task A * Task B :PROPERTIES: :>TODO: {TODO 'previous "DONE"} :END: => becomes TODO when previous tasks is DONE. > This feels a little backward to me, but I could still use it. I'd > still have to think about how to use this to make projections, but all > the info is there for that. Sure! Two ideas again: 1) one aspect of Org is that it is very *fast*; we can change the TODO state of an item with just one keystroke. Making this change trigger actions should require some kind of double-check, otherwise we could end up with a lot of changes that we're not fully aware of. One way to check the triggered changes is to build an actions pool gathering all actions to be performed, then ask the user if he wants to perform them. 2) In my proposal, the actions are just triggered by TODO state changes. But each action could affect or be affected by any property. * Task A :PROPERTIES: :COLOR: red :END: * Task B :PROPERTIES: :>TODO: {COLOR 'previous "green"} :END: => becomes TODO when previous tasks property COLOR is "green". ... -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 2:42 ` Bastien @ 2007-10-09 2:01 ` Russell Adams 2007-10-09 3:35 ` Eddward DeVilla 2007-10-09 3:37 ` Bastien 2007-10-09 2:58 ` Eddward DeVilla 1 sibling, 2 replies; 58+ messages in thread From: Russell Adams @ 2007-10-09 2:01 UTC (permalink / raw) To: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 1242 bytes --] I love this discussion on properties for dependencies, but does anyone have a suggestion on how to visualize it? After you setup all these triggers, you still need a central place to view the overview and steps involved (I'm thinking project management specifically). My most common use of org is project management, with one org file per project, and there are always distinct phases for primary headers (Client, Overview, Inventory, Implementation, Documentation, Timecard). Often, the order subitems need to be accomplished in is different than the order of the outline. Part of the original properties discussion revolved around project management, dependencies, DURATION, and the ability to see a timeline based on relative duration instead of schedule. Would an updated agenda view suffice? Would we need a way to link to items and manually maintain order? Will our heros finally subdue the evil Dr. Klan? Will the mysterious Gantt chart ever emerge? Thanks! ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 [-- Attachment #1.2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] [-- Attachment #2: Type: text/plain, Size: 204 bytes --] _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 2:01 ` Russell Adams @ 2007-10-09 3:35 ` Eddward DeVilla 2007-10-09 3:59 ` Russell Adams 2007-10-09 3:37 ` Bastien 1 sibling, 1 reply; 58+ messages in thread From: Eddward DeVilla @ 2007-10-09 3:35 UTC (permalink / raw) To: emacs-orgmode On 10/8/07, Russell Adams <RLAdams@adamsinfoserv.com> wrote: > I love this discussion on properties for dependencies, but does anyone > have a suggestion on how to visualize it? > > After you setup all these triggers, you still need a central place to > view the overview and steps involved (I'm thinking project management > specifically). I'm not even thinking triggers as much as seeing things marked Blocked if their dependencies are not met. > My most common use of org is project management, with one org file per > project, and there are always distinct phases for primary headers > (Client, Overview, Inventory, Implementation, Documentation, > Timecard). Often, the order subitems need to be accomplished in is > different than the order of the outline. In projects, my sections are - quick info -- a table with things like defect or request tracking info, start date, estimated time, date testing begins and date actually completed. I may have other simple cut and paste info there. This stuff is slowly moving into the PROPERTIES drawer. - status log -- a list with entries that begin with an inactive date and whatever interesting things happened on that day. A diary of sorts. - investigating -- a hierarchy of checkbox lists (I use plain list folding) of questions I need answers to. - work -- a hierarchy of checkbox lists of things that actually need to be done. - verification -- a hierarchy of checkbox lists of what needs to be done to verify that things got done right. (Testing) I'm now at the point that I have several such projects in flight that can block one another. One thing I think I'm eventually going to have to do is replace my checkbox lists to todo items lists. Given that multiple todo sequences are supported, that is now reasonable. > Part of the original properties discussion revolved around project > management, dependencies, DURATION, and the ability to see a timeline > based on relative duration instead of schedule. > > Would an updated agenda view suffice? Would we need a way to link to > items and manually maintain order? Will our heros finally subdue the > evil Dr. Klan? Will the mysterious Gantt chart ever emerge? My wild imaginings were that it would develop into something providing the info for a gantt chart. More realistically, I was picturing a generated table of tasks sorted by dependencies, with estimated start and end dates filled in based on constrains imposed by dependency ordering, hard deadlines, hard set start dates, etc. Perhaps you could adjust ordering of task in the table when constrains allow it and get gripe messages or red flags in impossible situations. Perhaps it could color items that make up a critical path. It could be an agenda like view with remove editing features and highlighting effects, but I'm not sure that would be the best or most flexible design. Given properties and dynamic blocks, we have tools to implement something basic outside of org-mode now. Even a gantt chart generator. For me, it's a time thing. That and my work situation has changed dramatically and the way I planned work before does work well in my current situation. Edd ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 3:35 ` Eddward DeVilla @ 2007-10-09 3:59 ` Russell Adams 2007-10-09 4:55 ` Eddward DeVilla 2007-10-09 10:42 ` Bastien 0 siblings, 2 replies; 58+ messages in thread From: Russell Adams @ 2007-10-09 3:59 UTC (permalink / raw) To: emacs-orgmode On Mon, Oct 08, 2007 at 10:35:33PM -0500, Eddward DeVilla wrote: > On 10/8/07, Russell Adams <RLAdams@adamsinfoserv.com> wrote: > In projects, my sections are > - quick info -- a table with things like defect or request > tracking info, start date, estimated time, date testing begins and > date actually completed. I may have other simple cut and paste info > there. This stuff is slowly moving into the PROPERTIES drawer. > - status log -- a list with entries that begin with an inactive > date and whatever interesting things happened on that day. A diary of > sorts. > - investigating -- a hierarchy of checkbox lists (I use plain list > folding) of questions I need answers to. > - work -- a hierarchy of checkbox lists of things that actually > need to be done. > - verification -- a hierarchy of checkbox lists of what needs to > be done to verify that things got done right. (Testing) > > I'm now at the point that I have several such projects in flight that > can block one another. One thing I think I'm eventually going to have > to do is replace my checkbox lists to todo items lists. Given that > multiple todo sequences are supported, that is now reasonable. I think the difference here is that I have settled into a routine of grouping by logical type, not implementation order. This is why dependencies appeal to me, because I can use them to order items without disrupting the logical relationships. As to Gantt, lets just dump trees into Graphviz! ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 3:59 ` Russell Adams @ 2007-10-09 4:55 ` Eddward DeVilla 2007-10-09 10:42 ` Bastien 1 sibling, 0 replies; 58+ messages in thread From: Eddward DeVilla @ 2007-10-09 4:55 UTC (permalink / raw) To: emacs-orgmode On 10/8/07, Russell Adams <RLAdams@adamsinfoserv.com> wrote: > On Mon, Oct 08, 2007 at 10:35:33PM -0500, Eddward DeVilla wrote: > > I'm now at the point that I have several such projects in flight that > > can block one another. One thing I think I'm eventually going to have > > to do is replace my checkbox lists to todo items lists. Given that > > multiple todo sequences are supported, that is now reasonable. > > I think the difference here is that I have settled into a routine of > grouping by logical type, not implementation order. This is why > dependencies appeal to me, because I can use them to order items > without disrupting the logical relationships. That's what I did to. But my checkboxes lists had been very small steps. Projects were large collection of very small tasks. Dependencies weren't that complicated. The work I've moved into, projects don't have many steps, but there are many more projects in flight with a lot of dependencies, hard deadlines and starting a project can be gated by arrival of hardware, or availability of people who are too busy to write docs. In any case, that part of the beauty of org. It has several tools for organizing and tracking info. You can put them together in a lot of different and useful ways. The list of tools keep growing and Carsten does an excellent job of keeping things consistent, easy to use and independent. It's rare that you have to learn a multiple features just to use the one you want. Yet the all interact well. You can learn it a piece at a time. I've been dying to see dependency ordering added to that list. Sounds like there is some use for dependency based triggering. They both could be cool, but so far I'm not really attached to any of the suggested implementations yet. Edd ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 3:59 ` Russell Adams 2007-10-09 4:55 ` Eddward DeVilla @ 2007-10-09 10:42 ` Bastien 1 sibling, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-09 10:42 UTC (permalink / raw) To: emacs-orgmode Russell Adams <RLAdams@AdamsInfoServ.Com> writes: > As to Gantt, lets just dump trees into Graphviz! Gantt charts could be achieved with TRIGGER/BLOCKER, trees would requires GUID and labels. Am I right? -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 2:01 ` Russell Adams 2007-10-09 3:35 ` Eddward DeVilla @ 2007-10-09 3:37 ` Bastien 1 sibling, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-09 3:37 UTC (permalink / raw) To: emacs-orgmode Russell Adams <RLAdams@AdamsInfoServ.Com> writes: > I love this discussion on properties for dependencies, but does anyone > have a suggestion on how to visualize it? Building a sparse tree with headlines that are affected by actions possibily triggered from the current task? > After you setup all these triggers, you still need a central place to > view the overview and steps involved (I'm thinking project management > specifically). Trying to figure this out will surely help designing the right implementation for task dependencies -- but maybe we've already speculated way too far and should refrain from getting the whole picture at once (I take responsability, if needed :) > Part of the original properties discussion revolved around project > management, dependencies, DURATION, and the ability to see a timeline > based on relative duration instead of schedule. Yes, I can remember that. Good old days. > Would an updated agenda view suffice? Would we need a way to link to > items and manually maintain order? Will our heros finally subdue the > evil Dr. Klan? Will the mysterious Gantt chart ever emerge? I guess most people in this list lost their jobs already anyway. -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 2:42 ` Bastien 2007-10-09 2:01 ` Russell Adams @ 2007-10-09 2:58 ` Eddward DeVilla 2007-10-09 10:41 ` Bastien 1 sibling, 1 reply; 58+ messages in thread From: Eddward DeVilla @ 2007-10-09 2:58 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode I'm not sure we are talking about the same things really. On 10/8/07, Bastien <bzg@altern.org> wrote: > "Eddward DeVilla" <eddward@gmail.com> writes: > > > My only real issue is that I tend to think of task dependencies in > > terms of the other tasks a given task is waiting on rather than what > > other tasks are waiting on a given task. > > Ok, then: > > * Task A > * Task B > :PROPERTIES: > :>TODO: {TODO 'previous "DONE"} > :END: > > => becomes TODO when previous tasks is DONE. I'm not really trying to deal with linear C depends and B which depends on A type things. Those are easy. I don't really need org to change the states for me. It's more like, work can't even begin E until A, C & D are done. Work can't start F until A & B are done. The reasons for the dependencies could be anything. (Requires a certain person's time, requires requisite info/result generated in other/blocking steps, artistic flare) Given a set of such ordering constraints, and estimated times to complete a step, what is the soonest a step can be started or completed? Can I use this info to generate a table of tasks with project start and end dates? > > This feels a little backward to me, but I could still use it. I'd > > still have to think about how to use this to make projections, but all > > the info is there for that. > > Sure! > > Two ideas again: > > 1) one aspect of Org is that it is very *fast*; we can change the TODO > state of an item with just one keystroke. Making this change trigger > actions should require some kind of double-check, otherwise we could > end up with a lot of changes that we're not fully aware of. > > One way to check the triggered changes is to build an actions pool > gathering all actions to be performed, then ask the user if he wants > to perform them. > > 2) In my proposal, the actions are just triggered by TODO state changes. > But each action could affect or be affected by any property. > > * Task A > :PROPERTIES: > :COLOR: red > :END: > > * Task B > :PROPERTIES: > :>TODO: {COLOR 'previous "green"} > :END: > > => becomes TODO when previous tasks property COLOR is "green". Again, interesting, but different from where I was going. I'm not after editing as a side effect. Just planning and organizing. In a previous message you said it isn't as complex as package dependencies. I guess what I was after might be. Edd ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 2:58 ` Eddward DeVilla @ 2007-10-09 10:41 ` Bastien 2007-10-09 14:53 ` Eddward DeVilla 0 siblings, 1 reply; 58+ messages in thread From: Bastien @ 2007-10-09 10:41 UTC (permalink / raw) To: emacs-orgmode "Eddward DeVilla" <eddward@gmail.com> writes: > I'm not really trying to deal with linear C depends and B which > depends on A type things. Those are easy. I don't really need org to > change the states for me. Okay, but this was Rainer initial request. > It's more like, work can't even begin E until A, C & D are done. Work > can't start F until A & B are done. Would the TRIGGER/BLOCKER be okay for that (assuming we can use John's proposal of using lisp expressions and a set of predefined actions)? > Again, interesting, but different from where I was going. I'm not > after editing as a side effect. Just planning and organizing. In a > previous message you said it isn't as complex as package dependencies. > I guess what I was after might be. Yes. I thought allowing side effects (forward) and checks (backward) would be enough - for the sake of keeping implementation simple. Maybe this was just an over-reaction to the idea of GUID or labels, which sounds like we are going into trouble. -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 10:41 ` Bastien @ 2007-10-09 14:53 ` Eddward DeVilla 2007-10-11 12:44 ` Bastien 0 siblings, 1 reply; 58+ messages in thread From: Eddward DeVilla @ 2007-10-09 14:53 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode On 10/9/07, Bastien <bzg@altern.org> wrote: > "Eddward DeVilla" <eddward@gmail.com> writes: > > It's more like, work can't even begin E until A, C & D are done. Work > > can't start F until A & B are done. > > Would the TRIGGER/BLOCKER be okay for that (assuming we can use John's > proposal of using lisp expressions and a set of predefined actions)? I think so. It kinda clicked for me in the other thread. I'd probably use BLOCKER more myself, but I think I like the idea of using it with TRIGGER to have a high level task that is marked done or would depending on it's sub tasks. It would be like a todo item equivalent to the [/] & [%] tokens in plain lists. > > Again, interesting, but different from where I was going. I'm not > > after editing as a side effect. Just planning and organizing. In a > > previous message you said it isn't as complex as package dependencies. > > I guess what I was after might be. > > Yes. I thought allowing side effects (forward) and checks (backward) > would be enough - for the sake of keeping implementation simple. That part of it is seems pretty simple and elegant. > Maybe this was just an over-reaction to the idea of GUID or labels, > which sounds like we are going into trouble. GUIDs did sound a little off for org. Labels would introduce a management /maintenance problem for the user. I felt I needed something to built my dependency relations with. It's hard to 'address' a todo item. Link's might be the best thing we have for that. For me, linear ordering would not be enough and requiring the hierarchy to model the dependencies will require me to break up tasks that logically belong together. It just might be that it's not time to address that though. Edd. ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 14:53 ` Eddward DeVilla @ 2007-10-11 12:44 ` Bastien 2007-10-11 12:22 ` Russell Adams 0 siblings, 1 reply; 58+ messages in thread From: Bastien @ 2007-10-11 12:44 UTC (permalink / raw) To: emacs-orgmode "Eddward DeVilla" <eddward@gmail.com> writes: > It's hard to 'address' a todo item. Not that hard: [[*Test%20headline]] > Link's might be the best thing we have for that. Exactly! And what if the text of the link could also store the todo state value of its target (when both relevant and accessible[1])? > For me, linear ordering would not be enough and requiring the > hierarchy to model the dependencies will require me to break up tasks > that logically belong together. It just might be that it's not time > to address that though. The trigger/blocker functions might not be "linear" - they could check arbitrarily for any headline's property just by searching for the task in the buffer. Notes: [1] Their are plans for adding a TODO property to e-mail in Gnus, via the Gnus registry. Then storing a link from an e-mail from Gnus could suggest its TODO property as a default TODO property in Org. -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 12:44 ` Bastien @ 2007-10-11 12:22 ` Russell Adams 2007-10-11 14:03 ` Bastien 0 siblings, 1 reply; 58+ messages in thread From: Russell Adams @ 2007-10-11 12:22 UTC (permalink / raw) To: emacs-orgmode On Thu, Oct 11, 2007 at 01:44:11PM +0100, Bastien wrote: > "Eddward DeVilla" <eddward@gmail.com> writes: > > > It's hard to 'address' a todo item. > > Not that hard: [[*Test%20headline]] How does that work to address this case? * Hardware ** TODO Install * Software ** TODO Install :ADDRESSTHISONE: * Patches ** TODO Install Thats why I thought a GUID property would be required. Thanks. ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 12:22 ` Russell Adams @ 2007-10-11 14:03 ` Bastien 2007-10-11 13:21 ` Russell Adams ` (2 more replies) 0 siblings, 3 replies; 58+ messages in thread From: Bastien @ 2007-10-11 14:03 UTC (permalink / raw) To: emacs-orgmode Russell Adams <RLAdams@AdamsInfoServ.Com> writes: > How does that work to address this case? > > * Hardware > ** TODO Install > * Software > ** TODO Install :ADDRESSTHISONE: > * Patches > ** TODO Install > > Thats why I thought a GUID property would be required. I a sense, that shows that having a proper GUID system will only be useful in case there are many tasks with the same name, which should already be discouraged since headlines may show up in the agenda buffer with no context at all. IMO, a better rationale behind GUID is that headlines can change and thus not be reached anymore by a search string. Having a GUID would fix this. But I'm definitely not a GUID-fan, sorry :) -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 14:03 ` Bastien @ 2007-10-11 13:21 ` Russell Adams 2007-10-11 13:31 ` Eddward DeVilla 2007-10-12 9:13 ` John Wiegley 2 siblings, 0 replies; 58+ messages in thread From: Russell Adams @ 2007-10-11 13:21 UTC (permalink / raw) To: emacs-orgmode > I a sense, that shows that having a proper GUID system will only be > useful in case there are many tasks with the same name, which should > already be discouraged since headlines may show up in the agenda buffer > with no context at all. I rarely have issues with conflicts in agenda. I use discreet files for separate projects, and unique subitems are scheduled. Otherwise I'll deal with duplicates. ;] > > IMO, a better rationale behind GUID is that headlines can change and > thus not be reached anymore by a search string. Having a GUID would > fix this. But I'm definitely not a GUID-fan, sorry :) I'm not a fan either, but recognize that it is a fast fix. You can use a static property and simplified search (vs regexp) and know that you've matched the correct item. That being said, perhaps the GUID should be dynamic and similar to the links interface. By default, no items have properties, or GUID's. If you trigger a "save location", a GUID is added to the current item adding a property drawer as needed. You can then choose that TODO from a list when creating the dependency (again, just like links). Thats what came to mind for me. ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 14:03 ` Bastien 2007-10-11 13:21 ` Russell Adams @ 2007-10-11 13:31 ` Eddward DeVilla 2007-10-12 9:13 ` John Wiegley 2 siblings, 0 replies; 58+ messages in thread From: Eddward DeVilla @ 2007-10-11 13:31 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode On 10/11/07, Bastien <bzg@altern.org> wrote: > IMO, a better rationale behind GUID is that headlines can change and > thus not be reached anymore by a search string. Having a GUID would > fix this. But I'm definitely not a GUID-fan, sorry :) In a sense that's why I said it was hard to address atodo item. You change a priority, a state or use a [/] token and you are hosed. That could be dealt with, but it's not ready yet. Edd ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-11 14:03 ` Bastien 2007-10-11 13:21 ` Russell Adams 2007-10-11 13:31 ` Eddward DeVilla @ 2007-10-12 9:13 ` John Wiegley 2 siblings, 0 replies; 58+ messages in thread From: John Wiegley @ 2007-10-12 9:13 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode Bastien <bzg@altern.org> writes: >> * Hardware >> ** TODO Install >> * Software >> ** TODO Install :ADDRESSTHISONE: >> * Patches >> ** TODO Install >> >> Thats why I thought a GUID property would be required. > > I a sense, that shows that having a proper GUID system will only be > useful in case there are many tasks with the same name, which should > already be discouraged since headlines may show up in the agenda buffer > with no context at all. GUIDs could always be defined using a property, to allow users to find a task uniquely. It doesn't have to be a canonical part of org-mode at all. John ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: depending TODOs, scheduling following TODOs automatically 2007-10-08 14:49 ` Eddward DeVilla 2007-10-08 20:55 ` Bastien @ 2007-10-09 9:44 ` Christian Egli 2007-10-09 10:53 ` Bastien 2007-10-09 15:21 ` Eddward DeVilla 1 sibling, 2 replies; 58+ messages in thread From: Christian Egli @ 2007-10-09 9:44 UTC (permalink / raw) To: emacs-orgmode Eddward DeVilla <eddward <at> gmail.com> writes: > I've been waiting to see if org might develop something like todo > dependency ordering. Seems like one could use this with and estimated > time to complete a todo item to generate a milestone table or more > easily estimate how long a group of tasks will require to complete or > when the soonest a given step could begin. One of org-mode biggest strengths is its simplicity. I do not want it to turn into a feature ridden dinosaur that is impossible to maintain. I keep my projects simple. I plan not for the sake of planning but to get an overview. So for dependency tracking I usually just reorder my tasks. I don't want to fidget with my plan all day. I want to get things done :-) To that end my plea is to keep org mode simple. That's why John's proposal appeals to me. It is flexible and delegates the complexity to emacs lisp instead of inventing another micro language for dependency tracking. Christian ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 9:44 ` Christian Egli @ 2007-10-09 10:53 ` Bastien 2007-10-09 15:21 ` Eddward DeVilla 1 sibling, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-09 10:53 UTC (permalink / raw) To: emacs-orgmode Christian Egli <christian.egli@novell.com> writes: > To that end my plea is to keep org mode simple. That's why John's > proposal appeals to me. It is flexible and delegates the complexity to > emacs lisp instead of inventing another micro language for dependency > tracking. Again, I fully agree with that. -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 9:44 ` Christian Egli 2007-10-09 10:53 ` Bastien @ 2007-10-09 15:21 ` Eddward DeVilla 2007-10-11 12:44 ` Bastien 1 sibling, 1 reply; 58+ messages in thread From: Eddward DeVilla @ 2007-10-09 15:21 UTC (permalink / raw) To: Christian Egli; +Cc: emacs-orgmode On 10/9/07, Christian Egli <christian.egli@novell.com> wrote: > One of org-mode biggest strengths is its simplicity. I do not want it to turn > into a feature ridden dinosaur that is impossible to maintain. I was hoping for something more like perl, where the easy things are easy and the hard things are possible. My hope for any feature in org is that if you don't need it, it doesn't affect you and you don't need to know it exists. > I keep my projects simple. I plan not for the sake of planning but to get an > overview. So for dependency tracking I usually just reorder my tasks. I don't > want to fidget with my plan all day. I want to get things done :-) Same here. I'm just now in a position where I need to make sure I get them done on time and it's starting to require some creative planning. A planning mistake now could really hose me 9 months from now. Tracking complex dependency relations between tasks would go a long way in help me see avoid such mistakes. Obviously, not everyone is in that boat. I wasn't a few months ago. > To that end my plea is to keep org mode simple. That's why John's proposal > appeals to me. It is flexible and delegates the complexity to emacs lisp instead > of inventing another micro language for dependency tracking. I'm losing track of who proposed what. I was up late last night. I'm liking the TRIGGER/BLOCKER idea that Bastien has been talking about, except it lacks the ability to reference any task that isn't immediately before, after, under or above the triggering or blocked task. I'm starting to think links might be to best tool in org for identifying a task (todo item). I'm not sold on that yet. I may need to give that another night. If we go that route, I think I'd like to see a common library of code come with org to keep us from reinvent wheels and so we can have a subset of 'trusted' code. (I'm security minded. I'd hate to reinvent the mistake of embedded VB script in documents.) Edd ^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: Re: depending TODOs, scheduling following TODOs automatically 2007-10-09 15:21 ` Eddward DeVilla @ 2007-10-11 12:44 ` Bastien 0 siblings, 0 replies; 58+ messages in thread From: Bastien @ 2007-10-11 12:44 UTC (permalink / raw) To: emacs-orgmode (Sorry, I'm writing this in my very-early Eurostar, it may not be accurate at the time it will be sent.) "Eddward DeVilla" <eddward@gmail.com> writes: > I'm losing track of who proposed what. I was up late last night. I'm > liking the TRIGGER/BLOCKER idea that Bastien has been talking about, Reshaping the proposal for TRIGGER/BLOCKER. Thinking of this again, I believe TRIGGER/BLOCKER should not be properties of a task, but rather of one of their properties. Then look at this: ,---- | * A task | :PROPERTIES: | :TODO: NEXT | :>: DONE (org-todo-in-subtree "DONE") | :END: `---- This says: when the :TODO: property is "DONE" perform the function (org-todo-in-subtree "DONE"), which could be a lambda expression. And then this: ,---- | * A task | :PROPERTIES: | :TODO: MAYBE | :<: NEXT (org-previous-entry-done-p) | :END: `---- This says: only set the property :TODO: to "NEXT" when the previous entry is DONE. The advantage of this implementation is that - it capture John's idea of letting lisp expression do the job of performing actions (and checking for conditions), replacing the hairy ugly syntax I first proposed; - it's property-based, therefore more flexible than :NEXT>: or even :TRIGGER: (unless we use very complex stuff in TRIGGERS) - it looks quite *readable* (especially if indentation is in use) - it's extensible: :>?: trigger action interactively :>!: don't trigger action interactively :>|: don't trigger any action after this one :>>: give priority to this triggered action ... just to give a few ideas. > except it lacks the ability to reference any task that isn't > immediately before, after, under or above the triggering or blocked > task. I'm starting to think links might be to best tool in org for > identifying a task (todo item). I'm not sold on that yet. I may need > to give that another night. I tend to think that a labelling system should not be designed in the same framework than the one we have been thinking about so far to add actions to property changes. After all, labels are only one very specific way to refer to tasks. We can build the trigger/blocker system then make it aware of labels, if any. But more experienced programmers might have better insight on this. Best, -- Bastien ^ permalink raw reply [flat|nested] 58+ messages in thread
end of thread, other threads:[~2007-10-14 1:43 UTC | newest] Thread overview: 58+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-10-08 6:56 depending TODOs, scheduling following TODOs automatically Rainer Stengele 2007-10-08 13:26 ` Denis Bueno 2007-10-08 13:43 ` Russell Adams 2007-10-08 13:52 ` Russell Adams 2007-10-08 19:48 ` Carsten Dominik 2007-10-08 20:12 ` Russell Adams 2007-10-09 10:13 ` Carsten Dominik 2007-10-08 14:49 ` Eddward DeVilla 2007-10-08 20:55 ` Bastien 2007-10-08 20:26 ` Adam Spiers 2007-10-09 2:15 ` Bastien 2007-10-09 3:03 ` John Wiegley 2007-10-09 3:47 ` Eddward DeVilla 2007-10-09 9:27 ` Richard G Riley 2007-10-09 14:39 ` Eddward DeVilla 2007-10-10 17:20 ` Bastien 2007-10-09 10:35 ` Bastien 2007-10-09 10:32 ` Bastien 2007-10-11 14:46 ` Carsten Dominik 2007-10-11 15:53 ` pete phillips 2007-10-11 16:22 ` Sebastjan Trepca 2007-10-11 16:37 ` Russell Adams 2007-10-11 17:10 ` pete phillips 2007-10-11 17:55 ` Russell Adams 2007-10-11 18:45 ` pete phillips 2007-10-14 1:01 ` Charles Cave 2007-10-14 2:42 ` Bastien 2007-10-11 19:46 ` Bastien 2007-10-11 21:12 ` Rainer Stengele 2007-10-11 21:19 ` Leo 2007-10-11 23:54 ` Piotr Zielinski 2007-10-12 3:14 ` Eddward DeVilla 2007-10-12 13:50 ` Bastien 2007-10-12 17:09 ` Jason F. McBrayer 2007-10-12 17:03 ` Jason F. McBrayer 2007-10-11 16:53 ` Bastien 2007-10-12 9:21 ` John Wiegley 2007-10-08 20:35 ` Eddward DeVilla 2007-10-09 2:42 ` Bastien 2007-10-09 2:01 ` Russell Adams 2007-10-09 3:35 ` Eddward DeVilla 2007-10-09 3:59 ` Russell Adams 2007-10-09 4:55 ` Eddward DeVilla 2007-10-09 10:42 ` Bastien 2007-10-09 3:37 ` Bastien 2007-10-09 2:58 ` Eddward DeVilla 2007-10-09 10:41 ` Bastien 2007-10-09 14:53 ` Eddward DeVilla 2007-10-11 12:44 ` Bastien 2007-10-11 12:22 ` Russell Adams 2007-10-11 14:03 ` Bastien 2007-10-11 13:21 ` Russell Adams 2007-10-11 13:31 ` Eddward DeVilla 2007-10-12 9:13 ` John Wiegley 2007-10-09 9:44 ` Christian Egli 2007-10-09 10:53 ` Bastien 2007-10-09 15:21 ` Eddward DeVilla 2007-10-11 12:44 ` Bastien
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).