https://github.com/mgalgs/org-taskjuggler3
Export your org-mode document to TaskJuggler3. A drop-in replacement for the TaskJuggler 2 exporter included with org-mode.
https://github.com/mgalgs/org-taskjuggler3
Last synced: 7 months ago
JSON representation
Export your org-mode document to TaskJuggler3. A drop-in replacement for the TaskJuggler 2 exporter included with org-mode.
- Host: GitHub
- URL: https://github.com/mgalgs/org-taskjuggler3
- Owner: mgalgs
- Created: 2012-02-21T20:38:38.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2010-11-05T12:34:38.000Z (over 15 years ago)
- Last Synced: 2025-03-15T07:44:23.699Z (over 1 year ago)
- Language: Emacs Lisp
- Homepage:
- Size: 85.9 KB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
* Description
The TaskJuggler exporter that is included with org-mode exports to
TaskJuggler2. This is a slightly modified and improved version of that
exporter (written and maintained by Christian Egli), that exports TaskJuggler3
projects.
Christian is in the process of incorporating some of these changes into the
released version of the exporter, and making it compatible with both
TasjJuggler2 and TaskJuggler3. In the meantime, I have a project that I'm
trying to schedule! this is the version that I am using for my project.
* Installation
This code is a drop-in replacement for the taskjuggler exporter in org-mode.
Just load it after you load org, like this:
: (require 'org)
: (load-file "/path/to/org-tasjuggler3.el")
* Sample File
Load the file =sample-tj3.org=, and export it with C-c e J. This will export
the file to taskjuggler3, and generate some html files in the same directory
as the .org file as output. Open Overview.html in a web browser to see the
project overview.
Also, the sample file gives examples of all the changes (listed below) between
the TaskJuggler2 exporter and this exporter.
* Changes from the TaskJuggler2 exporter
*** Project gets its own node
- In the TJ2 exporter, the project node is confused with the top task
node. Now the project gets its own node, and supports appropriate
project-level properties, specifically...
- The project now respects an end date or a duration specified on the
project node.
- Identify this node with the tag =taskjuggler_project= (can be changed by
customizing =org-export-taskjuggler=).
*** TODO states become flags
- The exporter now exports TODO states as flags so that you can use them to
filter reports (eg generate a pending tasks or an in-progress tasks
report)
*** Global node for reports and other globals
- Added a globals node where you can put reports, and other global
declarations.
- Identify this node with the tasg =taskjuggler_globals= (can be changed
by customizing =org-export-taskjuggler=).
*** Add TaskJuggler source code to any node
- You can create a drawer called :TJ: on any exported node. Anything you put
in there will be exported as TaskJuggler source code with that node. The
idea is that if there is a feature that you want to use, but is not
implemented in the exporter (for example, accounts), you can put still use
org-mode to manage your project.
*** New sample reports
- The sample reports from TaskJuggler2 don't work in TaskJuggler3 because
the reporting framework has been extensively rewritten. This release
replaces the default reports with ones that work in TaskJuggler3. You can
change or delete them by customizing =org-export-taskjuggler=.
*** Bug fixes
- TaskJuggler3 won't compile your project if leaf nodes cannot be scheduled
(ie no start date or dependency, and no duration, effort or end date). The
exporter will export these tasks with a duration of 1 day in order to make
TaskJuggler3 happy. You can, of course, change this by giving the compiler
the information it needs to schedule the leaf node.