emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* relative deadlines
@ 2014-12-08  2:10 Jeffrey Brent McBeth
       [not found] ` <87bnndcggb.fsf@nicolasgoaziou.fr>
  2014-12-09 17:05 ` J. David Boyd
  0 siblings, 2 replies; 4+ messages in thread
From: Jeffrey Brent McBeth @ 2014-12-08  2:10 UTC (permalink / raw)
  To: emacs-org

From time to time (each time I delve into using org-mode for deadlines before my habits fall apart), I find the desire to have some form of relative deadlines.  By this I mean, that there are often sequences of tasks that I know the time required to complete and when things are due.  These tasks may repeat (usually do).

It would be awful helpful to me, but I would guess few others, as a search didn't find much, for there to be some annotation like this
(example is farcical, notation is notional)

* Go on date
 DEADLINE: <2014-12-25>
 ** Ask Girl #<-3w>#
 ** Wash Hair #<-2w>#
 ** Make Money #<-1w2d>#
 ** Get in Car #<-0d>#
 ** Call her back #<+1w>#

that in the agenda view would show as a sequence of tasks with the following dates
Go on date <2014-12-25>
Ask Girl <2014-12-04>
Wash Hair <2014-12-11>
Make Money <2014-12-16>
Get in Car <2014-12-25>
Call her back <2015-01-01>

I have a python function that can take a stripped down org file and places an active date after each #<block># (or inactive after #[block]#), that I hacked up today to see if it would really be as useful as I thought, but I keep thinking that someone somewhere must have scratched this itch elsewhere, and having to partially parse org in python and modify the text rather than having my agenda smart enough to figure it out gives me pause...

If nobody have better ideas, are the block delimiters I'm using going to conflict with some other feature in org that I'm just not using yet?

The main functuionality I'm stumbling toward is having an easily moveable end date (so replacing the block with absolute dates is a nono).

Thanks for your attention,
 Jeffrey McBeth

-- 
"The man who does not read good books has no advantage over 
 the man who cannot read them."
 -- Mark Twain

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

* Re: relative deadlines
       [not found] ` <87bnndcggb.fsf@nicolasgoaziou.fr>
@ 2014-12-09 15:07   ` Jeffrey Brent McBeth
  2014-12-09 16:10     ` Nicolas Goaziou
  0 siblings, 1 reply; 4+ messages in thread
From: Jeffrey Brent McBeth @ 2014-12-09 15:07 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode

On Tue, Dec 09, 2014 at 10:36:52AM +0100, Nicolas Goaziou wrote:
> Hello,
> 
> Jeffrey Brent McBeth <mcbeth@broggs.org> writes:
> 
> > I have a python function that can take a stripped down org file and
> > places an active date after each #<block># (or inactive after
> > #[block]#), that I hacked up today to see if it would really be as
> > useful as I thought, but I keep thinking that someone somewhere must
> > have scratched this itch elsewhere, and having to partially parse org
> > in python and modify the text rather than having my agenda smart
> > enough to figure it out gives me pause...
> 
> It sounds like over-engineering to me.

I very well may be.  A common fault of engineers :)


> I think it would be better to have a function shifting all timestamps in
> a subtree. It may even exist already. I cannot remember.

This is where I fall down.  I don't see how that meets my basic need case.

I know that certain sub tasks need to start 90 days before the final deadline (for example), I can hand count back 90 days and then do the shifting of timestamps, but then the core relevant information is lost of -90d.

I have a strong feeling that since my searches don't turn things up, that this is a weird way in which I work rather than the rest of the subcommunity here; so I do appreciate the kind feedback above, I am not yet convinced that I'm insane :)

> > If nobody have better ideas, are the block delimiters I'm using going
> > to conflict with some other feature in org that I'm just not using
> > yet?
> 
> I don't think so.

That is helpful.  I read through your wonderful syntax file looking for decent delimeters that wouldn't be a pain to type, and I'm glad that there are no obvious howlers for me.

Jeff

-- 
"The man who does not read good books has no advantage over 
 the man who cannot read them."
 -- Mark Twain

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

* Re: relative deadlines
  2014-12-09 15:07   ` Jeffrey Brent McBeth
@ 2014-12-09 16:10     ` Nicolas Goaziou
  0 siblings, 0 replies; 4+ messages in thread
From: Nicolas Goaziou @ 2014-12-09 16:10 UTC (permalink / raw)
  To: Jeffrey Brent McBeth; +Cc: emacs-orgmode

Jeffrey Brent McBeth <mcbeth@broggs.org> writes:

> This is where I fall down.  I don't see how that meets my basic need
> case.

If you want to repeat the main task and sub-tasks, the function will
preserve difference between the timestamps.

> I know that certain sub tasks need to start 90 days before the final
> deadline (for example), I can hand count back 90 days and then do the
> shifting of timestamps, but then the core relevant information is lost
> of -90d.

You can also modify (advice) `org-deadline' and `org-scheduled' so their
base value is the one above in the subtree instead of current date.

Another option is to add a keymap to
`org-read-date-minibuffer-local-map' that would set the base date to the
last one computed. You could then choose your date incrementally (e.g.,
first move to the deadline date of the task, then backwards 90 days
with -90d). I'm unsure about the net benefit, tho.


Regards,

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

* Re: relative deadlines
  2014-12-08  2:10 relative deadlines Jeffrey Brent McBeth
       [not found] ` <87bnndcggb.fsf@nicolasgoaziou.fr>
@ 2014-12-09 17:05 ` J. David Boyd
  1 sibling, 0 replies; 4+ messages in thread
From: J. David Boyd @ 2014-12-09 17:05 UTC (permalink / raw)
  To: emacs-orgmode

Jeffrey Brent McBeth <mcbeth@broggs.org> writes:

> From time to time (each time I delve into using org-mode for deadlines
> before my habits fall apart), I find the desire to have some form of
> relative deadlines.  By this I mean, that there are often sequences of
> tasks that I know the time required to complete and when things are
> due.  These tasks may repeat (usually do).
>
> It would be awful helpful to me, but I would guess few others, as a
> search didn't find much, for there to be some annotation like this
> (example is farcical, notation is notional)
>
> * Go on date
>  DEADLINE: <2014-12-25>
>  ** Ask Girl #<-3w>#
>  ** Wash Hair #<-2w>#
>  ** Make Money #<-1w2d>#
>  ** Get in Car #<-0d>#
>  ** Call her back #<+1w>#
>
> that in the agenda view would show as a sequence of tasks with the following dates
> Go on date <2014-12-25>
> Ask Girl <2014-12-04>
> Wash Hair <2014-12-11>
> Make Money <2014-12-16>
> Get in Car <2014-12-25>
> Call her back <2015-01-01>
>
> I have a python function that can take a stripped down org file and
> places an active date after each #<block># (or inactive after
> #[block]#), that I hacked up today to see if it would really be as
> useful as I thought, but I keep thinking that someone somewhere must
> have scratched this itch elsewhere, and having to partially parse org
> in python and modify the text rather than having my agenda smart
> enough to figure it out gives me pause...
>
> If nobody have better ideas, are the block delimiters I'm using going
> to conflict with some other feature in org that I'm just not using
> yet?
>
> The main functuionality I'm stumbling toward is having an easily
> moveable end date (so replacing the block with absolute dates is a
> nono).
>
> Thanks for your attention,
>  Jeffrey McBeth

I think like that as well.  I know when some _thing_ has to be done.   Then I
start thinking of all the support items in relative terms to the main one.

You should add this to org mode, if able.  It would be a nice addition...

Dave

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

end of thread, other threads:[~2014-12-09 17:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-08  2:10 relative deadlines Jeffrey Brent McBeth
     [not found] ` <87bnndcggb.fsf@nicolasgoaziou.fr>
2014-12-09 15:07   ` Jeffrey Brent McBeth
2014-12-09 16:10     ` Nicolas Goaziou
2014-12-09 17:05 ` J. David Boyd

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