emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] taskjuggler (tj3) export issues and proposals


From: John Hendy
Subject: Re: [O] taskjuggler (tj3) export issues and proposals
Date: Wed, 1 Feb 2012 09:07:29 -0600

On Wed, Feb 1, 2012 at 8:09 AM, Christian Egli <address@hidden> wrote:
> Hi John
>
> John Hendy <address@hidden> 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.
>

First off, thanks for the input!

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

This statement seems to indicate that org may work out of the box with tj3.

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

This seems to indicate that org does *not* work out of the box with
tj3, but only if you use this tweak for the reports definitions.
That's fine, I just want to be clear with whether org does or not work
out of the box by just setting =org-export-taskjuggler-target-version:
3.x= I'm thinking it does not and you'll get a failed build with no
output.

And... sigh. I had never thought to define reports /as/ =include
"reports.tji=. How simple.

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

Since these can vary, I actually think it would be fine to specify in
the manual that you need a separate definition. But maybe a brand new
tj user wouldn't like that?

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

Maybe that wasn't well thought out. I was thinking it could be useful,
but I guess the primary use was for include reports.tji.

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

Maybe "parent_headline_task_headline"? But that gets tricking for:

* Task Container
** Send product samples to X
** Send product samples to Y
** Send product samples to Z

Append a number? My files are not [too] complex; perhaps the exporter
should be done while thinking of how org might have worked for the
Fedora tj example
(http://www.taskjuggler.org/tj3/examples/Fedora-20/f-20.tjp).

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

Again. Yes. So simple. So overlooked by me...

>
>> 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'm down and sounds good.

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

Gotcha.

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

Gotcha. I started with the tj example and built my own... could I
provide it without these issues?

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

I've never used csv or text... maybe
org-export-taskjuggler-format-html/csv/text? And then something like
=org-export-taskjuggler-default-export-format=? Default=html but could
be changed with a file option?

>
> Thanks
> Christian

Thanks a ton for the response and effort.


John

>
> --
> Christian Egli
> Swiss Library for the Blind, Visually Impaired and Print Disabled
> Grubenstrasse 12, CH-8045 Zürich, Switzerland
>
>



reply via email to

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