From: "Sebastien Vauban" <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org>
To: emacs-orgmode-mXXj517/zsQ@public.gmane.org
Subject: Re: Collaborating with TODO lists and clocks.
Date: Thu, 05 Sep 2013 09:42:12 +0200 [thread overview]
Message-ID: <8638pjiujv.fsf@somewhere.org> (raw)
In-Reply-To: 877gevwwq5.fsf@konixwork.incubateur.ens-lyon.fr
Samuel Loury wrote:
> 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:
>
> * 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
>
> 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
> * 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:
> 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.
Having thought about that in the past, I had thought of adding "tags" after
clock lines, such as:
--8<---------------cut here---------------start------------->8---
CLOCK: [2013-09-05 Thu 07:55]--[2013-09-05 Thu 08:46] => 0:51 :userA:
CLOCK: [2013-09-04 Wed 09:05]--[2013-09-04 Wed 09:41] => 0:36 :devB:
--8<---------------cut here---------------end--------------->8---
Though, having separate CLOCK drawers would even be better for Git merges,
such as (keeping the idea of pseudo-tags):
--8<---------------cut here---------------start------------->8---
:CLOCK:userA:
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:devB:
CLOCK: [2013-09-04 Wed 08:00]--[2013-09-04 Wed 09:03] => 1:03
:END:
--8<---------------cut here---------------end--------------->8---
But, of course, a lot of development is required to make this become usable:
- clocking reports (`R') must be updated with the knowledge of the current
user
- clock checking functions (`v c') must be enhanced to ignore clocks from
other users
- etc.
Best regards,
Seb
--
Sebastien Vauban
next prev parent reply other threads:[~2013-09-05 7:42 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-28 18:30 Collaborating with TODO lists and clocks Gareth Smith
2013-04-28 19:27 ` Richard Lawrence
2013-04-29 20:34 ` Gareth Smith
2013-04-30 1:50 ` Richard Lawrence
2013-04-30 18:21 ` Gareth Smith
2013-09-05 7:31 ` Samuel Loury
2013-09-05 7:42 ` Sebastien Vauban [this message]
2013-09-05 8:52 ` Samuel Loury
2013-09-05 11:22 ` Sebastien Vauban
2013-09-05 11:54 ` Thorsten Jolitz
2013-09-05 13:32 ` Samuel Loury
2013-09-05 13:29 ` Samuel Loury
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=8638pjiujv.fsf@somewhere.org \
--to=sva-news-d0wtavr13harg/idocfnwg@public.gmane.org \
--cc=emacs-orgmode-mXXj517/zsQ@public.gmane.org \
/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).