PERT, network or dependency graph

Skip to first unread message

Aug 25, 2020, 11:08:58 PM8/25/20
to TaskJuggler Users
I recall somewhere reading that Christopher doesn't see a need for these graphs. I would like to have one anyway. The reason is that at early stages of a project, I have no idea how long each task will take but I can make a stab at what task must precede another. I would like, at that early stage, to be able to visualise that so I and other stakeholders can 'see' bottlenecks well before I can calculate a critical path.

I have done graphs like this in Graphviz (with just task names on each node) and they are quite acceptable. It takes more (sed, grep, awk) than I can muster though, to convert a Taskjuggler project to or vice versa. The alternative is to maintain the Taskjuggler and Graphviz versions in parallel which is a nightmare.

I could use the mspxml report format to see the project in MS Project. I have done that before in a very complex time-critical business de-merger project; I had to paste together the resulting 50-odd A3 pages across a wall, and reprint them every day. I sincerely believe Graphviz is a much better solution. 

Has anyone found a way to produce a simple "directed graph" from Taskjuggler? I would include, taking the mspxml file into an online tool. 

Jakob Schöttl

Aug 26, 2020, 3:40:07 PM8/26/20
Hi Graham,

I had a similar idea once (before I knew about tj3). I modeled the graph
in Orgmode:

* node
** node that comes after "node"
** node that also comes after "node"

So each node in a deeper level of the hierarchy would depend on its
parent. In addition, I could define properties to specify arbitrary
other dependencies ("blocks" and "depends").

Command line:
org2dot < | dot -Tpdf -o test.pdf

See attachements.

On the other hand, I found out about tj3 and how it plays together with
Orgmode. I have a setup where I define my projects and resources in
Orgmode (which I find much nicer than directly in tj3).

In conclusion: The org file my single source file, from which tj3 source
and reports, PDF documents and graphviz dependency graphs are generated.

I wrote the program org2dot in Haskell, its here:

You would have to change it slightly because in tj3, the property names
"blocks" and "depends" have different names. You may also have to use
awk or so, to pre-process the org file to contain the task ids in the
header lines. This should not be too hard.

But I guess it's a lot to learn if you're new to Orgmode. Here is the
documentation for Orgmode tj3 export:

My Makefile rule to generate the tj3 file from Orgmode is:

%.tjp: *.tjp.txt
    emacs $< --batch -l
~/.emacs.d/elpa/org-plus-contrib-*/ox-taskjuggler.el -f
org-taskjuggler-export --kill
    sed -i '1s/ nil / $* /' $@
    cat leaves.tjp.txt reports.tjp.txt >> $@

It combines leaves and report specifications that reside in separate
files, not in the org file.

Hope that helps.

- Jakob

Am 26.08.20 um 05:08 schrieb


Aug 26, 2020, 3:51:34 PM8/26/20
to Jakob Schöttl,
Thanks Jacob,

The test.pdf you produced is just the sort of thing I would want to
produce. But of course that is org

I have seen the Org Mode links. I have looked at Emacs a few times over
my many years with Linux and always felt it was too far from the way I
would want to work.

thanks for the Haskell source. I haven't paid any attention to Haskell
before. The code seems fairly simple and expressive.
Ngā mihi and Best regards,


mobile: +64 27 275 4396
Meet Me?
Zoom: (or 711-107-2836)
Reply all
Reply to author
0 new messages