Attached is the latest incarnation of the "Advanced link tasks dialog" thats been discussed recently. Its a standalone diff against the current CVS contents. Place the .c/.h into ./src Place the .png file into ./data/images Place the .glade into ./data/glade Diff the CVS with usual patch -p0 <../ Whats does it do ?. Firstly it doesn't play with the current Link button but simply adds a new dialog under the Action menu of "Advanced Link Tasks..." I though of just "Link Tasks..." but wanted to tell users is more than just that :) Depending upon if you have 2 or more than 2 tasks it presents a dialog that asks... If Two tasks: Relation, Lag, Direction. If more than 2 tasks: Relation, Lag, Direction, Mode. As has been discussed before the direction is if the predecessors are above or below the other tasks with respect to the WBS or order in which the tasks are displayed in the Gantt or Task views. I show this as direction as its the easiest to describe that the links will flow upwards or downwards. The mode is visible on the dialog if more than 2 tasks are shown and has 3 possible out comes at this time (I'm thinking of fancier modes but the 3 shown are what I commonly use in workflow), Cascade - where links are setup as task to next task 1 to Many - (was called fanout) where links have a single source and this links to all other tasks in the selection. Many to 1 - (was called fan-in) where links have a single end and all other tasks link to this. The tooltips further describe this. How to use this - example. -------------------------- Say you have a list of tasks that must be completed in turn with an hour lag between each. They must be organised on the gantt in the order in which they would be performed e.g., 1.2.1 1.2.2 1.2.3 1.2.4 2.1.1 2.2.2 2.2.3 etc Click then all, Selection Action-> Advanced Link Tasks... Leave relation as Finish to Start Set Lag to 3h i.e. type in '3h' Set Direction as Downwards (default) Set Mode to Cascade (default) click OK. You now have 6 links created between these tasks, i.e. 1.2.2 has a predecessor of 1.2.1, and 1.2.3 has a predcessessor of 1.2.2 etc all with lag=3 (3 hours *see note below on lag) Note that lag can take multiple values e.g. 1d2h will be parsed as 10 hours (see note below on this). Notes on Lag. ============ Lag is not user friendly in Planner. Where its displayed in Task dialog Predecessor lag its actually shown as an "hour" value. Where its stored in the database, the XML file and where its used internally its actually manipulated as seconds. Entering 1d actually gets translated into 8 hours and stored and used as 28800 seconds. Its then displayed in the Task Predeccessor field as '8'. A better example is '1d2h' which actually ends up as 10 hours (36000 seconds) - not an obvious delay. This needs looking at as 1d2h or 1 day and 2 hours to me really means a calendar day plus 2 hours, thus in actual fact 26 elapsed hours. The Advanced Task link shown above is the first time that we allow a user inputted Lag to take a string: the cool thing is that Planner has ALL the code to do this already - its just never been presented or inputted as this string. A bugzilla has been raised on this and the Lag fields will now been looked at to make it more flexible. Rgds, Lincoln.
Attachment:
planner-cvs20040414-lcjp-adv-linkv2.tar.gz
Description: GNU Zip compressed data