Hi, Richard Lawrence writes: > Hi Gareth, > > Gareth Smith writes: > >> I hadn't thought of using :tags on a clock table. I still worry if we'll >> find ourselves in a situation where more than one of us has clocked in >> some time on the same task. > > Yes, I agree this might not be optimal, for that case in particular. > One nice thing about this use of tags is that you have a representation > of when more than one person is working on a task, but that makes the > clock less useful, as it can no longer represent an individual's working > time without some effort to separate the clocks of the different owners. I recently encountered the issues of having to collaborate with other persons on the same task (all of us would need at some point to clock into this task). I thought that changing the value of the variable org-clock-string could help, but I have not tried it yet. Let me explain why it could help: It is for the time being set to "CLOCK:", but imagine that the user A set it to "CLOCK-A:" and the user B set it to "CLOCK-B:" (in their respective .emacs files), then after some time a clocked task would then look like: --8<---------------cut here---------------start------------->8--- * Do something CLOCK-A: [2013-09-05 Thu 07:55]--[2013-09-05 Thu 08:46] => 0:51 CLOCK-A: [2013-09-04 Wed 09:05]--[2013-09-04 Wed 09:41] => 0:36 CLOCK-B: [2013-09-04 Wed 08:00]--[2013-09-04 Wed 09:03] => 1:03 --8<---------------cut here---------------end--------------->8--- Then the agenda for each user would report only the time spent by himself. The time spent by each participant is clearly separated. There are some problems with doing so: - I don't know yet how to configure a report showing the time spent by every body, - I am not sure the clock time sum would work. - grepping for "CLOCK:" on org sources shows: --8<---------------cut here---------------start------------->8--- ./lisp/org-clock.el:782: (while (re-search-forward "CLOCK: \\(\\[.*?\\]\\)$" nil t) ./lisp/org.el:851: (defcustom org-clock-string "CLOCK:" ./lisp/org.el:8501: (while (re-search-forward "^[ \t]*CLOCK:.*$" nil t) ./lisp/org.el:15007: (defconst org-clock-drawer-start-re "^[ \t]*:CLOCK:[ \t]*$" ./lisp/org.el:15578: (while (looking-at "^[ \t]*\\(:CLOCK:\\|:LOGBOOK:\\|CLOCK:\\|:END:\\)") ./lisp/org.el:15579: (if (member (match-string 1) '("CLOCK:" ":END:")) ./lisp/org.el:17278: (looking-at "^[ \t]*CLOCK:"))) --8<---------------cut here---------------end--------------->8--- Those look like "hard coded" "CLOCK:" instead of using org-clock-string. They would need to be fixed. What do you think of this solution? Has anyone already use a solution like this? Best, PS: I have tried changing the org-clock-into-drawer variable to be "CLOCK-A" and "CLOCK-B" so that the task would then look like --8<---------------cut here---------------start------------->8--- * Do something :CLOCK-A: CLOCK: [2013-09-05 Thu 07:55]--[2013-09-05 Thu 08:46] => 0:51 CLOCK: [2013-09-04 Wed 09:05]--[2013-09-04 Wed 09:41] => 0:36 :END: :CLOCK-B: CLOCK: [2013-09-04 Wed 08:00]--[2013-09-04 Wed 09:03] => 1:03 :END: --8<---------------cut here---------------end--------------->8--- But it needs org-drawers to contain the values for each collaborators for it to work (and then should be maintained) and the folding mechanism did not seem to work for those special drawers. -- Konubinix GPG Key : 7439106A Fingerprint: 5993 BE7A DA65 E2D9 06CE 5C36 75D2 3CED 7439 106A