emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Bernt Hansen <bernt@alumni.uwaterloo.ca>
To: "Jason F. McBrayer" <jmcbray@carcosa.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: Clocktable from multiple files?
Date: Thu, 13 Sep 2007 11:05:15 -0400	[thread overview]
Message-ID: <87d4wmli6s.fsf@gollum.intra.norang.ca> (raw)
In-Reply-To: m1lkball5e.fsf@bertrand.carcosa.net

jmcbray@carcosa.net (Jason F. McBrayer) writes:

> I think accumulating CLOCK entries in the outline is The Right Thing.
> It keeps the times with the tasks, and so forth, and clocking in and out
> of tasks is really convenient.  What we're lacking right now are
> flexible-enough ways of dealing with the information those entries
> represent.  Right now, the clock table does everything I really need to
> do, but not everything I would like to be able to do.
>
> Here are some things that any future org-clock.el or similar ought to
> be able to handle:
>
> 1. Including CLOCK entries from all org-agenda-files in its summaries
> 2. Including CLOCK entries from archive files associated with files used
>    to construct its summaries.  Right now I can't archive completed
>    projects because of the need to include them and their tasks in
>    monthly reports, for example.
> 3. Conversely, limiting summaries to only a subtree (having a clock
>    table per project, for example).  I don't need this right now, but
>    someone consulting or freelancing for several clients probably would.
>

Here's how I'm currently using org-mode.  Maybe this will be useful to
someone.  Most of how I am currently working with org-mode was inspired
by John Wiegley's article that Carsten posted on the list recently.
Thanks to both of you for a great tool I use everyday!

I'm a consultant that bills by project and time.  I used to have lots of
org files (one per client) but that was too hard to deal with.  I wasn't
using archiving effectively and the files were getting too large.

I now have a single todo.org which has all my current tasks in it.  This
file is copiously sprinkled with #+ARCHIVE: and #+CATEGORY: lines for
organization.

My org file looks like this: (new tasks are entered with Remember and go
in * Tasks at the top)

,----[ todo.org ]
| * Tasks
| * Timelog
| #+BEGIN: clocktable :maxlevel 2 :emphasize t :block today
| #+END:
| 
| * CLIENT1 - Timelog
| #+BEGIN: clocktable :maxlevel 4 :emphasize t :block thismonth
| #+END:
| * CLIENT1 - Project 1
| #+ARCHIVE: client1.org_archive::* Project 1
| #+CATEGORY: client1
| 
| * CLIENT2 - Timelog
| #+BEGIN: clocktable :maxlevel 2 :emphasize t :block thismonth
| #+END:
| * CLIENT2 - Project 1
| #+ARCHIVE: client2.org_archive::* Project 1
| #+CATEGORY: client2
| * CLIENT2 - Project 2
| #+ARCHIVE: client2.org_archive::* Project 2
| #+CATEGORY: client2
| ...
| * CLIENT2 - Project n
| #+ARCHIVE: client2.org_archive::* Project n
| #+CATEGORY: client2
| 
| * Anniversaries and Holidays
| #+ARCHIVE: %s_archive::* Anniversaries and Holidays
| #+CATEGORY: Holiday
| * Appointments
| * Other Personal Tasks
| ...
`----

Running the clock summary (C-c C-x C-r) updates the first * Timelog
entry which gives me a summary for today for everything.

When I want summaries for CLIENT1 I collapse the buffer to level 1 tasks
only, select a region including the * CLIENT1 - Timelog and all
following CLIENT1 tasks then use narrow-to-region to show only those
tasks.  Now updating the clock table updates the * CLIENT1 - Timelog
table which gives me a view of this month.  I usually always look at
month ranges for clients for billing (either this month or last month)
but different clients need different maxlevel settings based on the
detail required for reporting.  The widen function restores the original
view with all tasks.

I find I use narrow-to-region and widen alot so I've bound them to
C-M-F9 and C-M-F10 respectively.  Keeping the * Timelog tasks for each
client means I don't have to manually create them every month to report
on the same thing as last time.

I archive all CLIENT1 tasks into a single archive file.  CLIENT2 has a
different archive file.  Non-client tasks are archived into the catchall
todo.org_archive file.

I have a * Timelog entry in the client archive files which reports on
last month so I can quickly check that I didn't accidentally move some
clock times from todo.org when I do my billing.  When my billing cycle
is complete at the end of the month I archive all eligible tasks then
start timing tasks for the next month.

This works great for me.

-Bernt

  reply	other threads:[~2007-09-13 15:05 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-12 17:02 Clocktable from multiple files? cranreuch
2007-09-13  5:10 ` Carsten Dominik
2007-09-13 14:01   ` Jason F. McBrayer
2007-09-13 15:05     ` Bernt Hansen [this message]
2007-09-19 19:28       ` Carsten Dominik
2007-09-13 17:07     ` Bastien
2007-09-19 19:26     ` Carsten Dominik
2007-09-23 20:26       ` Jason F. McBrayer
2007-09-19  5:39   ` cranreuch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d4wmli6s.fsf@gollum.intra.norang.ca \
    --to=bernt@alumni.uwaterloo.ca \
    --cc=emacs-orgmode@gnu.org \
    --cc=jmcbray@carcosa.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).