emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: John Hendy <jw.hendy@gmail.com>
To: Bastien <bzg@altern.org>
Cc: Eric S Fraga <ucecesf@ucl.ac.uk>, emacs-orgmode@gnu.org
Subject: Re: Was tj3 --> tikz gantt chart
Date: Wed, 3 Aug 2011 18:18:48 -0500	[thread overview]
Message-ID: <CA+M2ft8Ty_v5uMC6Jostp6UNN9MSSN=-n79QvAMxKto1WnAh0A@mail.gmail.com> (raw)
In-Reply-To: <871uxbwzak.fsf@altern.org>

On Wed, Jul 27, 2011 at 7:40 AM, Bastien <bzg@altern.org> wrote:
> Hi John,
>
> John Hendy <jw.hendy@gmail.com> writes:
>
>> I looked into taskjuggler again, but I can't figure out what the
>> status is on tj3 and org-mode.
>
> AFAICT, Org's Taskjuggler exporter works fine with both tj2 and tj3.
>
> You need to configure `org-export-taskjuggler-target-version'.
>

What is yours set to? I set mine to "3", but since the change, tj3
--version outputs 0.1 something...

> There is some work to be done to make this library even more useful (see
> the the todo list in org-taskjuggler.el) but it's already usable.  I use
> it for a project.
>

Can you use the file on worg here:
http://orgmode.org/worg/org-tutorials/org-taskjuggler.html ?

I'm getting errors:

1) the hours (are they hours?) are exported as 0.3h instead of
something else (they are set to ":Effort: 30.0" in the org file but
apparently get exported to 0.3h). This breaks export, as hours needs
to be greater or equal to 1.0.

2) Once I manually fixed all those in the resultant .tjp file, I get:

---

Error: Unexpected token 'utilization' found. Expecting one of 'alert',
'alertmessages', 'alertsummaries', 'alerttrend', 'chart', 'complete',
'completed', 'criticalness', 'cost', 'daily', 'directreports',
'duration', 'duties', 'efficiency', 'effort', 'effortdone',
'effortleft', 'email', 'end', 'flags', 'followers', 'freetime',
'freework', 'fte', 'headcount', 'hierarchindex', 'hourly', 'id',
'index', 'inputs', 'journal', 'journal_sub', 'journalmessages',
'journalsummaries', 'line', 'managers', 'maxend', 'maxstart',
'minend', 'minstart', 'monthly', 'no', 'name', 'note',
'pathcriticalness', 'precursors', 'priority', 'quarterly', 'rate',
'reports', 'resources', 'responsible', 'revenue', 'scenario', 'seqno',
'start', 'status', 'targets', 'wbs', 'bsi', 'weekly', 'yearly'
  columns no, name, utilization
---

Does this happen to you ever?

Thanks for any input. Perhaps we need a Worg page for both tj2 and tj3
if the file formats are drastically different?

---

*Edit before sending.* I got the export to work by looking at the
example file from the tj3 manual. The report needs to be waaaaaay
different than the current. Here is what worked for the example file
on worg (after manually changing the durations as described above):

----------
navigator navbar {
  hidereport 0
}

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

    <-query attribute='resources'->
    ----
    '''Precursors: '''

    <-query attribute='precursors'->
    ----
    '''Followers: '''

    <-query attribute='followers'->
    ->8-
]

textreport frame "" {
  header -8<-
    == Accounting Software Project ==
    ----
    <[navigator id="navbar"]>
    ----
  ->8-
  footer "----"
  textreport index "Overview" {
    formats html
    center '<[report id="overview"]>'
  }

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

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

  textreport "Milestones" {
    formats html
    center '<[report id="milestones"]>'
  }

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

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

    The project is structured into 3 phases.

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

    === Original Project Plan ===
  ->8-
  columns hierarchindex,
          name, start, end, effort, duration, 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 1
  caption 'All effort values are in man days.'

  footer -8<-
    === Staffing ===

    All project phases are properly staffed. See [[ResourceGraph]] for
    detailed resource allocations.

    === Current Status ===

    The project started off with a delay of 4 days. This slightly affected
    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 = 0 "#00D000" # green
  cellcolor plan.alert = 1 "#D0D000" # yellow
  cellcolor plan.alert = 2 "#D00000" # red
]

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

  taskreport dashboard "" {
    headline "Project Dashboard (<-query attribute='now'->)"
    columns name { title "Task" ${AlertColor} width 200},
            resources { width 200 ${AlertColor}
                        listtype bullets
                        listitem "<-query attribute='name'->"
                        start ${projectstart} end ${projectend} },
            alerttrend { title "Trend" ${AlertColor} width 50 },
            journalmessages { width 350 ${AlertColor} }
    hidetask ~hasalert(0)

    period %{${now} - 1w} +1w
  }
  taskreport completed "" {
    headline "Already completed tasks"

  }
  taskreport ongoing "" {
    headline "Ongoing tasks"

  }
  taskreport future "" {
    headline "Future tasks"

  }
}

# A list of tasks showing the resources assigned to each task.
taskreport development "" {

  headline "Development - Resource Allocation Report"
  columns hierarchindex, 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 tasks with the percentage completed for each task
taskreport milestones "" {
  headline "Project Deliverables"
  columns hierarchindex, name, start, end, note { width 150 }, complete,
          chart { ${TaskTip} }
  taskroot accounting.milestones
  hideresource 1

}
# 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 1
}

# 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
}
----------


Best regards,
John


>> In any case, it looks like *just* after this discussion, something a
>> bit more formal came about for gantt charts and TikZ. I thought you
>> and others might be interested in it:
>> http://wiki.contextgarden.net/Gantt-tikz
>>
>> It looks like a summary/walkthrough of this package:
>> http://www.martin-kumm.de/tex_gantt_package.php
>>
>> It looks quite reasonable and seems to be as advanced as I'd need for
>> the moment -- just something to track progress and map action paths
>> through a project. Anyway, let me know what you think and if you think
>> org-mode could be adapted to export via that or pull together the
>> necessary info to generate such a chart based on tags or properties. I
>> haven't done much with that.
>
> Nice -- I'd love to see how Org can produce such TeX gantt charts.
>
> Thanks for the pointers,
>
> --
>  Bastien
>

  reply	other threads:[~2011-08-03 23:18 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-08 22:46 Was tj3 --> tikz gantt chart John Hendy
2010-11-09  9:46 ` Eric S Fraga
2011-07-21 21:33   ` John Hendy
2011-07-27 12:40     ` Bastien
2011-08-03 23:18       ` John Hendy [this message]
2011-08-30 11:47     ` Eric S Fraga
2011-08-30 12:58       ` John Hendy
2011-08-30 19:29         ` Eric S Fraga
2011-08-30 19:39           ` John Hendy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+M2ft8Ty_v5uMC6Jostp6UNN9MSSN=-n79QvAMxKto1WnAh0A@mail.gmail.com' \
    --to=jw.hendy@gmail.com \
    --cc=bzg@altern.org \
    --cc=emacs-orgmode@gnu.org \
    --cc=ucecesf@ucl.ac.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).