[emacs-berlin] org-mode as interface to taskjuggler

Sebastian Dümcke code at sam-d.com
Thu Jul 31 08:31:20 UTC 2025


Dear Mailinglist,

thank you for listening to my presentation yesterday during the monthly 
hybrid berlin meetup. Please find attached the org file of the toy 
project plan I had presented as well as the expected output. The 
following configuration is required to run the example:

(require 'ox-taskjuggler)
(setq org-taskjuggler-default-global-properties"include \"globals.tji\"")
(setq org-taskjuggler-default-reports '("include \"reports.tji\""))
(setq org-taskjuggler-valid-resource-attributes '(limits vacation email shift booking efficiency journalentry rate chargeset workinghours flags))

You can find the taskjuggler project and its documentation here: 
https://taskjuggler.org and https://taskjuggler.org/tj3/manual/index.html

I have written a blog post about it for those that missed the 
presentation. You can read it here: 
http://sam-d.com/blog/org-mode-as-an-interface-to-taskjuggler/

If you have trouble getting it to run I will be happy to help.

Best

Sebastian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailb.org/pipermail/emacs-berlin/attachments/20250731/0e30388a/attachment.htm>
-------------- next part --------------
project nil "Have an amazing summer vacation" "1.0" 2025-07-01 - 2025-08-31 {
  timingresolution 15 min
  currency "EUR"
  scenario plan "Plan" { scenario reality "Reality" }
  weekstartsmonday 
  workinghours mon - fri 19:00 - 21:00
}
include "globals.tji"
resource ME "Me" {
  limits {dailymax 1h}
  email "me at sam-d.com"
}
resource WF "My wife" {
  limits {dailymax 1h}
}
resource TA "Our travel agent" {
  email "me at sam-d.com"
  rate 400
}
task have "Have an amazing summer vacation" {
  chargeset travelbudget
  task dest "choose destination" {
    purge allocate
    allocate ME, WF
    complete 100
    effort 3:00
  }
  task flights "book flights" {
    depends !dest, !vaca
    purge allocate
    allocate TA
    effort 2h
    charge 1200 onend
  }
  task book "book accomodation" {
    depends !dest
    purge allocate
    allocate TA
    effort 2h
  }
  task vaca "take vacation" {
    depends !dest
    task at "at my job" {
      purge allocate
      allocate ME
      effort 0.5h
    }
    task my "my wife's job" {
      purge allocate
      allocate WF
      effort 0.5h
    }
  }
  task pack "pack bags" {
    depends !flights
    purge allocate
    allocate ME, WF
    effort 6h
  }
  task order "order taxi to airport" {
    depends !flights
    purge allocate
    allocate TA
    effort 0.25h
  }
  task check "check vaccination status" {
    purge allocate
    allocate WF
    effort 3.5h
  }
  task fly "fly off" {
    milestone
  }
  task trip "enjoy vacation" {
    depends !fly
    duration 2w
  }
  task return "return from vacation" {
    milestone
  }
  task review "review pictures" {
    depends !trip
    purge allocate
    allocate ME, WF
    effort 2h
  }
}
include "reports.tji"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: example_project.org
Type: text/org
Size: 3447 bytes
Desc: not available
URL: <http://mailb.org/pipermail/emacs-berlin/attachments/20250731/0e30388a/attachment.bin>


More information about the emacs-berlin mailing list