emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Interaction of Agenda with DEADLINE & SCHEDULED
@ 2019-03-27  0:49 Stephan Fabel
  2019-04-20  7:54 ` Ihor Radchenko
  0 siblings, 1 reply; 3+ messages in thread
From: Stephan Fabel @ 2019-03-27  0:49 UTC (permalink / raw)
  To: emacs-orgmode

When creating a custom agenda view, it is often desirable to express a
relationship between a given task and meaningful dates, such as DEADLINE
and SCHEDULED. It seems that with org-mode, and especially in the agenda
view, it is not (yet?) possible to express that.

For example, how would one create a custom agenda view that

- shows all accomplished tasks within the DEADLINE last week
- shows all accomplished tasks that missed the DEADLINE last week

Then does the same for the coming week, i.e.

- show all tasks which are due in the next week, i.e., within the
  DEADLINE
- show all tasks which are overdue

Ideally, the interaction could even be more informational, so for
example, analysis of the available work time next week (assuming 40
hours for example) vs. the total estimated effort of all of the above
tasks, helping to answer the question of whether all tasks are even
achievable given the amount of available work time.

Another potential -and very valuable- analysis could be a recommendation
of order given DEADLINE, priority and effort over a period of time, for
example the next week. What should one do first, then second, etc. to
maximize output over a given period of time?

I have been looking for a discussion of these type of questions in the
documentation, worg and other places like EmacsWiki and haven't really
found anything.

Thanks for any pointers,

Stephan

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

* Re: Interaction of Agenda with DEADLINE & SCHEDULED
  2019-03-27  0:49 Interaction of Agenda with DEADLINE & SCHEDULED Stephan Fabel
@ 2019-04-20  7:54 ` Ihor Radchenko
  2019-04-26 22:30   ` Stephan Fabel
  0 siblings, 1 reply; 3+ messages in thread
From: Ihor Radchenko @ 2019-04-20  7:54 UTC (permalink / raw)
  To: Stephan Fabel, emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 4426 bytes --]

Hi,

There seems to be not much interest about this email, so I doubt that
the described functionality will be added to org any time soon.
However, let me try to give you some hints, which might be useful for
your personal config.

> For example, how would one create a custom agenda view that
>
> - shows all accomplished tasks within the DEADLINE last week
> - shows all accomplished tasks that missed the DEADLINE last week
>
> Then does the same for the coming week, i.e.
>
> - show all tasks which are due in the next week, i.e., within the
>   DEADLINE
> - show all tasks which are overdue

There is org-super-agenda package
(https://github.com/alphapapa/org-super-agenda), which already have a
part of the functionality. You can use :scheduled and :deadline
selectors as a starting point to achieve what you want.

A more direct way to approach this is a custom skip function. As a
starting point, see my own skip function for filter todo items with
deadline, but scheduled in future:

#+begin_src emacs-lisp
(defun org-agenda-skip-deadlines-before-schedule ()
  "Skip tasks, with deadline and scheduled in future and tasks without deadline."
  (require 'org-agenda)
  (org-with-wide-buffer
   (let* ((tmp-deadline-time (flet ((org-back-to-heading (&rest args) t)) ; we should be at heading already and it consumes too much cpu time otherwise
			       (org-get-deadline-time (point))))
	  (tmp-scheduled-time (org-get-scheduled-time (point)))
	  (tmp-cur-deadline (time-to-days tmp-deadline-time))
	  (tmp-cur-schedule (time-to-days tmp-scheduled-time))
	  (tmp-cur-day (time-to-days (apply #'encode-time
					    (append '(0 0 0)
						    (list (nth 1 org-agenda-current-date))
						    (list (nth 0 org-agenda-current-date))
						    (list (nth 2 org-agenda-current-date)))))))
     (when (or
	    (not tmp-deadline-time)
	    (and
	     tmp-scheduled-time
	     tmp-deadline-time
	     (> tmp-cur-schedule tmp-cur-day)
	     ;;(> tmp-cur-deadline tmp-cur-day)
	     ))
       (re-search-forward (org-get-limited-outline-regexp) nil 'noerror)
       (point)))))
#+end_src

> Ideally, the interaction could even be more informational, so for
> example, analysis of the available work time next week (assuming 40
> hours for example) vs. the total estimated effort of all of the above
> tasks, helping to answer the question of whether all tasks are even
> achievable given the amount of available work time.
>
> Another potential -and very valuable- analysis could be a recommendation
> of order given DEADLINE, priority and effort over a period of time, for
> example the next week. What should one do first, then second, etc. to
> maximize output over a given period of time?

What you want here is actually quite a complicated optimization problem,
which probably deserves a separate full project of its own.
I cannot comment much on this part since effort estimates never worked
for me.

Best,
Ihor

Stephan Fabel <stephan.fabel@gmail.com> writes:

> When creating a custom agenda view, it is often desirable to express a
> relationship between a given task and meaningful dates, such as DEADLINE
> and SCHEDULED. It seems that with org-mode, and especially in the agenda
> view, it is not (yet?) possible to express that.
>
> For example, how would one create a custom agenda view that
>
> - shows all accomplished tasks within the DEADLINE last week
> - shows all accomplished tasks that missed the DEADLINE last week
>
> Then does the same for the coming week, i.e.
>
> - show all tasks which are due in the next week, i.e., within the
>   DEADLINE
> - show all tasks which are overdue
>
> Ideally, the interaction could even be more informational, so for
> example, analysis of the available work time next week (assuming 40
> hours for example) vs. the total estimated effort of all of the above
> tasks, helping to answer the question of whether all tasks are even
> achievable given the amount of available work time.
>
> Another potential -and very valuable- analysis could be a recommendation
> of order given DEADLINE, priority and effort over a period of time, for
> example the next week. What should one do first, then second, etc. to
> maximize output over a given period of time?
>
> I have been looking for a discussion of these type of questions in the
> documentation, worg and other places like EmacsWiki and haven't really
> found anything.
>
> Thanks for any pointers,
>
> Stephan
>
>
>
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* Re: Interaction of Agenda with DEADLINE & SCHEDULED
  2019-04-20  7:54 ` Ihor Radchenko
@ 2019-04-26 22:30   ` Stephan Fabel
  0 siblings, 0 replies; 3+ messages in thread
From: Stephan Fabel @ 2019-04-26 22:30 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1771 bytes --]

Ihor,

On Sat, Apr 20, 2019 at 12:56 AM Ihor Radchenko <yantar92@gmail.com> wrote:

> > For example, how would one create a custom agenda view that
> >
> > - shows all accomplished tasks within the DEADLINE last week
> > - shows all accomplished tasks that missed the DEADLINE last week
> >
> > Then does the same for the coming week, i.e.
> >
> > - show all tasks which are due in the next week, i.e., within the
> >   DEADLINE
> > - show all tasks which are overdue
>
> There is org-super-agenda package
> (https://github.com/alphapapa/org-super-agenda), which already have a
> part of the functionality. You can use :scheduled and :deadline
> selectors as a starting point to achieve what you want.
>

thank you for the pointer. I will definitely take a look!


> > Ideally, the interaction could even be more informational, so for
> > example, analysis of the available work time next week (assuming 40
> > hours for example) vs. the total estimated effort of all of the above
> > tasks, helping to answer the question of whether all tasks are even
> > achievable given the amount of available work time.
> >
> > Another potential -and very valuable- analysis could be a recommendation
> > of order given DEADLINE, priority and effort over a period of time, for
> > example the next week. What should one do first, then second, etc. to
> > maximize output over a given period of time?
>
> What you want here is actually quite a complicated optimization problem,
> which probably deserves a separate full project of its own.
> I cannot comment much on this part since effort estimates never worked
> for me.
>

Yes. I think it would be awesome if org-mode could do that. If I had the
time, I'd love to take a closer look and see how one could solve for this.

Stephan

[-- Attachment #2: Type: text/html, Size: 2522 bytes --]

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

end of thread, other threads:[~2019-04-26 22:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-27  0:49 Interaction of Agenda with DEADLINE & SCHEDULED Stephan Fabel
2019-04-20  7:54 ` Ihor Radchenko
2019-04-26 22:30   ` Stephan Fabel

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