From mboxrd@z Thu Jan 1 00:00:00 1970 From: Buddy Butterfly Subject: Re: Item task_id not being used in taskjuggler export & tj prefixing Date: Mon, 01 Apr 2013 22:56:32 +0200 Message-ID: <5159F480.3030100@web.de> References: <87eheutjpz.fsf@gmail.com> <876206th04.fsf@gmail.com> <87wqsmryt0.fsf@gmail.com> Reply-To: buddy.butterfly@web.de Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:50246) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UMlmS-00068V-GM for emacs-orgmode@gnu.org; Mon, 01 Apr 2013 16:56:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UMlmN-0004zn-Qp for emacs-orgmode@gnu.org; Mon, 01 Apr 2013 16:56:40 -0400 Received: from h1359005.stratoserver.net ([81.169.136.31]:43390) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UMlmN-0004zM-E1 for emacs-orgmode@gnu.org; Mon, 01 Apr 2013 16:56:35 -0400 In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi, regarding your example ** Milestones :M: *** Task :PROPERTIES: :task_id: M2 :depends: T8 :END: ** Technical :T: :PROPERTIES: :task_id: T :END: *** Task :PROPERTIES: :task_id: T8 :duration: 1d :END: I would like to discus what I mean with a prefix. At the moment oex tries to mirror some functionality of tj to org mode. From an architectural point of view I would do this only for few selected functionalities. Otherwise you developers have to always adapt code to tj. If you would implement generic tj properties that will be exported as is, then one could easily write the tj stuff itself. The problem becomes obvious with your example above. Herr you expect that T8 would be unique across all tasks. If there are some other task paths with a task of T8 then this will not work. You will always run after tj implementing what they have implemented. Why not write: :depends: !!T.T8 directly? This is what should be done. Leave the tj logic to tj and do not try to map it to org-mode. The more you map the more difficult to maintain, etc. Also, you will likely only implement subsets of tj properties. For example, there are properties missing like :workinghours: Lets look at an example. Suppose we would prefix all taskjuggler properties with "tj_" and org-mode would export tj_ properties as is. People then would directly code the dependency themself. Your example would look like (if directly replaced) ** Milestones :M: *** Task :PROPERTIES: :tj_task_id: M2 :tj_depends: !!T.T8 :END: ** Technical :T: :PROPERTIES: :tj_task_id: T :END: *** Task :PROPERTIES: :tj_task_id: T8 :tj_duration: 1d :END: Also, properties to the project tag should go into the project task. With the functionality above, it would be easy to: * Project :taskjuggler_project: :workinhours: mon - fri 08:00 - 17:00 Or give a flag: ** Technical :T: :PROPERTIES: :tj_task_id: T :END: *** Task :PROPERTIES: :tj_task_id: T8 :tj_duration: 1d :tj_flag: tech8flag :END: I have some other points to discuss. Will create a separate thread for it. Cheers, Matt Am 01.04.2013 18:57, schrieb John Hendy: > On Mon, Apr 1, 2013 at 11:38 AM, Nicolas Goaziou wrote: >> John Hendy writes: >> >>> On Mon, Apr 1, 2013 at 10:20 AM, Nicolas Goaziou wrote: >>>> John Hendy writes: >>>> >>>>> I still have the issue of depending on a task not in the current >>>>> subtree, but perhaps I'm just not using the exporter correctly: >>>> There was indeed a bug in the dependencies formatting. It should now be >>>> fixed in master. Could you confirm it? >>>> >>>>> *** Task >>>>> :PROPERTIES: >>>>> :task_id: M2 >>>>> :depends: ??? what goes here to depend on T.T8 ??? >>>> It should be :depends: T8 >>>> >>>> Thank you for the feedback. >>>> >>> That *would* work, but ox-taskjuggler has to correct for the fact that >>> T8 does not live in M2's bucket (M). Using T8 gives me this: >>> >>> >>> #+begin_src TJ >>> task M2 "Task" { >>> depends !T8 >>> milestone >>> } >>> #+end_src >> I cannot reproduce it. With: >> >> * Project :taskjuggler_project: >> >> ** Milestones :M: >> *** Task >> :PROPERTIES: >> :task_id: M2 >> :depends: T8 >> :END: >> >> ** Technical :T: >> :PROPERTIES: >> :task_id: T >> :END: >> *** Task >> :PROPERTIES: >> :task_id: T8 >> :duration: 1d >> :END: >> >> I get: >> >> task project "Project" { >> purge allocate >> allocate nicolas >> task milestones "Milestones" { >> task M2 "Task" { >> depends !!T.T8 >> milestone >> } >> } >> task T "Technical" { >> task T8 "Task" { >> duration 1d >> } >> } >> } >> >> which looks correct. Did you reload Org properly after update? > Process: > - Save your patch to ~/Downloads/patch.patch > - cd ~/.elisp/org.git > - git branch tj-test > - git checkout tj-test > - patch -p1 < ~/Downloads/patch.patch > - make clean && make > - start fresh Emacs session > > What perplexes me is that the id's mostly work (showing that the patch > definitely changed from the master branch behavior), but not the same > as you. With no task_id for Milestones, I'm getting: > > task nil "Milestones" { > > and you're getting > > task milestones "Milestones" { > > I'm also not getting the resolving of non-sibling depends attributes > (getting just !T8 instead of !!T.T8). > > Did I not apply the patch or rebuild org properly? I'm pretty bad with > git, and it surprises me that `git status` shows that ox-taskjuggler > is modified when I switch back to master. I would have expected that > my master branch would be oblivious to the changes I made on the > tj-test branch (with `git branch tj-test && git checkout tj-test`). > > > Thanks, > John > >> >> Regards, >> >> -- >> Nicolas Goaziou