From mboxrd@z Thu Jan 1 00:00:00 1970 From: Buddy Butterfly Subject: Re: Creating Gantt charts by Exporting to TaskJuggler 3.3.0 Date: Fri, 14 Sep 2012 15:26:26 +0200 Message-ID: <50533082.3070604@web.de> References: <801ui4zr0s.fsf@somewhere.org> Reply-To: buddy.butterfly@web.de Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------010603090501020000050101" Return-path: Received: from eggs.gnu.org ([208.118.235.92]:53916) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCVuo-0006ck-Hj for emacs-orgmode@gnu.org; Fri, 14 Sep 2012 09:26:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCVue-00053s-VI for emacs-orgmode@gnu.org; Fri, 14 Sep 2012 09:26:38 -0400 Received: from h1359005.stratoserver.net ([81.169.136.31]:45863) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCVue-00053d-8V for emacs-orgmode@gnu.org; Fri, 14 Sep 2012 09:26:28 -0400 In-Reply-To: <801ui4zr0s.fsf@somewhere.org> 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 This is a multi-part message in MIME format. --------------010603090501020000050101 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Hi, tj3 support is still buggy. And tj export gets confused with the task_id tags. It does not generate unique IDs nor does it have manual ID marking. So it gets scrampled. So, for a bigger project it does not really work. Verify to use *Org Export Taskjuggler Target Version: * 3.0 I have used the following settings with M-x customize-group -> org-export-taskjuggler and worked for me as a first shot with tj3: *Org Export Taskjuggler Default Global Properties: * shift s40 "Part time shift" { workinghours wed, thu, fri off } account cost "Project Cost" { aggregate tasks } account rev "Payments" { } *Org Export Taskjuggler Default Reports:* # Now the project has been specified completely. Stopping here would # result in a valid TaskJuggler file that could be processed and # scheduled. But no reports would be generated to visualize the # results. navigator navbar { hidereport @none } macro TaskTip [ tooltip istask() -8<- '''Start: ''' <-query attribute=3D'start'-> '''End: ''' <-query attribute=3D'end'-> ---- '''Resources:''' <-query attribute=3D'resources'-> ---- '''Precursors: ''' <-query attribute=3D'precursors'-> ---- '''Followers: ''' <-query attribute=3D'followers'-> ->8- ] textreport frame "" { header -8<- =3D=3D mwit Projects =3D=3D <[navigator id=3D"navbar"]> ->8- footer "----" textreport index "Overview" { formats html center '<[report id=3D"overview"]>' } textreport "Status" { formats html center -8<- <[report id=3D"status.dashboard"]> ---- <[report id=3D"status.completed"]> ---- <[report id=3D"status.ongoing"]> ---- <[report id=3D"status.future"]> ->8- } textreport development "Development" { formats html center '<[report id=3D"development"]>' } textreport "ContactList" { formats html title "Contact List" center '<[report id=3D"contactList"]>' } textreport "ResourceGraph" { formats html title "Resource Graph" center '<[report id=3D"resourceGraph"]>' } } # A traditional Gantt chart with a project overview. taskreport overview "" { header -8<- =3D=3D=3D Project Overview =3D=3D=3D The project is structured into 3 phases. # Specification # <-reportlink id=3D'frame.development'-> # Testing =3D=3D=3D Original Project Plan =3D=3D=3D ->8- columns bsi { title 'WBS' }, name, start, end, effort, cost, revenue, chart { ${TaskTip} } # For this report we like to have the abbreviated weekday in front # of the date. %a is the tag for this. timeformat "%a %Y-%m-%d" loadunit days hideresource @all balance cost rev caption 'All effort values are in man days.' footer -8<- =3D=3D=3D Staffing =3D=3D=3D All project phases are properly staffed. See [[ResourceGraph]] for detailed resource allocations. =3D=3D=3D Current Status =3D=3D=3D The project started off with a delay of 4 days. This slightly affecte= d the original schedule. See [[Deliveries]] for the impact on the delivery dates. ->8- } # Macro to set the background color of a cell according to the alert # level of the task. macro AlertColor [ cellcolor plan.alert =3D 0 "#00D000" # green cellcolor plan.alert =3D 1 "#D0D000" # yellow cellcolor plan.alert =3D 2 "#D00000" # red ] taskreport status "" { columns bsi { width 50 title 'WBS' }, name { width 150 }, start { width 100 }, end { width 100 }, effort { width 100 }, alert { tooltip plan.journal !=3D '' "<-query attribute=3D'journal'->" width= 150 }, status { width 150 } taskreport dashboard "" { headline "Project Dashboard (<-query attribute=3D'now'->)" columns name { title "Task" ${AlertColor} width 200}, resources { width 200 ${AlertColor} listtype bullets listitem "<-query attribute=3D'name'->" start ${projectstart} end ${projectend} }, alerttrend { title "Trend" ${AlertColor} width 50 }, journal { width 350 ${AlertColor} } journalmode status_up journalattributes headline, author, date, summary, details hidetask ~hasalert(0) sorttasks alert.down period %{${now} - 1w} +8w } taskreport completed "" { headline "Already completed tasks" hidetask ~(plan.end <=3D ${now}) } taskreport ongoing "" { headline "Ongoing tasks" hidetask ~((plan.start <=3D ${now}) & (plan.end > ${now})) } taskreport future "" { headline "Future tasks" hidetask ~(plan.start > ${now}) } } # A list of tasks showing the resources assigned to each task. taskreport development "" { headline "Development - Resource Allocation Report" columns bsi { title 'WBS' }, name, start, end, effort { title "Work" },= duration, chart { ${TaskTip} scale day width 500 } timeformat "%Y-%m-%d" hideresource ~(isleaf() & isleaf_()) sortresources name.up } # A list of all employees with their contact details. resourcereport contactList "" { headline "Contact list and duty plan" columns name, email { celltext 1 "[mailto:<-email-> <-email->]" }, managers { title "Manager" }, chart { scale day } hideresource ~isleaf() sortresources name.up hidetask @all } # A graph showing resource allocation. It identifies whether each # resource is under- or over-allocated for. resourcereport resourceGraph "" { headline "Resource Allocation Graph" columns no, name, effort, rate, weekly { ${TaskTip} } loadunit shortauto # We only like to show leaf tasks for leaf resources. hidetask ~(isleaf() & isleaf_()) sorttasks plan.start.up } Am 14.09.2012 15:13, schrieb Sebastien Vauban: > Hello, > > I'm trying to use the export to TJ3 on Windows (I installed Ruby from C= ygwin), > but don't succeed to get the first view of the project, as shown on > http://orgmode.org/worg/org-tutorials/org-taskjuggler.html. > > I'm using the very first example given at line "Your resulting Org mode= > project file will look somewhat like the following:", add the required = tag > :taskjuggler_project: to the node "Accounting Software". > > Then, I export it to TJ (C-c C-e j) and run tj3 against it: > > $ tj3 org-tj3.tjp > > Results: > > --8<---------------cut here---------------start------------->8--- > TaskJuggler v3.3.0 - A Project Management Software > > Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012 > by Chris Schlaeger > > This program is free software; you can redistribute it and/or modify it= under > the terms of version 2 of the GNU General Public License as published b= y the > Free Software Foundation. > > org-tj3.tjp:11: Error: allocations is not a known attribute for this pr= operty > purge allocations > --8<---------------cut here---------------end--------------->8--- > > I comment the purge "allocation line", and try to run it further... > > --8<---------------cut here---------------start------------->8--- > TaskJuggler v3.3.0 - A Project Management Software > > Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012 > by Chris Schlaeger > > This program is free software; you can redistribute it and/or modify it= under > the terms of version 2 of the GNU General Public License as published b= y the > Free Software Foundation. > > org-tj3.tjp:70: Warning: The keyword 'hierarchindex' has been deprecate= d! See the reference manual for details. > columns hierarchindex > org-tj3.tjp:70: Warning: The keyword 'completed' has been deprecated! S= ee the reference manual for details. > columns hierarchindex, name, start, end, effort, duration, completed > org-tj3.tjp:77: Error: Unexpected token 'utilization' found. Expecting = one of 'activetasks', 'annualleave', 'annualleavebalance', 'alert', 'aler= tmessages', 'alertsummaries', 'alerttrend', 'balance', 'bsi', 'chart', 'c= losedtasks', 'complete', 'completed', 'criticalness', 'cost', 'daily', 'd= irectreports', 'duration', 'duties', 'efficiency', 'effort', 'effortdone'= , 'effortleft', 'email', 'end', 'flags', 'followers', 'freetime', 'freewo= rk', 'fte', 'gauge', 'headcount', 'hierarchindex', 'hourly', 'id', 'index= ', 'inputs', 'journal', 'journal_sub', 'journalmessages', 'journalsummari= es', 'line', 'managers', 'maxend', 'maxstart', 'minend', 'minstart', 'mon= thly', 'no', 'name', 'note', 'opentasks', 'pathcriticalness', 'precursors= ', 'priority', 'quarterly', 'rate', 'reports', 'resources', 'responsible'= , 'revenue', 'scenario', 'seqno', 'sickleave', 'specialleave', 'start', '= status', 'targets', 'wbs', 'unpaidleave', 'weekly', 'yearly' > columns no, name, utilization > --8<---------------cut here---------------end--------------->8--- > > So, it seems that the output file is not up-to-date (tj v3.3.0), or do = I miss > something? > > Best regards, > Seb > > PS - Org-mode version 7.9.1 (release_7.9.1-199-g6589b9 @ d:/home/sva/sr= c/org-mode/lisp/) > --------------010603090501020000050101 Content-Type: text/html; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable
Hi,

tj3 support is still buggy. And tj export gets confused with the task_id tags.
It does not generate unique IDs nor does=A0 it have manual ID marking. So it gets
scrampled. So, for a bigger project it does not really work.

Verify to use

Org Export Taskjuggler Target Version:

3.0

I have used the following settings with M-x customize-group -> org-export-taskjuggler
and worked for me as a first shot with tj3:


Org Export Taskjuggler Default Global Properties:

shift s40 "Part time shift" {
=A0 workinghours wed, thu, fri off
}

account cost "Project Cost" {
=A0 aggregate tasks
}

account rev "Payments" {
}

Org Export Taskjuggler Default Reports:

# Now the project has been specified completely. Stopping here would
# result in a valid TaskJuggler file that could be processed and # scheduled. But no reports would be generated to visualize the
# results.

navigator navbar {
=A0 hidereport @none
}

macro TaskTip [
=A0 tooltip istask() -8<-
=A0=A0=A0 '''Start: ''' <-query attribute=3D'start'->
=A0=A0=A0 '''End: ''' <-query attribute=3D'end'->
=A0=A0=A0 ----
=A0=A0=A0 '''Resources:'''

=A0=A0=A0 <-query attribute=3D'resources'->
=A0=A0=A0 ----
=A0=A0=A0 '''Precursors: '''

=A0=A0=A0 <-query attribute=3D'precursors'->
=A0=A0=A0 ----
=A0=A0=A0 '''Followers: '''

=A0=A0=A0 <-query attribute=3D'followers'->
=A0=A0=A0 ->8-
]

textreport frame "" {
=A0 header -8<-
=A0=A0=A0 =3D=3D mwit Projects =3D=3D
=A0=A0=A0 <[navigator id=3D"navbar"]>
=A0 ->8-
=A0 footer "----"
=A0 textreport index "Overview" {
=A0=A0=A0 formats html
=A0=A0=A0 center '<[report id=3D"overview"]>'
=A0 }

=A0 textreport "Status" {
=A0=A0=A0 formats html
=A0=A0=A0 center -8<-
=A0=A0=A0=A0=A0 <[report id=3D"status.dashboard"]>
=A0=A0=A0=A0=A0 ----
=A0=A0=A0=A0=A0 <[report id=3D"status.completed"]>
=A0=A0=A0=A0=A0 ----
=A0=A0=A0=A0=A0 <[report id=3D"status.ongoing"]>
=A0=A0=A0=A0=A0 ----
=A0=A0=A0=A0=A0 <[report id=3D"status.future"]>
=A0=A0=A0 ->8-
=A0 }

=A0 textreport development "Development" {
=A0=A0=A0 formats html
=A0=A0=A0 center '<[report id=3D"development"]>'
=A0 }

=A0 textreport "ContactList" {
=A0=A0=A0 formats html
=A0=A0=A0 title "Contact List"
=A0=A0=A0 center '<[report id=3D"contactList"]>'
=A0 }
=A0 textreport "ResourceGraph" {
=A0=A0=A0 formats html
=A0=A0=A0 title "Resource Graph"
=A0=A0=A0 center '<[report id=3D"resourceGraph"]>'
=A0 }
}

# A traditional Gantt chart with a project overview.
taskreport overview "" {
=A0 header -8<-
=A0=A0=A0 =3D=3D=3D Project Overview =3D=3D=3D

=A0=A0=A0 The project is structured into 3 phases.

=A0=A0=A0 # Specification
=A0=A0=A0 # <-reportlink id=3D'frame.development'->
=A0=A0=A0 # Testing

=A0=A0=A0 =3D=3D=3D Original Project Plan =3D=3D=3D
=A0 ->8-
=A0 columns bsi { title 'WBS' },
=A0=A0=A0=A0=A0=A0=A0=A0=A0 name, start, end, effort, cost,
=A0=A0=A0=A0=A0=A0=A0=A0=A0 revenue, chart { ${TaskTip} }
=A0 # For this report we like to have the abbreviated weekday in front
=A0 # of the date. %a is the tag for this.
=A0 timeformat "%a %Y-%m-%d"
=A0 loadunit days
=A0 hideresource @all
=A0 balance cost rev
=A0 caption 'All effort values are in man days.'

=A0 footer -8<-
=A0=A0=A0 =3D=3D=3D Staffing =3D=3D=3D

=A0=A0=A0 All project phases are properly staffed. See [[ResourceGr= aph]] for
=A0=A0=A0 detailed resource allocations.

=A0=A0=A0 =3D=3D=3D Current Status =3D=3D=3D

=A0=A0=A0 The project started off with a delay of 4 days. This slig= htly affected
=A0=A0=A0 the original schedule. See [[Deliveries]] for the impact = on the
=A0=A0=A0 delivery dates.
=A0 ->8-
}

# Macro to set the background color of a cell according to the alert
# level of the task.
macro AlertColor [
=A0 cellcolor plan.alert =3D 0 "#00D000" # green
=A0 cellcolor plan.alert =3D 1 "#D0D000" # yellow
=A0 cellcolor plan.alert =3D 2 "#D00000" # red
]

taskreport status "" {
=A0 columns bsi { width 50 title 'WBS' }, name { width 150 },
=A0=A0=A0=A0=A0=A0=A0=A0=A0 start { width 100 }, end { width 100 },=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 effort { width 100 },
=A0=A0=A0=A0=A0=A0=A0=A0=A0 alert { tooltip plan.journal
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0 !=3D '' "<-query attribute=3D'journal'->" width 150 },
=A0=A0=A0=A0=A0=A0=A0=A0=A0 status { width 150 }

=A0 taskreport dashboard "" {
=A0=A0=A0 headline "Project Dashboard (<-query attribute=3D'now'= ->)"
=A0=A0=A0 columns name { title "Task" ${AlertColor} width 200},
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 resources { width 200 ${AlertColo= r}
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= listtype bullets
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= listitem "<-query attribute=3D'name'->"
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= start ${projectstart} end ${projectend} },
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 alerttrend { title "Trend" ${Aler= tColor} width 50 },
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 journal { width 350 ${AlertColor}= }
=A0=A0=A0 journalmode status_up
=A0=A0=A0 journalattributes headline, author, date, summary, detail= s
=A0=A0=A0 hidetask ~hasalert(0)
=A0=A0=A0 sorttasks alert.down
=A0=A0=A0 period %{${now} - 1w} +8w
=A0 }
=A0 taskreport completed "" {
=A0=A0=A0 headline "Already completed tasks"
=A0=A0=A0 hidetask ~(plan.end <=3D ${now})
=A0 }
=A0 taskreport ongoing "" {
=A0=A0=A0 headline "Ongoing tasks"
=A0=A0=A0 hidetask ~((plan.start <=3D ${now}) & (plan.end &g= t; ${now}))
=A0 }
=A0 taskreport future "" {
=A0=A0=A0 headline "Future tasks"
=A0=A0=A0 hidetask ~(plan.start > ${now})
=A0 }
}

# A list of tasks showing the resources assigned to each task.
taskreport development "" {
=A0 headline "Development - Resource Allocation Report"
=A0 columns bsi { title 'WBS' }, name, start, end, effort { title "Work" },
=A0=A0=A0=A0=A0=A0=A0=A0=A0 duration, chart { ${TaskTip} scale day = width 500 }
=A0 timeformat "%Y-%m-%d"
=A0 hideresource ~(isleaf() & isleaf_())
=A0 sortresources name.up
}

# A list of all employees with their contact details.
resourcereport contactList "" {
=A0 headline "Contact list and duty plan"
=A0 columns name,
=A0=A0=A0=A0=A0=A0=A0=A0=A0 email { celltext 1 "[mailto:<-email-= > <-email->]" },
=A0=A0=A0=A0=A0=A0=A0=A0=A0 managers { title "Manager" },
=A0=A0=A0=A0=A0=A0=A0=A0=A0 chart { scale day }
=A0 hideresource ~isleaf()
=A0 sortresources name.up
=A0 hidetask @all
}

# A graph showing resource allocation. It identifies whether each # resource is under- or over-allocated for.
resourcereport resourceGraph "" {
=A0 headline "Resource Allocation Graph"
=A0 columns no, name, effort, rate, weekly { ${TaskTip} }
=A0 loadunit shortauto
=A0 # We only like to show leaf tasks for leaf resources.
=A0 hidetask ~(isleaf() & isleaf_())
=A0 sorttasks plan.start.up
}




Am 14.09.2012 15:13, schrieb Sebastien Vauban:
Hello,

I'm trying to use the export to TJ3 on Windows (I installed Ruby from Cyg=
win),
but don't succeed to get the first view of the project, as shown on
http://orgmode.org/worg/org-tutorials/org-t=
askjuggler.html.

I'm using the very first example given at line "Your resulting Org mode
project file will look somewhat like the following:", add the required ta=
g
:taskjuggler_project: to the node "Accounting Software".

Then, I export it to TJ (C-c C-e j) and run tj3 against it:

$ tj3 org-tj3.tjp

Results:

--8<---------------cut here---------------start------------->8---
TaskJuggler v3.3.0 - A Project Management Software

Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
              by Chris Schlaeger <chris@linux.com>

This program is free software; you can redistribute it and/or modify it u=
nder
the terms of version 2 of the GNU General Public License as published by =
the
Free Software Foundation.

org-tj3.tjp:11: Error: allocations is not a known attribute for this prop=
erty
 purge allocations
--8<---------------cut here---------------end--------------->8---

I comment the purge "allocation line", and try to run it further...

--8<---------------cut here---------------start------------->8---
TaskJuggler v3.3.0 - A Project Management Software

Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
              by Chris Schlaeger <chris@linux.com>

This program is free software; you can redistribute it and/or modify it u=
nder
the terms of version 2 of the GNU General Public License as published by =
the
Free Software Foundation.

org-tj3.tjp:70: Warning: The keyword 'hierarchindex' has been deprecated!=
 See the reference manual for details.
  columns hierarchindex
org-tj3.tjp:70: Warning: The keyword 'completed' has been deprecated! See=
 the reference manual for details.
  columns hierarchindex, name, start, end, effort, duration, completed
org-tj3.tjp:77: Error: Unexpected token 'utilization' found. Expecting on=
e of 'activetasks', 'annualleave', 'annualleavebalance', 'alert', 'alertm=
essages', 'alertsummaries', 'alerttrend', 'balance', 'bsi', 'chart', 'clo=
sedtasks', 'complete', 'completed', 'criticalness', 'cost', 'daily', 'dir=
ectreports', 'duration', 'duties', 'efficiency', 'effort', 'effortdone', =
'effortleft', 'email', 'end', 'flags', 'followers', 'freetime', 'freework=
', 'fte', 'gauge', 'headcount', 'hierarchindex', 'hourly', 'id', 'index',=
 'inputs', 'journal', 'journal_sub', 'journalmessages', 'journalsummaries=
', 'line', 'managers', 'maxend', 'maxstart', 'minend', 'minstart', 'month=
ly', 'no', 'name', 'note', 'opentasks', 'pathcriticalness', 'precursors',=
 'priority', 'quarterly', 'rate', 'reports', 'resources', 'responsible', =
'revenue', 'scenario', 'seqno', 'sickleave', 'specialleave', 'start', 'st=
atus', 'targets', 'wbs', 'unpaidleave', 'weekly', 'yearly'
  columns no, name, utilization
--8<---------------cut here---------------end--------------->8---

So, it seems that the output file is not up-to-date (tj v3.3.0), or do I =
miss
something?

Best regards,
  Seb

PS - Org-mode version 7.9.1 (release_7.9.1-199-g6589b9 @ d:/home/sva/src/=
org-mode/lisp/)

--------------010603090501020000050101--