Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Orgmode: A report of tasks that are done within the week

Tags:

emacs

org-mode

Is it possible to ask org mode to report a list of TODO items that I worked on over a period of time?

We can assume that for each Todo entry I have a time tag, e.g. <2014-03-13 Thu 17:04>

like image 994
Shuo Avatar asked Mar 14 '14 01:03

Shuo


2 Answers

I use these agenda views to create daily, weekly and monthly reviews. Everything with a time stamp in the given period is listed, even archived stuff. It also adds a clock table to the bottom and will export to to html files when you export your agenda views (with C-c a e).

;; define "R" as the prefix key for reviewing what happened in various
;; time periods
(add-to-list 'org-agenda-custom-commands
             '("R" . "Review" )
             )

;; Common settings for all reviews
(setq efs/org-agenda-review-settings
      '((org-agenda-files '("~/org/notes.org"
                            "~/org/projects.org"
                            ))
        (org-agenda-show-all-dates t)
        (org-agenda-start-with-log-mode t)
        (org-agenda-start-with-clockreport-mode t)
        (org-agenda-archives-mode t)
        ;; I don't care if an entry was archived
        (org-agenda-hide-tags-regexp
         (concat org-agenda-hide-tags-regexp
                 "\\|ARCHIVE"))
      ))
;; Show the agenda with the log turn on, the clock table show and
;; archived entries shown.  These commands are all the same exept for
;; the time period.
(add-to-list 'org-agenda-custom-commands
             `("Rw" "Week in review"
                agenda ""
                ;; agenda settings
                ,(append
                  efs/org-agenda-review-settings
                  '((org-agenda-span 'week)
                    (org-agenda-start-on-weekday 0)
                    (org-agenda-overriding-header "Week in Review"))
                  )
                ("~/org/review/week.html")
                ))


(add-to-list 'org-agenda-custom-commands
             `("Rd" "Day in review"
                agenda ""
                ;; agenda settings
                ,(append
                  efs/org-agenda-review-settings
                  '((org-agenda-span 'day)
                    (org-agenda-overriding-header "Day in Review"))
                  )
                ("~/org/review/day.html")
                ))

(add-to-list 'org-agenda-custom-commands
             `("Rm" "Month in review"
                agenda ""
                ;; agenda settings
                ,(append
                  efs/org-agenda-review-settings
                  '((org-agenda-span 'month)
                    (org-agenda-start-day "01")
                    (org-read-date-prefer-future nil)
                    (org-agenda-overriding-header "Month in Review"))
                  )
                ("~/org/review/month.html")
                ))
like image 94
erikstokes Avatar answered Oct 10 '22 06:10

erikstokes


A quick way is to look at the logbook in the Agenda.

You can look at the agenda (see Agenda Views in Org Mode docs). Move the agenda to the time period you want - day, week, month, year. Put it in logbook mode (via the 'l' key, described in section 10.5 Commands in the agenda buffer). This will show for that time period which tasks you worked on and when.

You can also use a clock table (see section 8.4.2 The clock table) to get a detailed report where you can set all the details of what you are interested in.

(Note: the section heading numbers I refer to are in Org-mode version 8.2.5h - your version may differ, but those sections will still be there)

like image 32
Jeffrey DeLeo Avatar answered Oct 10 '22 05:10

Jeffrey DeLeo