From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Display missing/overlapping clock ranges Date: Sun, 24 Apr 2011 17:30:37 +0200 Message-ID: <1598DF88-B3E8-4502-956F-3A98113EA5BE@gmail.com> References: <87ei56yv2y.fsf@gmail.com> <878vvdj1y6.fsf@norang.ca> Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([140.186.70.92]:36959) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QE1Go-0004FQ-Rs for emacs-orgmode@gnu.org; Sun, 24 Apr 2011 11:30:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QE1Gn-00058D-Ay for emacs-orgmode@gnu.org; Sun, 24 Apr 2011 11:30:46 -0400 Received: from mail-ew0-f41.google.com ([209.85.215.41]:51305) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QE1Gm-000584-V8 for emacs-orgmode@gnu.org; Sun, 24 Apr 2011 11:30:45 -0400 Received: by ewy9 with SMTP id 9so557885ewy.0 for ; Sun, 24 Apr 2011 08:30:43 -0700 (PDT) In-Reply-To: <878vvdj1y6.fsf@norang.ca> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Bernt Hansen Cc: Rainer Stengele , emacs-orgmode mailing list , Paul Mead On 13.4.2011, at 23:06, Bernt Hansen wrote: > Paul Mead writes: >=20 >> Rainer Stengele writes: >>=20 >>> I do clock every task I work on during the whole day. >>> At the end of the day or week I have to go over all clock entries in = my agenda >>> and see if there are holes or overlappings in my clock tables. >>> If yes I have to adjust the clocks. >>>=20 >>> I read Bernt Hansen's comments on how he works with clocks >>> (http://doc.norang.ca/org-mode.html#Clocking). >>>=20 >>> What about a function showing the lacking clock ranges over >>> the day while being in the agenda with log mode on? >>>=20 >>> The function could even check for overlapping clock ranges and = indicate these >>> or jump to these. >>>=20 >>> Maybe it would even be good to be able to configure daily and weekly >>> regular holes in the ranges, for example >>>=20 >>> - daily lunch time from [12:00]--[13:00] >>> - week end days (maybe with diary syntax) >>> - working days (Monday to Friday for example) >>>=20 >>> What do you think? >>>=20 >>> -- Rainer >>=20 >> I'd defintely use something which identified the gaps and overlaps as >> they're taking some time to find now that I have to account more = closely >> for my time! I've been considering whether to raise this for a >> while. The 'regular holes' idea is good to, although not as important >> for me. >>=20 >> Paul >=20 > Hi Rainer and Paul, >=20 > Locating gaps would be useful. I've been meaning to investigate this > but haven't spent any time on it yet. With my current clocking setup > I've found I get very few holes. Checking the times is a task I do > manually just before billing for my time. I currently just use a = visual > scan of the daily agenda(s) including clocking lines displayed = ensuring > that the start and end times match over the clocking period. >=20 > It should be possible to automate the check. How should a filtered > agenda be handled? I expect you'd want to see the gaps for the = entries > that are filtered away otherwise it's only really meaningful when you > look at the entire clocking data. >=20 > The major problem I used to have was clocks that would be opened and > never closed. These were bad because they count as 0 minutes and > without fixing those entries I don't bill for that time. Since the > invention of M-x org-resolve-clocks (which runs everytime I clock in) = I > now find these open clocks quickly and don't need to reconstruct the > data a week later. I haven't had this problem in a long time. >=20 > Maybe something like the following mock up? >=20 > --8<---------------cut here---------------start------------->8--- > Day-agenda (W15): > Wednesday 13 April 2011 > todo: 7:09- 7:11 Clocked: (0:02) Organization = :PERSONAL:: > 7:11- 8:00 - Gap -> (0:49) > org: 8:00- 8:12 Clocked: (0:12) DONE Try to fix this bug = :ORG:WORK:tuning:: > todo: 8:12- 8:26 Clocked: (0:14) Organization = :PERSONAL:: > diary: 8:26- 9:06 Clocked: (0:40) Breakfast > todo: 9:06- 9:30 Clocked: (0:24) Task A = :PERSONAL:: > 9:30-10:58 - Gap -> (1:28) > 10:00...... ---------------- > todo: 10:58-11:11 Clocked: (0:13) Organization = :PERSONAL:: > vvv ------ Overlap ------ vvv > todo: 11:11-11:12 Clocked: (0:01) Read Mail and News = :PERSONAL:: > todo: 11:10-11:14 Clocked: (0:01) Organization = :PERSONAL:: > ^^^ ------ Overlap ------ ^^^ > todo: 11:14-11:15 Clocked: (0:01) Read Mail and News = :PERSONAL:: > todo: 11:15-11:16 Clocked: (0:01) Organization = :PERSONAL:: > 12:00...... ---------------- > 14:00...... ---------------- > 16:00...... ---------------- > 11:16-16:33 - Gap -> (5:17) > todo: 16:33...... Clocked: (-) Read Mail and News = :PERSONAL:: > 16:43...... now - - - - - - - - - - - - - - - - - - - - - = - - - - > 18:00...... ---------------- > 20:00...... ---------------- > --8<---------------cut here---------------end--------------->8--- Hi Bernt, Rainer, Paul, these are pretty good ideas, and since it is a holiday, I have some = time, so I have tried an implementation and just pushed it to the master. This introduces a new key in the agenda, "v c", which will check for clocking issues and display them in a similar way as Bernt proposes. The whole thing works like log view, so it applies to the currently displayed span in the agenda, and it sticks if you move around with "f" and "b". To get out of this view, press "l" to turn off log view, for example. Also, it is a special log view in that it only shows clocking information, I believe this makes it more direct and useful. There is a variable to configure what constitutes clocking issues. The default value is (setq org-agenda-clock-consistency-checks '(:max-duration "10:00" :min-duration 0 :max-gap "0:05" :gap-ok-around = ("4:00"))) which means the following: 1. Report any clocking chunks that are longer than 10 hours, 2. Report clocking chunks that are shorter than 0 minutes (so this could be used to find short clocks, by setting it to one minute or so) 3. Report gaps in the clocking, if the gap is larger than 5 minutes (should than be called :min-gap? I am confused....) 4. If the time 4am falls into a large gap, do not report the gap. This is to avoid the spurious reporting of gaps between the last evening task and the first morning task. Testing and feedback would be much appreciated. Also, it is not really useful to use this on a filtered agenda view, but testing of this would be appreciated as well. Happy holidays! - Carsten