emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Collaborating with TODO lists and clocks.


From: Sebastien Vauban
Subject: Re: [O] Collaborating with TODO lists and clocks.
Date: Thu, 05 Sep 2013 13:22:38 +0200
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3 (windows-nt)

Samuel Loury wrote:
> Sebastien Vauban <address@hidden> writes:
>
>> 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---
>
> That sounds good also.

Inserting the user is easy to do with:

#+begin_src emacs-lisp
(defun org-clock-out-mark-clock ()
  (unless remove (insert (format " :%s:" user-full-name))))

(add-hook 'org-clock-out-hook 'org-clock-out-mark-clock)
#+end_src

>> 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---
>
> I really like this solution.
>
>> 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.
>
> That is my point with the solution by customization of org-clock-string. It
> appears to need only a few corrections of the hard coded "CLOCK:" string
> (that would be required anyway) and it looks like it would work out of the
> box without further development. Wouldn't it?

I've no real idea about how much should be changed for everything to work back
as expected [1], as there are so many functions relying on time clocking. Just
to add two extra points to the above list of possibly complex code changes:

- column view with time summing,

- `org-clock-display' (C-c C-x C-d), which shows subtree times in the entire
  buffer

Maybe you want to give it a try?

Though, I fear such a support requires more than what we expect -- while not
looking at the details (where the devil is).

For example, IIUC, different users will share one file with tasks, where they
will clock in/out. Then, what about the SCHEDULED and DEADLINE properties?
Will the tasks be in all the user agendas? Not acceptable. Then, we need first
to add an ASSIGNEE property, and ignore tasks which wouldn't be assigned to
me [2]?

Don't misunderstand me. I'm not trying to convince you or anybody to stop and
cry. On the contrary, I feel that some such possibilities are _needed_ to
transform Org from a "personal organizer" to a "team organizer". I'd be happy
that this would already be the case (and that we would have a real Web
interface for editing the filesĀ ;-)).

So, this discussion clearly is interesting, at least for providing ideas and a
common view on what's missing / what should be nice to have.

Best regards,
  Seb

[1] Don't forget we should be backward-compatible as well...

[2] For backward-compatibility, I guess we'd need to keep unassigned tasks in
    all agenda views. Maybe not that nice.

-- 
Sebastien Vauban




reply via email to

[Prev in Thread] Current Thread [Next in Thread]