emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Item task_id not being used in taskjuggler export & tj prefixing


From: John Hendy
Subject: Re: [O] Item task_id not being used in taskjuggler export & tj prefixing
Date: Mon, 1 Apr 2013 22:24:28 -0500

On Mon, Apr 1, 2013 at 5:01 PM, Nicolas Goaziou <address@hidden> wrote:
> John Hendy <address@hidden> writes:
>
>> I agree and would prefer this. Especially since folks wanting to
>> export and being allowed to access tj functionality through drawers
>> are probably going to anticipate using actual tj syntax in those
>> drawers. Since tj only forces unique global ids (one can have M.T8,
>> T.T8, etc.), this would solve the issue of ambiguity should one decide
>> to use non-globally unique task ids. In fact, many projects may very
>> well use a lot of repetitive tasks with the same properties.
>>
>> In mine, I have some tasks regarding shipping products to various
>> countries. This way I could just have a bunch of country-specific
>> headlines like:
>>
>> * Country
>> ** Ship product
>>
>> * Country 2
>> ** Ship product
>>
>> And could give all the ** Ship... tasks the same id since their
>> Country parent would make it globally unique.
>
> You can already do so. IDs only have to be unique within the task
> siblings.

True, one can name tasks identically as long as they have no identical
siblings... but the point was the since one can only specify the
lowest level of id (e.g. "T1" instead of "T.T1"), Org doesn't know how
to resolve them properly. Consider this  modified test file:

#+begin_src org

* Project  :taskjuggler_project:

** Milestones  :M:
*** M.M1
      :PROPERTIES:
      :task_id: M1
      :depends: T1
      :END:
*** M.T1
    :PROPERTIES:
    :task_id:  T1
    :END:
** Technical  :T:
     :PROPERTIES:
     :task_id:  T
     :END:
*** T.T1
       :PROPERTIES:
       :task_id:  T1
       :END:

#+end_src

The resultant TJ export:

#+begin_src tj

task milestones "Milestones" {
  purge allocate
  allocate jwhendy
  task M1 "M.M1" {
    depends !T1, !!T.T1
    milestone
  }
  task T1 "M.T1" {
    milestone
  }
}
task T "Technical" {
  task T1 "T.T1" {
    milestone
  }
}

#+end_src

Task M1 ends up depending on both M.T1 (represented as !T1) /and/
T.T1. It won't fail since both T.T1 and M.T1 exist, but the user has
no way to set a depends option to target the specific T1 they wanted.
Setting =:depends: !!T.T1= ignores the :depends: property entirely.


Best regards,
John

>
>> For now, I'm just happy to have functionality restored so I can use
>> Org and not hand-edit the files after exporting :) I have a potential
>> IRC date with Christian Egli sometime this week... perhaps you should
>> join and add your feedback? One of my other points of input would be
>> that something like C-c l (Org store link at point) would be great.
>> Unique ids could be inserted as depends with some simple key strokes
>> and I would't have to use numbered IDs at all. They'd stay with the
>> tasks no matter where I moved them.
>>
>> For that... I'd actually prefer *not* to have to explicitly name the
>> parent since they could move wherever I put them with no consequence.
>
> You don't have to name parents either. You only need to name tasks that
> will be used as a dependency.
>

True, which is nice. But we're torn between:
- Letting Org name the parent whatever it wants, but then having to
figure out the org-generated parent id so we can do =:depends:
parent.subtask=, or

- Specifically naming the parent to have control over the task_id, but
having to change it because we move it later (and then updating all
=:depends: parent.task_id= properties accordingly)

And in either case, there's still no way to depend on a specific
=parent.task_id= combination.


Best regards,
John

>
> Regards,
>
> --
> Nicolas Goaziou



reply via email to

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