* TaskJuggler 3, revisited @ 2010-10-09 1:24 John Hendy 2010-10-09 11:04 ` Detlef Steuer ` (2 more replies) 0 siblings, 3 replies; 13+ messages in thread From: John Hendy @ 2010-10-09 1:24 UTC (permalink / raw To: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 833 bytes --] Hi, I'm coming up on some serious need for a project manager. I really only need gantt chart creation at this point. I strongly dislike the Qt interface and the need to use that if one wants to get a gantt chart output from the process. I would much prefer being able to design my html charts, print them as PDFs or take screenshots and embed them in presentations, send them to others, etc. (as per tj3). - is there any progress on an exporter for tj3? - does anyone have a vague sketch of what needs to happen? - can I do grunt work for someone to make this happen? --- scan files for particular variables? --- run test code, put together all the errors, and send back? --- something else? I'm happy to help... I just don't have the programming skills to do the "real work" that needs to happen. Thanks for any input, John [-- Attachment #1.2: Type: text/html, Size: 1080 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: TaskJuggler 3, revisited 2010-10-09 1:24 TaskJuggler 3, revisited John Hendy @ 2010-10-09 11:04 ` Detlef Steuer 2010-10-09 19:25 ` John Hendy 2010-10-14 6:24 ` Eric S Fraga 2010-10-09 13:00 ` Anthony Lander 2010-10-29 15:07 ` Christian Egli 2 siblings, 2 replies; 13+ messages in thread From: Detlef Steuer @ 2010-10-09 11:04 UTC (permalink / raw To: emacs-orgmode Hi John, if I understand you correctly you just need Gantt charts and not neccessarily tj3. If that is the case org-babel and R may help. There are at least two R-packages wich produce Gantt-charts: plotrix and plan. May be that helps Detlef On Fri, 8 Oct 2010 20:24:31 -0500 John Hendy <jw.hendy@gmail.com> wrote: > Hi, > > > I'm coming up on some serious need for a project manager. I really only need > gantt chart creation at this point. I strongly dislike the Qt interface and > the need to use that if one wants to get a gantt chart output from the > process. I would much prefer being able to design my html charts, print them > as PDFs or take screenshots and embed them in presentations, send them to > others, etc. (as per tj3). > > - is there any progress on an exporter for tj3? > > - does anyone have a vague sketch of what needs to happen? > > - can I do grunt work for someone to make this happen? > --- scan files for particular variables? > --- run test code, put together all the errors, and send back? > --- something else? > > I'm happy to help... I just don't have the programming skills to do the > "real work" that needs to happen. > > > Thanks for any input, > John > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: TaskJuggler 3, revisited 2010-10-09 11:04 ` Detlef Steuer @ 2010-10-09 19:25 ` John Hendy 2010-10-14 6:24 ` Eric S Fraga 1 sibling, 0 replies; 13+ messages in thread From: John Hendy @ 2010-10-09 19:25 UTC (permalink / raw To: Detlef Steuer; +Cc: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 1760 bytes --] On Sat, Oct 9, 2010 at 6:04 AM, Detlef Steuer <detlef.steuer@gmx.de> wrote: > Hi John, > > if I understand you correctly you just need Gantt charts and not > neccessarily tj3. > If that is the case org-babel and R may help. > There are at least two R-packages wich produce Gantt-charts: plotrix and > plan. > > Oooh -- I'll definitely be checking these out. I don't have many resources to manage and have no need for any of the account stuff... so maybe something like this could work for me. > May be that helps > Detlef > > On Fri, 8 Oct 2010 20:24:31 -0500 > John Hendy <jw.hendy@gmail.com> wrote: > > > Hi, > > > > > > I'm coming up on some serious need for a project manager. I really only > need > > gantt chart creation at this point. I strongly dislike the Qt interface > and > > the need to use that if one wants to get a gantt chart output from the > > process. I would much prefer being able to design my html charts, print > them > > as PDFs or take screenshots and embed them in presentations, send them to > > others, etc. (as per tj3). > > > > - is there any progress on an exporter for tj3? > > > > - does anyone have a vague sketch of what needs to happen? > > > > - can I do grunt work for someone to make this happen? > > --- scan files for particular variables? > > --- run test code, put together all the errors, and send back? > > --- something else? > > > > I'm happy to help... I just don't have the programming skills to do the > > "real work" that needs to happen. > > > > > > Thanks for any input, > > John > > > > > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > [-- Attachment #1.2: Type: text/html, Size: 2607 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: TaskJuggler 3, revisited 2010-10-09 11:04 ` Detlef Steuer 2010-10-09 19:25 ` John Hendy @ 2010-10-14 6:24 ` Eric S Fraga 2010-10-18 14:54 ` Christian Egli 1 sibling, 1 reply; 13+ messages in thread From: Eric S Fraga @ 2010-10-14 6:24 UTC (permalink / raw To: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 799 bytes --] For the recent project I had to prepare, I did have to generate a GANTT chart. I tried using TJ2 via org but found the current implementation not suitable for my way of working. Instead of using TJ, either 2 or 3, I simply created my own chart using tikz in latex. To make my life easier, I created a number of latex commands for this. I've now developed some code which will take an org table and create a GANTT chart. Some of you may find this useful so I've attached an org document with all the codes (emacs lisp + latex) along with an example. I've also attached a PDF so you can see what I get. The codes are not necessarily easily customisable so they may not do what you want. For the types of project proposals I have to prepare, the level of detail I have here is sufficient. eric [-- Attachment #2: Type: text/plain, Size: 10320 bytes --] #+TITLE: GANTT charts with org-babel #+AUTHOR: Eric S Fraga #+EMAIL: e.fraga@ucl.ac.uk #+DATE: \url{$Revision: 1.12 $} #+LASTCHANGE: 2010.10.13 21:08:08 #+DESCRIPTION: #+KEYWORDS: #+LANGUAGE: en #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc #+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+LINK_UP: #+LINK_HOME: #+latex_header: \usepackage{pgf, pgfarrows, pgfnodes} #+latex_header: \usepackage{tikz} #+latex_header: \newcommand\ganttline[4]{% line, tag, start end #+latex_header: \node at (0,#1) [anchor=base east] {#2}; #+latex_header: \fill[black!20!white] (#3/20,#1-.2) rectangle (#4/20,#1+.2);} * table of tasks and milestones The following table describes the tasks and other relevant information for a project. Each line is an /entry/ and there are three types of entry allowed in this table: - task :: an actual task that has a start time, a duration and an end time. - milestone :: a specific milestone in the project that has a start time alone - date :: a point in time that will be drawn as a vertical line in the GANTT chart (e.g. start of each year). Each element of the chart will be annotated with the content of the /label/ column of each entry. The first column of the table is ignored but I use it to number the entries. The last column, titled /align/, is used to determine where to place the /activity/ text for tasks, whether to the left or right of the bar or, if nothing is specified, centred within the bar itself. #+tblname: gantttesttable | | type | label | activity | depends | start | duration | end | align | |----+-----------+-------+---------------+---------+-------+----------+-----+-------| | 1 | date | Start | | | 0 | | 0 | | | 2 | task | 1.1 | Lit survey | | 0 | 3 | 3 | right | | 3 | task | 1.2 | Develop model | 2 | 3 | 9 | 12 | right | | 4 | milestone | M1 | model | 3 | 12 | | 12 | | | 5 | task | 1.3 | Implement | 3 | 12 | 6 | 18 | left | | 6 | date | Y1 | | | 12 | | 12 | | | 7 | milestone | M2 | software | 5 | 18 | | 18 | | |----+-----------+-------+---------------+---------+-------+----------+-----+-------| | 8 | task | 2.1 | Surrogate | 3 | 15 | 6 | 21 | left | | 9 | task | 2.2 | Implement | 7 | 21 | 3 | 24 | left | | 10 | milestone | M3 | software | 8 | 24 | | 24 | | | 11 | date | End | | | 24 | | 24 | | |----+-----------+-------+---------------+---------+-------+----------+-----+-------| #+TBLFM: $1=1+@-1::$8=$6+$7::@5$6=@-1$+2::@6$6=@-1$+2::@8$6=@-2$+2::@9$6=3+@4$+2::@10$6=@-1$+2 * some latex code for gantt charts The following \LaTeX{} code is used to generate the actual elements of the GANTT chart. The three colours used, to indicate /tasks/, /milestones/ and /date/ lines, can be change to suit your own tastes. All the rest of the code is not meant to be changed. Ideally, this code should be in a separate /style/ file (see [[actions][list of actions below]]) and an environment should be defined. As it stands, the code can only be used once within a document unless the =gantttask= counter is reset manually. #+latex_header: \usepackage{tikz} #+begin_latex \newcounter{gantttask} \newcommand{\gantttaskcolour}{blue!50!white} \newcommand{\ganttmilestonecolour}{red!50!white} \newcommand{\ganttdatelinecolour}{black!50!white} \newcommand{\ganttprojecttime}{1} \newcommand{\ganttntasks}{1} \newcommand\gantttask[6]{% label, activity, start, end, labelpos, align \begin{pgfonlayer}{foreground} % \node at (0,\thegantttask) [anchor=base east] {#2}; \stepcounter{gantttask} \node [left] at (0,\thegantttask) {#1}; \draw[fill=\gantttaskcolour] (#3/\ganttprojecttime,\thegantttask-0.4) rectangle (#4/\ganttprojecttime,\thegantttask +0.4); \node at (#5/\ganttprojecttime,\thegantttask) #6 {#2}; \end{pgfonlayer} } \newcommand\ganttpoint[3]{% line, tag, date \node at (0,#1) [anchor=base east] {#2}; \fill[black] (#3/\ganttprojecttime,#1) circle (0.1/\ganttprojecttime); } \newcommand\ganttdateline[2]{% tag, date \begin{pgfonlayer}{background} \draw[\ganttdatelinecolour] (#2/\ganttprojecttime,0) -- (#2/\ganttprojecttime,\thegantttask+1); \node at (#2/\ganttprojecttime,0) [above] {#1}; \end{pgfonlayer} } \newcommand\ganttmilestone[2]{% tag, date \begin{pgfonlayer}{foreground} \node at (#2/\ganttprojecttime,\thegantttask+1.0) [below] {#1}; \draw[black,fill=\ganttmilestonecolour] (#2/\ganttprojecttime-0.1\ganttntasks/\ganttprojecttime,\thegantttask+0.9) rectangle (#2/\ganttprojecttime+0.1\ganttntasks/\ganttprojecttime,\thegantttask+1.1); \end{pgfonlayer} } #+END_LaTeX * lisp code for creating latex that uses above :noexport: #+source: elispgantt #+begin_src emacs-lisp :var table=gantttesttable :results output raw :exports results (defun esf/generate-gantt-chart (table) (let ((dates "") (entries (nthcdr 2 table)) (milestones "") (nmilestones 0) (ntasks 0) (projecttime 0) (tasks "") (xlength 1) ) (message "Initial: %s\n" table) (message "Entries: %s\n" entries) (while entries (let ((entry (first entries))) (if (listp entry) (let ((id (first entry)) (type (nth 1 entry)) (label (nth 2 entry)) (task (nth 3 entry)) (dependencies (nth 4 entry)) (start (nth 5 entry)) (duration (nth 6 entry)) (end (nth 7 entry)) (alignment (nth 8 entry)) ) (if (> start projecttime) (setq projecttime start)) (if (string= type "task") (let ((end (+ start duration)) (textposition (+ start (/ duration 2))) (flush "") ) (if (string= alignment "left") (progn (setq textposition start) (setq flush "[left]")) (if (string= alignment "right") (progn (setq textposition end) (setq flush "[right]")) ) ) (setq tasks (format "%s \\gantttask{%s}{%s}{%d}{%d}{%d}{%s}\n" tasks label task start end textposition flush)) (setq ntasks (+ 1 ntasks)) (if (> end projecttime) (setq projecttime end)) ) (if (string= type "milestone") (progn (setq milestones (format "%s \\ganttmilestone{$\\begin{array}{c}\\mbox{%s}\\\\ \\mbox{%s}\\end{array}$}{%d}\n" milestones label task start)) (setq nmilestones (+ 1 nmilestones))) (if (string= type "date") (setq dates (format "%s \\ganttdateline{%s}{%d}\n" dates label start)) (message "Ignoring entry with type %s\n" type) ) ) ) ) (message "Ignoring non-list entry %s\n" entry) ) ; end if list entry (setq entries (cdr entries)) ) ) ; end while entries left (format "#+begin_latex \\pgfdeclarelayer{background} \\pgfdeclarelayer{foreground} \\pgfsetlayers{background,foreground} \\renewcommand{\\ganttprojecttime}{%d} \\renewcommand{\\ganttntasks}{%d} \\noindent \\begin{tikzpicture}[y=-0.75cm,x=0.75\\textwidth] \\begin{pgfonlayer}{background} \\draw[very thin, red!10!white] (0,1+\\ganttntasks) grid [ystep=0.75cm,xstep=1/\\ganttprojecttime] (1,0); \\draw[\\ganttdatelinecolour] (0,0) -- (1,0); \\draw[\\ganttdatelinecolour] (0,1+\\ganttntasks) -- (1,1+\\ganttntasks); \\end{pgfonlayer} %s %s %s \\end{tikzpicture} ,#+end_latex\n" projecttime ntasks tasks milestones dates) ) ) (esf/generate-gantt-chart table) #+end_src #+ \\draw[help lines, very thin, red!20!white] (0,%s) grid (\\ganttprojecttime,0); * The GANTT chart The following GANTT chart is generated by the =emacs-lisp= code in the section immediately above this one in the =org= file, a section that has not been exported. #+results: elispgantt #+begin_latex \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,foreground} \renewcommand{\ganttprojecttime}{24} \renewcommand{\ganttntasks}{5} \noindent \begin{tikzpicture}[y=-0.75cm,x=0.75\textwidth] \begin{pgfonlayer}{background} \draw[very thin, red!10!white] (0,1+\ganttntasks) grid [ystep=0.75cm,xstep=1/\ganttprojecttime] (1,0); \draw[\ganttdatelinecolour] (0,0) -- (1,0); \draw[\ganttdatelinecolour] (0,1+\ganttntasks) -- (1,1+\ganttntasks); \end{pgfonlayer} \gantttask{1.1}{Lit survey}{0}{3}{3}{[right]} \gantttask{1.2}{Develop model}{3}{12}{12}{[right]} \gantttask{1.3}{Implement}{12}{18}{12}{[left]} \gantttask{2.1}{Surrogate}{15}{21}{15}{[left]} \gantttask{2.2}{Implement}{21}{24}{21}{[left]} \ganttmilestone{$\begin{array}{c}\mbox{M1}\\ \mbox{model}\end{array}$}{12} \ganttmilestone{$\begin{array}{c}\mbox{M2}\\ \mbox{software}\end{array}$}{18} \ganttmilestone{$\begin{array}{c}\mbox{M3}\\ \mbox{software}\end{array}$}{24} \ganttdateline{Start}{0} \ganttdateline{Y1}{12} \ganttdateline{End}{24} \end{tikzpicture} #+end_latex # <<actions>> * TODO [0/5] outstanding issues or actions - [ ] encapsulate latex code within a package - [ ] figure out how to make indirect references in org's table - [ ] using org-store-link on a section like this one stores the special directive, in square brackets, as part of the link information but, of course, this changes as items are ticked off so the heading changes. - [ ] there seems to be some problem with indentation of description lists such as the one in the first section of this document. - [ ] although the export procedure prompts for whether the emacs lisp code should be executed, answering yes doesn't actually update the results section. The code is executed (see *Messages* buffer). The updating might not be happening because the code is within a section that is not going to be exported or because there is no export directive on the code? I should try playing with =call= invocations of babel code. [-- Attachment #3: gantt.pdf --] [-- Type: application/pdf, Size: 81505 bytes --] [-- Attachment #4: Type: text/plain, Size: 75 bytes --] -- Eric S Fraga GnuPG: 8F5C 279D 3907 E14A 5C29 570D C891 93D8 FFFC F67D [-- Attachment #5: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: TaskJuggler 3, revisited 2010-10-14 6:24 ` Eric S Fraga @ 2010-10-18 14:54 ` Christian Egli 2010-10-18 17:46 ` Eric S Fraga 0 siblings, 1 reply; 13+ messages in thread From: Christian Egli @ 2010-10-18 14:54 UTC (permalink / raw To: emacs-orgmode Eric S Fraga <ucecesf@ucl.ac.uk> writes: > For the recent project I had to prepare, I did have to generate a > GANTT chart. I tried using TJ2 via org but found the current > implementation not suitable for my way of working. What are the problems you encountered? > Instead of using TJ, either 2 or 3, I simply created my own chart > using tikz in latex. Sweet hack! And looks quite nice too. Thanks -- Christian Egli Swiss Library for the Blind, Visually Impaired and Print Disabled Grubenstrasse 12, CH-8045 Zürich, Switzerland ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: TaskJuggler 3, revisited 2010-10-18 14:54 ` Christian Egli @ 2010-10-18 17:46 ` Eric S Fraga 0 siblings, 0 replies; 13+ messages in thread From: Eric S Fraga @ 2010-10-18 17:46 UTC (permalink / raw To: Christian Egli; +Cc: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 2404 bytes --] On Mon, 18 Oct 2010 16:54:37 +0200, Christian Egli <christian.egli@sbs.ch> wrote: > > Eric S Fraga <ucecesf@ucl.ac.uk> writes: > > > For the recent project I had to prepare, I did have to generate a > > GANTT chart. I tried using TJ2 via org but found the current > > implementation not suitable for my way of working. > > What are the problems you encountered? The main problem (not really a problem per se) is the need to define sub-headings for tasks and so on for the exporter to find the necessary project information. This makes sense for a running project, say, but not for the type of document I was preparing (a project proposal where the level of project workplan detail is much lower). I found it much easier, for the latter, to use a simple table. Of course, for a running project where you wish to keep track of how far each task has progressed and allocations of resources etc, my simple approach won't be of much use and a table is probably not the ideal representation in any case. A secondary problem (also not a problem) was the (current) lack of babel integration for TJ. I have become addicted to having all my code etc within org. I can no longer write anything without at least one #+begin_src ... directive in my documents! In terms of org->tj export, there were some issues (can't remember the details now unfortunately) with default interpretation of values for times and so on, none of which appeared to be insurmountable but I didn't spend much time on this aspect due to the above points. In the end, I didn't need the power of tj so found it quicker to roll up my own! > > Instead of using TJ, either 2 or 3, I simply created my own chart > > using tikz in latex. > > Sweet hack! And looks quite nice too. thanks! I should add that my longer term goal is to support some simple critical path analysis using the table approach I have defined. This would help me in some of the lectures on project management I give to my students. I'm currently stuck on how to do indirect references in org tables: how to get the contents of an entry chosen by a value in a different entry (e.g. what is the max of the end times of the dependencies of the current task). I've not asked any questions on the list yet because I think most of my answers will come from learning emacs Calc properly (so much to learn, so little time, but it sure is fun ;-). Thanks, eric [-- Attachment #2: Type: text/plain, Size: 75 bytes --] -- Eric S Fraga GnuPG: 8F5C 279D 3907 E14A 5C29 570D C891 93D8 FFFC F67D [-- Attachment #3: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: TaskJuggler 3, revisited 2010-10-09 1:24 TaskJuggler 3, revisited John Hendy 2010-10-09 11:04 ` Detlef Steuer @ 2010-10-09 13:00 ` Anthony Lander 2010-10-18 14:52 ` Christian Egli 2010-10-29 15:07 ` Christian Egli 2 siblings, 1 reply; 13+ messages in thread From: Anthony Lander @ 2010-10-09 13:00 UTC (permalink / raw To: John Hendy Hi John, On 10-Oct-8, at 9:24 PM, John Hendy wrote: > I'm coming up on some serious need for a project manager. I really > only need gantt chart creation at this point. I strongly dislike the > Qt interface and the need to use that if one wants to get a gantt > chart output from the process. I would much prefer being able to > design my html charts, print them as PDFs or take screenshots and > embed them in presentations, send them to others, etc. (as per tj3). I am roughly in the same boat as you are. I installed tj2 because the tk3 manual says it is still unstable, but it's not an ideal solution for me, as I have everything running on a mac, with tj2 running in an ubuntu virtual machine (because of the Qt requirement). ..and in addition, I found that the exporter for tj2 - which does 90% of what I need - was none the less missing a couple of features, so I started adding them. Specifically I fixed: - The project node was confused with the top task node. I changed it so that the project gets its own node. Needed because... - The project now respects an end date or a duration specified on the project node - I made the TODO state export as a flag so that you can use it to filter reports (eg generate a pending tasks or an in-progress tasks report) - There was no way to easily add reports or other globals, besides customizing variables, so I added a globals and reports node. - There was no way to handle taskjuggler features that the exporter doesn't know about, like scenarios. I fixed this by making a :TJ: drawer, into which you can dump any taskjuggler code you like (on any node), so that even if the exporter doesn't support a feature you want, you can still make it work from org-mode. I've only just got this working, and I haven't written a single line of documentation for it, except for code comments. > - is there any progress on an exporter for tj3? My original thought was to post my changes here as a patch, to be tested and hacked on by the group. Maybe it would be smarter to just change it into a taskjuggler3 exporter? I just looked through "moving from 2 to 3" section of the taskjuggler manual. On first glance, it looks like the semantic changes won't bother the exporter, and that the syntactic changes are relatively minor. So I am willing to give it a whirl. Given the foregoing, two questions for the group: 1. Is anyone interested in the changes I've made for tj2? I unfortunately don't have time to document them, except in point form as above, but I am happy to put together a patch and send it to the list for others to bang away on. 2. Carsten, would you be interested in these changes, and/or a taskjuggler3 exporter? Thanks, -Anthony ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: TaskJuggler 3, revisited 2010-10-09 13:00 ` Anthony Lander @ 2010-10-18 14:52 ` Christian Egli 2010-10-18 15:45 ` Louis Turk ` (2 more replies) 0 siblings, 3 replies; 13+ messages in thread From: Christian Egli @ 2010-10-18 14:52 UTC (permalink / raw To: emacs-orgmode Anthony Lander <anthonylander@yahoo.com> writes: > Is anyone interested in the changes I've made for tj2? I unfortunately > don't have time to document them, except in point form as above, but I > am happy to put together a patch and send it to the list for others to > bang away on. I'm very interested in these patches and would definitely like to see them, documented or not. It sounds like they should be integrated in the exporter. > 2. Carsten, would you be interested in these changes, and/or a > taskjuggler3 exporter? I was hoping to have only one taskjuggler exporter which can handle both tj2 and tj3, possibly depending on a defcustom. Thanks -- Christian Egli Swiss Library for the Blind, Visually Impaired and Print Disabled Grubenstrasse 12, CH-8045 Zürich, Switzerland ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: TaskJuggler 3, revisited 2010-10-18 14:52 ` Christian Egli @ 2010-10-18 15:45 ` Louis Turk 2010-10-18 16:55 ` Anthony Lander [not found] ` <98BDDE23-2AA0-4B2A-B089-688F7BC46A49@yahoo.com> 2 siblings, 0 replies; 13+ messages in thread From: Louis Turk @ 2010-10-18 15:45 UTC (permalink / raw To: emacs-orgmode On 10/18/2010 10:52 PM, Christian Egli wrote: > Anthony Lander<anthonylander@yahoo.com> writes: > >> Is anyone interested in the changes I've made for tj2? I unfortunately >> don't have time to document them, except in point form as above, but I >> am happy to put together a patch and send it to the list for others to >> bang away on. > I'm very interested in these patches and would definitely like to see > them, documented or not. It sounds like they should be integrated in the > exporter. > >> 2. Carsten, would you be interested in these changes, and/or a >> taskjuggler3 exporter? > I was hoping to have only one taskjuggler exporter which can handle both > tj2 and tj3, possibly depending on a defcustom. > > Thanks I'm especially interested in a tj3 exporter. I have already installed tj3 specifically to use with org-mode. Lou ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: TaskJuggler 3, revisited 2010-10-18 14:52 ` Christian Egli 2010-10-18 15:45 ` Louis Turk @ 2010-10-18 16:55 ` Anthony Lander [not found] ` <98BDDE23-2AA0-4B2A-B089-688F7BC46A49@yahoo.com> 2 siblings, 0 replies; 13+ messages in thread From: Anthony Lander @ 2010-10-18 16:55 UTC (permalink / raw To: Christian Egli; +Cc: emacs-orgmode Hi Christian, On 10-Oct-18, at 10:52 AM, Christian Egli wrote: > Anthony Lander <anthonylander@yahoo.com> writes: > >> Is anyone interested in the changes I've made for tj2? I >> unfortunately >> don't have time to document them, except in point form as above, >> but I >> am happy to put together a patch and send it to the list for others >> to >> bang away on. > > I'm very interested in these patches and would definitely like to see > them, documented or not. It sounds like they should be integrated in > the > exporter. In the end, I also got the whole thing working for TJ3. I will send you both files - I think it would be easy enough to merge the changes together and make an exporter that works for both TJ2 and TJ3 depending on a defcustom. I'll send you everything in a separate email. Maybe we'll get it all integrated together, and then move the discussion back on to the list? Best regards, -Anthony ^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <98BDDE23-2AA0-4B2A-B089-688F7BC46A49@yahoo.com>]
* Re: Re: TaskJuggler 3, revisited [not found] ` <98BDDE23-2AA0-4B2A-B089-688F7BC46A49@yahoo.com> @ 2010-10-19 9:29 ` Christian Egli [not found] ` <0EBF5950-179C-44CC-958C-EB9CF06A44AF@yahoo.com> 0 siblings, 1 reply; 13+ messages in thread From: Christian Egli @ 2010-10-19 9:29 UTC (permalink / raw To: Anthony Lander; +Cc: emacs-orgmode Hi Anthony Anthony Lander <anthonylander@yahoo.com> writes: > Please find attached a somewhat improved version of your TJ2 exporter, > a drop-in replacement that exports to TJ3, and also a sample .org > file. This is all exciting stuff. It's a little hard to digest (many changes rolled into one, white space formatting changes that make it hard to find the real change, common lisp idioms which I'm not familiar with). Let me get back to you with some questions and then we can discuss how to most easily merge the stuff. - Why did you compute the leafiness? I seem to have experienced that tj3 has a problem with zero effort tasks that aren't marked as milestones. Is that the reason? - Why do you add a duration of 1d if the task has neither a duration, an end, a period nor an effort? Shouldn't that be a milestone instead? - I see that there is a need to annotate a project with stuff such as scenarios, etc and I was missing a way to have file specific reports or other globals. Your additional tags solve that problem. However I'm a bit reluctant to add more magic tags that mark the trees in some way. I was hoping to find a more general way for this problem. So far I haven't found a good solution though. - I like the idea of the TJ drawer, but in the end you just seem to use it for the project node and the globals node. So in essence they are taskjuggler source code blocks (in disguise) which are tied to a particular node. In fact they are not even really tied to a particular node, especially in the case of the globals. This goes back to the previous question about a good way to add file specific globals. Maybe some kind taskjuggler specific export option is really what we are looking for. As an aside, I think it's better to post the source code to the list. There might be other people interested in it and pitching in with opinions and improvements. Thanks -- Christian Egli Swiss Library for the Blind, Visually Impaired and Print Disabled Grubenstrasse 12, CH-8045 Zürich, Switzerland ^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <0EBF5950-179C-44CC-958C-EB9CF06A44AF@yahoo.com>]
* Re: Re: TaskJuggler 3, revisited [not found] ` <0EBF5950-179C-44CC-958C-EB9CF06A44AF@yahoo.com> @ 2010-10-28 7:28 ` Christian Egli 0 siblings, 0 replies; 13+ messages in thread From: Christian Egli @ 2010-10-28 7:28 UTC (permalink / raw To: Anthony Lander; +Cc: emacs-orgmode Hi Anthony Anthony Lander <anthonylander@yahoo.com> writes: > Is the unfamiliar idiom the backtick list with the ,variables in it, > by chance? No it was more stuff like `return' and `return-from'. > Ah, sorry. This I should have documented. The problem is that TJ3 > fails to compile the file if there is a leaf node with no computable > end date. TJ2 happily ignored the situation, but TJ3 throws an error. OK, I understand. I managed to slowly integrate (some of) your changes. It should now generate milestones for nodes that cannot be scheduled and are leaf nodes. So basically it should export valid code for tj3 if you set org-export-taskjuggler-target-version to 3.0. Of course the report definitions in the defcustom org-export-taskjuggler-default-reports are not compatible with tj3 so you will need to change these. I have (or I guess rather had) some fondness for recursive functions, so I re-implemented your leafiness function recursively. However I ran into problems with max-lisp-eval-depth and it appears that recursion is not encouraged in Emacs lisp (http://www.gnu.org/s/emacs/manual/html_node/elisp/Compilation-Tips.html#Compilation-Tips). So I guess it's back to iterative style. > In any event, the TJ drawer is my attempt at a catch-all solution. It > at least allows a user to use missing features without waiting for a > development change. So for example, I personally will never use the > accounting stuff, and would not be very motivated to add it to the > exporter, but if someone needed it, they could put the required code > in the TJ drawer, and they could still use the TJ exporter for their > project instead of having to abandon org-mode entirely for one missing > feature. I like the drawer stuff and will integrate it. > Interesting thought. I very much like the idea that you can do other > things with your org-file than export it to taskjuggler. For example, > keep actual notes in the file, and export it to other formats like > html or LaTeX, for purposes other than project planning. Absolutely, I agree. > Being able to say "no, this is not a task" in the task tree would be > very useful. I don't know how to do it nicely either (yet). Hm, no this is not possible right now. Why would you want to do this? Maybe we could just mark it as a comment and make the exporter honor comments. > How about if we set up a git repository on github > with the files, and then post the link on the mailing list? I set up a repo and pushed my changes to the code there (http://github.com/egli/org-mode). > I think we should put your email, and this reply to the > list as well. Yes, I almost forgot. Would you mind doing that? Thanks Christian -- Christian Egli Swiss Library for the Blind, Visually Impaired and Print Disabled Grubenstrasse 12, CH-8045 Zürich, Switzerland ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: TaskJuggler 3, revisited 2010-10-09 1:24 TaskJuggler 3, revisited John Hendy 2010-10-09 11:04 ` Detlef Steuer 2010-10-09 13:00 ` Anthony Lander @ 2010-10-29 15:07 ` Christian Egli 2 siblings, 0 replies; 13+ messages in thread From: Christian Egli @ 2010-10-29 15:07 UTC (permalink / raw To: emacs-orgmode John Hendy <jw.hendy@gmail.com> writes: > - is there any progress on an exporter for tj3? Yes there is. See http://github.com/egli/org-mode/blob/master/lisp/org-taskjuggler.el > - does anyone have a vague sketch of what needs to happen? The export to tj3 should basically work now. Just customize `org-export-taskjuggler-target-version' to 3.0 and you should be set. You still need to adapt the default reports[1], as they no longer work with tj3. `org-export-as-taskjuggler-and-open' needs to be adapted and also there are some other incoming patches from Anthony Lander that I need to integrate. > - can I do grunt work for someone to make this happen? Testing would help. Thanks. Footnotes: [1] `org-export-taskjuggler-default-reports' -- Christian Egli Swiss Library for the Blind, Visually Impaired and Print Disabled Grubenstrasse 12, CH-8045 Zürich, Switzerland ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2010-10-29 15:08 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-10-09 1:24 TaskJuggler 3, revisited John Hendy 2010-10-09 11:04 ` Detlef Steuer 2010-10-09 19:25 ` John Hendy 2010-10-14 6:24 ` Eric S Fraga 2010-10-18 14:54 ` Christian Egli 2010-10-18 17:46 ` Eric S Fraga 2010-10-09 13:00 ` Anthony Lander 2010-10-18 14:52 ` Christian Egli 2010-10-18 15:45 ` Louis Turk 2010-10-18 16:55 ` Anthony Lander [not found] ` <98BDDE23-2AA0-4B2A-B089-688F7BC46A49@yahoo.com> 2010-10-19 9:29 ` Christian Egli [not found] ` <0EBF5950-179C-44CC-958C-EB9CF06A44AF@yahoo.com> 2010-10-28 7:28 ` Christian Egli 2010-10-29 15:07 ` Christian Egli
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.