emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Collaborating with TODO lists and clocks.
@ 2013-04-28 18:30 Gareth Smith
  2013-04-28 19:27 ` Richard Lawrence
  0 siblings, 1 reply; 12+ messages in thread
From: Gareth Smith @ 2013-04-28 18:30 UTC (permalink / raw)
  To: emacs-orgmode


Hi all,

Does anyone use org to collaborate on task lists? It seems to me that it
would be very natural to put a tasks.org file into a VCS repo, claim a
task by changing its status from TODO to IN_PROGRESS (and committing
that change), work, then mark as DONE at the end.

That's all awesome - but what if you're also using org to clock your
working time?

I /think/ what I want might be some way of syncing a $VCS_PATH/tasks.org
with $HOME/orgs/project_1_tasks.org such that all non-clock data is
synced, but clock data is ignored by the sync. That way several of us
can keep our own private clock data, and share only what we care about -
the data on what needs doing.

Does such a thing exist?

Alternatively, am I wrong about what I think I want? Is there a better
workflow I should be thinking about adopting?

Thanks!

Gareth.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  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
  0 siblings, 1 reply; 12+ messages in thread
From: Richard Lawrence @ 2013-04-28 19:27 UTC (permalink / raw)
  To: emacs-orgmode

Hi Gareth,

Gareth Smith <gareth@totherme.org> writes:

> Does anyone use org to collaborate on task lists? It seems to me that it
> would be very natural to put a tasks.org file into a VCS repo, claim a
> task by changing its status from TODO to IN_PROGRESS (and committing
> that change), work, then mark as DONE at the end.
>
> That's all awesome - but what if you're also using org to clock your
> working time?
> ...
> Alternatively, am I wrong about what I think I want? Is there a better
> workflow I should be thinking about adopting?

Is there a reason you don't want any clock data to end up in the shared
tasks.org?

If not, one thing you could do is:

1) When claiming a task, each person uses a tag for their name (in
addition to, or instead of, just changing the TODO state).  Then that
person "owns" the clock data for that task.

2) Then use the :tags option on a clock table to filter the clock data
for just the tasks you personally have worked on; each person can have
their own table (in tasks.org).

For example, suppose you have a task like:

* TODO Frobnicate something

You claim it by changing that to:

* IN_PROGRESS Frobnicate something              :gareth:

Check that in, then start your clock in this tree.

Somewhere else in the file, you have a clock table like:

#+BEGIN: clocktable :maxlevel 3 :scope file :tags "+gareth"
#+CAPTION: Gareth's working time on all tasks
# ...
#+END:

which will show you the clock data for just the tasks you've worked on
(i.e., are tagged in).

-- 
Best,
Richard

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  2013-04-28 19:27 ` Richard Lawrence
@ 2013-04-29 20:34   ` Gareth Smith
  2013-04-30  1:50     ` Richard Lawrence
  0 siblings, 1 reply; 12+ messages in thread
From: Gareth Smith @ 2013-04-29 20:34 UTC (permalink / raw)
  To: emacs-orgmode


Thanks for the reply Richard!

Richard Lawrence <richard.lawrence@berkeley.edu> writes:
> Is there a reason you don't want any clock data to end up in the shared
> tasks.org?
>
> If not, one thing you could do is:
>
> 1) When claiming a task, each person uses a tag for their name (in
> addition to, or instead of, just changing the TODO state).  Then that
> person "owns" the clock data for that task.
>
> 2) Then use the :tags option on a clock table to filter the clock data
> for just the tasks you personally have worked on; each person can have
> their own table (in tasks.org).

That sounds like a good idea - thanks!

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.

For example, often I clock into a task while I do the work of
sub-dividing it into smaller tasks. And often when I'm actively working
on a task, I'll create a sub-task of my current-clocked-task on the
fly. It seems to me that if I continue with this sort of working
practice, and attempt to collaborate with others who work similarly,
then we might quickly find that it's not easy to describe a given task
(or even subtask) as being "owned" by a single person.

Again, perhaps my workflow is at fault, and I should be organising
myself in a more principled way. And perhaps in practice I'll find that
tasks do tend to be owned by just one person anyway. 

Thanks for the quick reply!

Gareth.

> For example, suppose you have a task like:
>
> * TODO Frobnicate something
>
> You claim it by changing that to:
>
> * IN_PROGRESS Frobnicate something              :gareth:
>
> Check that in, then start your clock in this tree.
>
> Somewhere else in the file, you have a clock table like:
>
> #+BEGIN: clocktable :maxlevel 3 :scope file :tags "+gareth"
> #+CAPTION: Gareth's working time on all tasks
> # ...
> #+END:
>
> which will show you the clock data for just the tasks you've worked on
> (i.e., are tagged in).

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  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
  0 siblings, 2 replies; 12+ messages in thread
From: Richard Lawrence @ 2013-04-30  1:50 UTC (permalink / raw)
  To: emacs-orgmode

Hi Gareth,

Gareth Smith <gds@doc.ic.ac.uk> 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.

> For example, often I clock into a task while I do the work of
> sub-dividing it into smaller tasks. And often when I'm actively working
> on a task, I'll create a sub-task of my current-clocked-task on the
> fly. It seems to me that if I continue with this sort of working
> practice, and attempt to collaborate with others who work similarly,
> then we might quickly find that it's not easy to describe a given task
> (or even subtask) as being "owned" by a single person.

So one problem case is where you "own" a task, but someone else owns one
of its subtasks, e.g.:

==========================================
* Clock tables
#+BEGIN: clocktable :maxlevel 2 :scope file :tags "+gareth"
#+CAPTION: Clock summary at [2013-04-29 Mon 18:25]
| Headline           | Time   |      |
|--------------------+--------+------|
| *Total time*       | *3:05* |      |
|--------------------+--------+------|
| TODO Task 1        | 3:05   |      |
| \__ TODO Subtask 1 |        | 1:05 |
| \__ TODO Subtask 2 |        | 1:00 |
#+END:
#+BEGIN: clocktable :maxlevel 2 :scope file :tags "+john"
#+CAPTION: Clock summary at [2013-04-29 Mon 18:17]
| Headline           | Time   |      |
|--------------------+--------+------|
| *Total time*       | *1:05* |      |
|--------------------+--------+------|
| TODO Task 1        | 1:05   |      |
| \__ TODO Subtask 1 |        | 1:05 |
#+END:

* TODO Task 1							     :gareth:
  CLOCK: [2013-04-29 Mon 18:15]--[2013-04-29 Mon 19:15] =>  1:00
** TODO Subtask 1						       :john:
   CLOCK: [2013-04-29 Mon 18:15]--[2013-04-29 Mon 19:20] =>  1:05
** TODO Subtask 2						     :gareth:
   CLOCK: [2013-04-29 Mon 16:16]--[2013-04-29 Mon 17:16] =>  1:00
==========================================

Notice that Gareth gets credit for John's time on Subtask 1, because
Gareth owns Task 1.

You can avoid this particular gotcha in (at least) two ways:

1) Remove the :gareth: tag on task 1 and move the clock time to subtask
2 (more generally, "ownership" tags and clock times should only appear
at the lowest level of the task tree).  Maybe this makes the most sense,
but it slows down the worflow a bit and is hard to enforce, etc.

2) Use a tag filter like "+gareth-john" to build the clock table (more
generally, the clock table for each person should exclude tags for all
the others).  This prevents double counting and is easy to enforce, but
if any tasks have more than one owner, no one will get credit for their
clock times.

> Again, perhaps my workflow is at fault, and I should be organising
> myself in a more principled way. And perhaps in practice I'll find that
> tasks do tend to be owned by just one person anyway. 

Yeah, it's a hard problem with no general solution that I can see.  The
best thing is just to figure out what constraints you're willing to put
on your workflow, given what Org allows you to do.

Hope that's helpful!

Best,
Richard

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  2013-04-30  1:50     ` Richard Lawrence
@ 2013-04-30 18:21       ` Gareth Smith
  2013-09-05  7:31       ` Samuel Loury
  1 sibling, 0 replies; 12+ messages in thread
From: Gareth Smith @ 2013-04-30 18:21 UTC (permalink / raw)
  To: emacs-orgmode


Hi Richard,

Thanks for those suggestions - they're definitely helpful. I'll have a
bit more of a think, and if I come up with a "more optimal" idea, I'll
post again.

Cheers,

Gareth.

Richard Lawrence <richard.lawrence@berkeley.edu> writes:
> Hi Gareth,
>
> Gareth Smith <gds@doc.ic.ac.uk> 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.
>
>> For example, often I clock into a task while I do the work of
>> sub-dividing it into smaller tasks. And often when I'm actively working
>> on a task, I'll create a sub-task of my current-clocked-task on the
>> fly. It seems to me that if I continue with this sort of working
>> practice, and attempt to collaborate with others who work similarly,
>> then we might quickly find that it's not easy to describe a given task
>> (or even subtask) as being "owned" by a single person.
>
> So one problem case is where you "own" a task, but someone else owns one
> of its subtasks, e.g.:
>
> ==========================================
> * Clock tables
> #+BEGIN: clocktable :maxlevel 2 :scope file :tags "+gareth"
> #+CAPTION: Clock summary at [2013-04-29 Mon 18:25]
> | Headline           | Time   |      |
> |--------------------+--------+------|
> | *Total time*       | *3:05* |      |
> |--------------------+--------+------|
> | TODO Task 1        | 3:05   |      |
> | \__ TODO Subtask 1 |        | 1:05 |
> | \__ TODO Subtask 2 |        | 1:00 |
> #+END:
> #+BEGIN: clocktable :maxlevel 2 :scope file :tags "+john"
> #+CAPTION: Clock summary at [2013-04-29 Mon 18:17]
> | Headline           | Time   |      |
> |--------------------+--------+------|
> | *Total time*       | *1:05* |      |
> |--------------------+--------+------|
> | TODO Task 1        | 1:05   |      |
> | \__ TODO Subtask 1 |        | 1:05 |
> #+END:
>
> * TODO Task 1							     :gareth:
>   CLOCK: [2013-04-29 Mon 18:15]--[2013-04-29 Mon 19:15] =>  1:00
> ** TODO Subtask 1						       :john:
>    CLOCK: [2013-04-29 Mon 18:15]--[2013-04-29 Mon 19:20] =>  1:05
> ** TODO Subtask 2						     :gareth:
>    CLOCK: [2013-04-29 Mon 16:16]--[2013-04-29 Mon 17:16] =>  1:00
> ==========================================
>
> Notice that Gareth gets credit for John's time on Subtask 1, because
> Gareth owns Task 1.
>
> You can avoid this particular gotcha in (at least) two ways:
>
> 1) Remove the :gareth: tag on task 1 and move the clock time to subtask
> 2 (more generally, "ownership" tags and clock times should only appear
> at the lowest level of the task tree).  Maybe this makes the most sense,
> but it slows down the worflow a bit and is hard to enforce, etc.
>
> 2) Use a tag filter like "+gareth-john" to build the clock table (more
> generally, the clock table for each person should exclude tags for all
> the others).  This prevents double counting and is easy to enforce, but
> if any tasks have more than one owner, no one will get credit for their
> clock times.
>
>> Again, perhaps my workflow is at fault, and I should be organising
>> myself in a more principled way. And perhaps in practice I'll find that
>> tasks do tend to be owned by just one person anyway. 
>
> Yeah, it's a hard problem with no general solution that I can see.  The
> best thing is just to figure out what constraints you're willing to put
> on your workflow, given what Org allows you to do.
>
> Hope that's helpful!
>
> Best,
> Richard

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  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
  1 sibling, 1 reply; 12+ messages in thread
From: Samuel Loury @ 2013-09-05  7:31 UTC (permalink / raw)
  To: Richard Lawrence, emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 3655 bytes --]

Hi,
Richard Lawrence <richard.lawrence@berkeley.edu> writes:

> Hi Gareth,
>
> Gareth Smith <gds@doc.ic.ac.uk> 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 489 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  2013-09-05  7:31       ` Samuel Loury
@ 2013-09-05  7:42         ` Sebastien Vauban
  2013-09-05  8:52           ` Samuel Loury
  0 siblings, 1 reply; 12+ messages in thread
From: Sebastien Vauban @ 2013-09-05  7:42 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  2013-09-05  7:42         ` Sebastien Vauban
@ 2013-09-05  8:52           ` Samuel Loury
  2013-09-05 11:22             ` Sebastien Vauban
  0 siblings, 1 reply; 12+ messages in thread
From: Samuel Loury @ 2013-09-05  8:52 UTC (permalink / raw)
  To: Sebastien Vauban, emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1717 bytes --]

Sebastien Vauban <sva-news@mygooglest.com> 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.

> 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?

-- 
Konubinix
GPG Key    : 7439106A
Fingerprint: 5993 BE7A DA65 E2D9 06CE  5C36 75D2 3CED 7439 106A

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 489 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  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:29               ` Samuel Loury
  0 siblings, 2 replies; 12+ messages in thread
From: Sebastien Vauban @ 2013-09-05 11:22 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Samuel Loury wrote:
> Sebastien Vauban <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org> 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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  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
  1 sibling, 1 reply; 12+ messages in thread
From: Thorsten Jolitz @ 2013-09-05 11:54 UTC (permalink / raw)
  To: emacs-orgmode

"Sebastien Vauban" <sva-news@mygooglest.com>
writes:

> 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". 

A kind of team agende would indeed be useful, accessible form Org-mode
_and_ other calendar/planning tools (I can't imagine a pure
Emacs/Org-mode team).

I remember an attempt to make Org-mode a collaborative software (ColOrg
or so) - whats the state of it? I would guess this is very difficult
stuff. 

-- 
cheers,
Thorsten

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  2013-09-05 11:22             ` Sebastien Vauban
  2013-09-05 11:54               ` Thorsten Jolitz
@ 2013-09-05 13:29               ` Samuel Loury
  1 sibling, 0 replies; 12+ messages in thread
From: Samuel Loury @ 2013-09-05 13:29 UTC (permalink / raw)
  To: Sebastien Vauban, emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 735 bytes --]

Sebastien Vauban <sva-news@mygooglest.com> writes:

> Samuel Loury wrote:
>> Sebastien Vauban <sva-news@mygooglest.com> writes:
> 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]?
You are totally right. I guess the ASSIGNEE property would be a really
good implementation.

We should also create a variable org-collaborative-whoami to know what
tasks to filter.

--
Konubinix
GPG Key    : 7439106A
Fingerprint: 5993 BE7A DA65 E2D9 06CE  5C36 75D2 3CED 7439 106A

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 489 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Collaborating with TODO lists and clocks.
  2013-09-05 11:54               ` Thorsten Jolitz
@ 2013-09-05 13:32                 ` Samuel Loury
  0 siblings, 0 replies; 12+ messages in thread
From: Samuel Loury @ 2013-09-05 13:32 UTC (permalink / raw)
  To: Thorsten Jolitz, emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 771 bytes --]

Thorsten Jolitz <tjolitz@gmail.com> writes:

> A kind of team agende would indeed be useful, accessible form Org-mode
> _and_ other calendar/planning tools (I can't imagine a pure
> Emacs/Org-mode team).
Why not?

> I remember an attempt to make Org-mode a collaborative software (ColOrg
> or so) - whats the state of it? I would guess this is very difficult
> stuff. 
IIRC, the ColOrg project was more about allowing people to edit the same
org buffer simultaneously while the purpose of this thread of for org
documents to contain traces from separate people. In my use case for
instance, we would synchronize via git and would merge the task file.

-- 
Konubinix
GPG Key    : 7439106A
Fingerprint: 5993 BE7A DA65 E2D9 06CE  5C36 75D2 3CED 7439 106A

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 489 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-09-05 13:32 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

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).