GNOME Bugzilla – Bug 132346
Should be able to link tasks via button and Action menu
Last modified: 2005-05-16 22:00:16 UTC
Defining links through using the click-drag on the gantt is handy but I'm also very used to selecting (ctrl-click) two (or more) tasks and then clicking a "Link" button (or navigating to Actions|Link ) Planner has an Unlink button but not Link button. The main issue is click-dragging over many pages or dates on the gantt: if you zoom out to see the whole project then the task bar isn't big enough in the gantt chart to click this (it usually just accidently re-sizes the task !). Also you can't define a link within the task grid. This slows people down. Within the task grid or the gantt sheet the ability to shift-click or ctrl-click multiple task and then click a link to get a FS (Finish to Start) predecessor relationship is a good thing. Whats required is a link button. This will be grey-ed out if all of the selected tasks are already linked or it will be normal if the first selected task and any other selected task are not already linked. It complements the unlink button BUT doesn't replace that i.e. don't toggle the buttons. You need a seperate link and unlink button (or Action menu entry) as selections are not just for two tasks but can be multiple tasks.
Created attachment 24273 [details] [review] Working patch - Diff of CVS 20040210 and my code.
Created attachment 24274 [details] Link tasks button - put into ./data/images
Created attachment 24292 [details] [review] Cleaned up patch with the link button features. (fixed comments and whitespace)
Created attachment 24381 [details] [review] My new draft patch file. Cleaned up code based on review including removed right-mouse popup.
WARNING - this has a bug. The mrp_get_task_position() only returns the position for the current depth and not some arbitary position WRT the display. This means that certain designs will not use the link button right but would swap around the orientation. Now that I know more - I'll look at the whole path including the parents and then compare just like a human would (i.e. left to right compare). The side effect of doing this is to know more so as to create a WBS. Ideally the WBS would also be able to use regex style string formats to be formatted for printing or display. Traditionally poeple have adopted MS Projects x x.x x.x.x etc format but nowadays people expect to format this in slight ways.
Regarding this particular problem (getting the visual order of the tasks) we should just use the treeview's api instead of mrp_*. It should be trivial to sort the list by visual ordering. WBS should probalby be discussed in another bug, we try to keep things very separate here.
Yup Richard - I think I'm after the ID (same ID as is dumped into the actual saved file). I'll track this down where it lives in the tree. I'll raise a enhancement request for a WBS as I know people who use these as references. Be nice to also format the WBS as well instead if 1.1.1 you can get A.1.a or such like.
Created attachment 25647 [details] Suggested link dialog.
Created attachment 26280 [details] New version of the dialog. I've forwarded the first hook to enhancing this link button in the latest LIncoln trache (31st March 2004). What the hooks mean, gboolean downwards is used to flag if the link direction flows is visual downwards or upwards e.g. if linking task 1 and 2.1 downwards then 2.1 would end up with the predecessor. gboolean Mode is cascade =TRUE (or fanout for cascade=FALSE) What this means on a selection is does task n link to n+1 for each of n thus cascading links down the selection or does task n=1 link to each of n in a star pattern with a centre on n=1. Relation is obvious and the lag. I'd hope to get the lap take the correct modifier for the period i.e. d,w,y,mon,h,min etc so this patch will take a few days to create ;)
I'm not sure we need to be able to set the direction here. You tend to think in terms of start->finish as top->bottom so tasks should be in the order they are meant to be performed already. For other cases, where tasks are mixed, then you can't add the links with one click anyway, and the case where the order is from bottom to top for all tasks, we can simply not care about in my opinion. Also, the Apply button should say "Link" or something like that instead.
Yes you do need the direction as sometimes people place key deliverable Milestones at the top of a gantt and have tasks lower down link back to those milestones. I do this as its nicer to see the milestones. Sometimes a group of tasks may start before another ground but may have one particular set of activities which are dependant up on the finish of a (visually) lower down task in another set of subtasks under a different summary. The more complex a project gets the more chance it gets of losing the start->finish being completely top->down and thus it could require links to be visually go up. We can't predict what people want - my recent tranche tweaked the link tasks to have the ability to swap the direction so its an easy feature to add which I know I'll need because of how I put my deliverable milestones/checkpoint tasks at the top of my gantt (I do this because its easy to printout ;) and show management/clients. OK on the "Apply" - yes "Link" is a better name.
We need to redo the UI a bit and place the relaton and lag parts at the top, since those are the basic and most important parts. The "mode" option should be disabled or hidden when only two tasks are selected. Moving the dialog to 0.13 since it needs some thinking to get the UI right.
Created attachment 26671 [details] Contains the Advanced Link dialog. This does as described - Its stored under Action->Advanced Link Tasks... and when only 2 tasks are selected it hides the Mode. I know it was slated for 0.13 but I'd already started to play with the lag input as I want to fix up how this all works and the new dialog was an easier proof of concept (and it works fine).
Created attachment 26845 [details] Current version - cleaned up. (.tar.gz)
I'm going to close this, it's too cluttered to the Planner UI and not useful enough to make it worth that, in my opinion. Sorry.