From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Egli Subject: Re: taskjuggler (tj3) export issues and proposals Date: Wed, 01 Feb 2012 15:09:21 +0100 Message-ID: <871uqesl0u.fsf@sbs.ch> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([140.186.70.92]:45047) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsasX-0001R4-Ff for emacs-orgmode@gnu.org; Wed, 01 Feb 2012 09:09:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RsasS-0006at-Vy for emacs-orgmode@gnu.org; Wed, 01 Feb 2012 09:09:41 -0500 Received: from plane.gmane.org ([80.91.229.3]:40480) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsasS-0006aV-LL for emacs-orgmode@gnu.org; Wed, 01 Feb 2012 09:09:36 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1RsasO-0005aZ-Uc for emacs-orgmode@gnu.org; Wed, 01 Feb 2012 15:09:32 +0100 Received: from gateway01.sbszh.ch ([217.162.18.85]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 01 Feb 2012 15:09:32 +0100 Received: from christian.egli by gateway01.sbszh.ch with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 01 Feb 2012 15:09:32 +0100 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 John John Hendy writes: > Leading my first project and decided to dig into taskjuggler again. It > just seems so natural to have everything in org if possible, so I took > another look at the exporter, manual, and worg tutorial. [1][2] Cool. > As is, as far as I can tell, the exporter does not work out of the box > with tj3. I /think/ I could get it to work if I added in a massive > report definition (which now seems mandatory for tj3) under > =org-export-taskjuggler-default-reports=, but that just feels clumsy. First off let me say that I'm using the taskjuggler exporter with tj3, so it should work. As far as I know setting the org-export-taskjuggler-default-reports should work. As I agree that this is a bit clumsy and sets the reports for all projects. I'm setting the variable in a file variable like so (the compile-command is optional but you need to adapt it to match the location of your tj3 binary and your file name): # Local Variables: # org-export-taskjuggler-target-version: 3.0 # org-export-taskjuggler-default-reports: ("include \"reports.tji\"") # compile-command: "~/.gem/ruby/1.9.1/bin/tj3 yourfilename.tjp" # End: Then I define the reports in a separate file which is included similar to the solution you outline below. I guess I should have some default report definitions for tj3 in the exporter itself. The tj3 reports are quite massive and it is hard to come by some which could be included in the Emacs source (you need copyright assignments). Maybe the ones I have in my reports.tji could qualify. > For one, not every project will have the same report. Secondly, it > seems odd to tweak report definitions through my .emacs file? Yes I agree, see above. > Based on my fiddling tonight, here are some suggestions/inquiries: > > 1) Could there be something equivalent to #+latex/#+begin_latex that > would let me export some literal taskjuggler syntax into a file? > Perhaps throw everything between a #+begin/end_taskjuggler just before > the closing "}" for the task? I can see a use case for this with regards to reports. But what is the use case if you'd place this inside tasks? The problem with literal sections of taskjuggler is where to place them. Something might me related to the project header, other stuff to the reports, etc. > 2) Could a different naming convention be used? It seems the currently > it's either what is defined by the property :task_id: or defaults to > the first word of the headline. If the default were more likely to be > unique, it would spare having to define a ton of =task_id= properties; > instead one could define dependencies based on headline names because > the syntax for naming was known and not likely to clash with another > headline's ID. > --- First word of the parent headline + "_" + first word of actual headline? > --- Bump it to the first two words of each headline? The exporter just makes the task_id locally unique. That's what tj expects. From your usage I guess that you have a lot of tasks with the same name (probably within different hierarchies). Both methods you outline could be implemented. Which one is more general? > 3) As a piggyback on #1, I am successful with the following process: > -- create reports.tji with my report definitions > -- org-export-taskjuggler-default-reports set to nothing > -- export from orgmode > -- edit exported-file.tjp and add: include "reports.tji" to the end > -- run =tj3 filename.tjp= Could you not set org-export-taskjuggler-default-reports to "include \"reports.tji\""? Otherwise you can use file variables as I outlined above. > Simply allowing the addition of =include "reports.tji"= or even > mandating that it exists would allow the use of tj3 with the current > exporter. > > I don't know lisp and feel a bit guilty making potentially code-heavy > suggestions about this... That said, I'm happy to pitch in with the > manual/worg since they're a but outdated anyway. I'm happy to take you up on this offer. The worg page is a lot of work, as it has all these screen shots. I'd be happy if you could update it once you get all of this working. > I don't see an obvious place where one can even download tj 2.x.x > anymore. I have it installed on an old machine. > The tj team seems to have left that version behind; perhaps > the org exporter should to? I still prefer the old reports. But I guess yes, the exporter should move on and support tj3 out of the box. The two main problems are 1. default reports with copyright assignments. As I include this in the Emacs source we need to have assignments. I can't just take the ones from the tj3 manual (I'd have to ask the author first). 2. A way to invoke the view (as seamless as before). For tj 2.4 I was able to just invoke the taskjuggler gui with the exported tjp file. For tj3 the exporter needs to somehow find out which reports are generated (HTML, text, csv) and then invoke the appropriate viewer. This might be simplified I take some assumptions, but I haven't come up with a clever way to do this. Thanks Christian -- Christian Egli Swiss Library for the Blind, Visually Impaired and Print Disabled Grubenstrasse 12, CH-8045 Zürich, Switzerland