jxProject Icon jxProject.com

Loading
jxProject Advertisement
. Home Products Advertising News About Contact Legal

Purchase / Buy

Documentation

Future Plans

Links

ScreenShots


jxProject 0

JxProject 2.7.1.2 - Gantt

User Documentation

June 19, 2012

 

 Gantt: If you are familiar with using other project management software packages then jxProject should have a look and feel that is familiar to you.  The software is based on the Gantt Chart which was developed by Henry Gantt (1861-1919) to be used for scheduling multiple overlapping tasks over a time period.  jxProject allows you to build dependencies between tasks and it rebalances the project plan to reflect those dependencies.  Dependencies are often/usually referred to as constraints.

Main components of the jxProject Gantt interface:

 

Figure 1: The Gantt Interface

 

The labels used in describing the basic components of the jxProject interface in Figure 1 will be used consistently throughout this document.

Elements of the Gantt Chart:  While we have Figure 1 starring at us lets cover a few basics.  The tree table and the Gantt Chart are closely related and only serve as alternative visual representations of the exact same data.  Each row in the table represents the data in the same row in the Gantt Chart to the right.  The data which fuels these interfaces is a collection of user defined tasks.  These user defined tasks have relationships between each other which are also user defined.  That’s really all there is to this tool.  Sounds simple enough eh?  However, because of the variety of relationships you can define between tasks, project plans often become amazingly complex.  But no matter how complex the project plan gets, it is simply a group of tasks and the relationships between them.   Now a few definitions:

1.      Task: This is the “atomic element” of a project plan.  It has a start date, duration and an end date.  These are represented on the chart as black outlined rectangles with a fine grained blue and white checkerboard fill color.

2.      Summary Task: This is a “roll-up” of tasks which are considered “children” of these tasks.  A summary task must have at least one child task.  A summary task and its child task have a hierarchical relationship.  These are represented on the chart as solid black polygons which are largely rectangular.

3.      Link: This defines a direct relationship between exactly two tasks where either or both tasks can be summary tasks.  One task of the link is called a predecessor task and the other link is called the successor task. These are represented on the chart as solid black lines between the two tasks with the arrow head pointing at the successor task. Resource User links are brown lines with “crows feet” on the ends, no arrow heads.

4.      Arbitrary Constraint: This is a date constraint which appears as green/orange arrows in the chart. An arbitrary constraint will dictate that a task must start after or finish after a specific date. The finish after constraints are single headed green arrows where start after constraints are double headed green arrows. There are also must start before and finish before arbitrary constraints.

5.      Predecessor Task: Acts as the primary or driver task in resolving the relationship between itself and its successor task.

6.      Successor Task: Acts as the subordinate task in the linked relationship between two tasks.



Elements of the Tree Table:  A tree table is what you get when you cross a traditional GUI table with a traditional GUI tree.  It’s a table with expandable collapsible nodes.  The furthest left column of the tree table is the “key” field and it can never be scrolled out of view.  Every other column in the table can be scrolled and the order of the columns can be changed by dragging the columns into different positions using the column headers.  Now a few definitions:

  1. Key: Each task has a key value which is unique to all other tasks.  The key values are assigned by the software but the user can renumber them right clicking on the header. You can increase and decrease the table row height by pressing the (keyboard shift key and the right mouse key on the row table header) simultaneously and dragging it towards the bottom to increase the row height and towards the top to decrease the row height.

  2. Task Name: This is the name of the task or description of the task.

  3. Resources: These are the names of people assigned to this task.  If this field is blank then the “default resource” is assigned to the task. The first resource in the list is the “span resource”, so if a task is “span” driven, then the span resource schedule is what is used to calculate the start time and duration of the task.

  4. Work: This is the aggregated work hours of all resources assigned to the task during the duration of the task. A triangle in the upper left corner of this field indicates that work is the driving or constant parameter in the task and that span and duration are derived from the the work value. For work driven tasks: Duration = the absolute amount of time the task must endure in order to satisfy the required amount of work time from all assigned resources. Span = the aggregated work hours of the span resource during the duration of the task. The span resource is the first resource assigned to the task and is the first resource name in the list of resources. The work of summary tasks cannot be set by the user and is an aggregate of all is child task work values. NOTE: The custom schedule and time zone of each resource is used in these calculations. Also, these values are adjusted to represent Full Time Equivalent (FTE) values. Example: A work driven task would be one where the addition of resources would result in the task taking less time to complete as there are more people to do the work. If the task were, “digging a ditch”, adding more resources to the task would shorten its duration depending on the amount of work hours each resource was available over the duration of the task.

  5. Span: This is the aggregated work hours of the span resource during the duration of the task. A triangle in the upper left corner of this field indicates that span is the driving or constant parameter in the task and that work and duration are derived from the the span value. For span driven tasks: Duration = the absolute amount of time the task must endure in order to satisfy the required span work time. Work = the aggregated work hours of all of the assigned resources during the duration of the task. The span resource is the first resource assigned to the task and is the first resource name in the list of resources. The span of summary tasks cannot be set by the user and is an aggregate of all is child task span values. NOTE: The custom schedule and time zone of each resource is used in these calculations. Also, these values are adjusted to represent Full Time Equivalent (FTE) values. Example: A span driven task would be one where the addition of resources would NOT result in the task taking less time to complete. If the task were, “Have a meeting to review requirements”, adding more resources to the meeting would not make the meeting any shorter, but does increase the amount of work spent on the meeting.

  6. Duration: This value is defined as finish date – start date. A triangle in the upper left corner of this field indicates that duration is the driving or constant parameter in the task and that work and span are derived from the duration value. For duration driven tasks: Work = the aggregated work hours of all of the assigned resources during the duration of the task. Span = the aggregated work hours of only the span resource during the duration of the task. The span resource is the first resource assigned to the task and is the first resource name in the list of resources. NOTE: The custom schedule and time zone of each resource is used in these calculations. FTE values are not utilized in the display or edit of duration values. The durations of summary tasks cannot be set by the user. Example: A duration driven task would be one where the task takes an absolute amount of time regardless of resources. If the task were, “Wait 36 hours for paint to dry”, a duration driver is the way to go.

  7. % Complete: Has a range of 0 to 100.  It is used to indicate the amount of the task that is complete.  For summary tasks the % complete is aggregated from its child tasks and is weighted by the amount of work the child task represents.

  8. Resources: These are the first names of people assigned to this task.  If the field is blank then the “default resource” is invisibly assigned to the task.

  9. Rank: This is used to determine which task gets first priority to the Resources which are assigned to it.  If two tasks have the same Resource assigned to them, the task with the lower Rank value will be scheduled first.  The Rank of a task is determined by its row position and its constraints.  Tasks that are towards the top of the table will tend to get the lower Rank values.  A successor task always has a higher Rank value than its predecessor.  The Rank value is generated by the constraint solver but there are several tools available to the user to alter the ranking of tasks  See the documentation on Resource Leveling for more information.

  10. Start: This is the start date of the task.  This is an editable field but it is only used to add or change the start after constraint (Arbitrary Constraint) of the task which will be described later in the constraints section.

  11. Finish: This is the finish date of the task.  This is an editable field but it is only used to add or change the finish after constraint (Arbitrary Constraint)  of the task which will be described later in the constraints section.

  12. Predecessors: This is a comma delimited field of task keys which are predecessors of this task.  This field can be used to add, edit or delete predecessor task links.

  13. Successors: This is a comma delimited field of task keys which are successors of this task.  This field can be used to add, edit or delete successor task links.

  14. Priority: A user set of priorities from Lowest to Highest. The priority value does not affect the scheduling of the task.

  15. Notes: The notes associated with the task. Best accessed through the task edit dialog.

  16. Info: A non-editable field which indicates a problem with the task such as an arbitrary constraint violation.

  17. WBS: A non-editable field showing the work breakdown number for the task; (ie. 2.1.4)

  18. Driver: A non-editable field indicating a numeric value for the type of scheduling driver for the task, work/duration/span.

  19. Early Start(ES): The earliest date/time that a task can start given its constraints. Dominant constraints are: Links: Start-to-Start and Finish-to-Start and Arbitrary constraint: Must-Start-After.

  20. Late Start(LS): The latest date/time that a task can start without impacting the scheduling of successor tasks or the project end. Dominant constraints are: Links: Start-to-Start and Start-to-Finish and Arbitrary constraint: Must-Start-Before.

  21. Early Finish(EF): The earliest date/time that the task can finish given its constraints. Dominant constraints are: Links: Start-to-Finish and Finish-to-Finish and Arbitrary constraint: Must-Finish-After.

  22. Late Finish(LF): The latest date/time that a task can finish without impacting the scheduling of successor tasks or the project end. Dominant constraints are: Links: Finish-to-Start and Finish-to-Finish and Arbitrary constraint: Must-Finish-Before.

  23. Start Float(SF): The amount of time remaining after subtracting the Early Start Time from the Late Start Time. SF = LS – ES. Float is sometimes referred to as slack.

  24. Finish Float(FF): The amount of time remaining after subtracting the Early Finish Time from the Late Finish Time. FF = LF – EF. Float is sometimes referred to as slack.

  25. Criticality: A calculated value based on the critical task criteria set by the user. These values cannot be edited, they range in value from Lowest to Highest. Critical tasks are displayed differently on the charts than non critical tasks.



Constraint Elements:  This is a listing of constraints which affect the scheduling of tasks.  The user cannot directly set the start or finish dates of any task; this is done by the constraint solver which is contained within jxProject.  The user must define constraints which act upon the task in order to alter the scheduling of a task. 

1. Hierarchical: This is the parent/child relationship which exists between a summary task and one or more tasks.  A summary task starts at the same time of the earliest start date of its child tasks and ends at the latest finish date of its child tasks.  A child task is constrained to be scheduled within the constrained scheduling of its parent/summary task.  A summary task can contain millions of child tasks.

2. Links: These define a direct relationship between exactly two tasks where either or both tasks can be summary tasks.  One task of the link is called a predecessor task and the other link is called the successor task. A task may have up to 1 billion links.  There are four link types:

a. Finish to Start (FS) (default): The finish date of the predecessor task pushes the start date of the successor task.

b. Finish to Finish (FF): The finish date of the predecessor task pushes the finish date of the successor task.

c. Start to Finish (SF): The start date of the predecessor task pushes the finish date of the successor task.

d. Start to Start (SS): The start date of the predecessor task pushes the start date of the successor task.

e. Resource User (RU): The successor task is constrained to have a rank value that is greater than the predecessor task.

f. Pseudo Links (Ra+, Ra-): These are not links, but tools to alter the ranking of tasks. They appear here only for completeness and are discussed in detail in the resource leveling documentation.

4. Rank: The rank of a task determines the priority in which it is scheduled with respect to the resources assigned. The task with the lowest rank value gets resources before any other task. Rank is only relevant when resource leveling is enabled and it serves as the tie breaker in scheduling tasks which share the same resource(s). See the resource leveling documentation for more details.

5. Arbitrary: This constraint is used when the scheduling of a task is determined by constraints which are outside the control of the project.  An example would be that you have a set of tasks in your project which depend on the arrival of a piece of equipment.  You would put in the arrival date of the equipment as an arbitrary constraint preceding those tasks which depend on the presence of that equipment.  A task may have at most one of each kind of arbitrary constraint.  There are four types:

a. Start After: The task must start after this constraint.

b. Finish After: The task must finish after this constraint.

c. Start Before: The task must start before this constraint. (Not enforced by constraint solver)

d. Finish Before: The task must finish before this constraint. (Not enforced by constraint solver)

Note: The start/finish before constraints are not enforced by the solver. An impossible example: Task A must start on Monday and must finish one day later (Tuesday) and has a duration of 10.0 days. It is impossible for the constraint solver to resolve this set of constraints. The task will finish 10.0 days after it starts and an “Error” will appear in the Info column of the Gantt table in indicate that the finish before constraint is being violated.

6. Resources: Tasks are constrained to begin only when at least one of the assigned  resources is available to work.  If no resource is assigned, the schedule of the “Default Resource” is used to satisfy this constraint.

Title Bar:  The title bar contains the jxProject logo/icon followed by the file name which is currently open.  Only one file can be open at a time.

 

Menu Bar:    The menu bar consists of drop down menus which provide access to most of the functionality in jxProject.  Each of the menus is shown and outlined below.

File Menu:

 

· New: Create a new file.

· Open…: Open an existing file (*.jxp)

· Recent Projects…: Open a dialog showing the last 50 project files opened/saved.

· Close: Close the file that is currently open.

· Save: Save the currently open file

· Save As…: Save the currently open file with a new name.

· Import XML: Import a jxProject file which is in XML format.

· Export XML: Export the jxProject file in XML format.

· Print Preview…: This takes you to the print preview screen and you can configure the printer or print from there.

· HTML/images…: This takes you to the image preview screen. From here you can view and alter the size of the images produced when you save the html file. The output is a simple html file utilizing the images of the table and chart.

· 1: file:/c/... There will be a listing of up to 4 of the previously accessed files.

· Exit:  Exit the application

 

 Edit Menu:

  • Cut/Copy/Paste: Cut will copy the selected cells to the clipboard and set the values to their minimum or default values. Copy will copy the cell values to the system clipboard. Paste will paste values from the system clipboard to the selected cells.

  • Fill Up: For multiple row selections, the top cell value in a column will be copied down to all selected cells directly below.

  • Fill Down: For multiple row selections, the bottom cell value in a column will be copied up to all selected cells directly above.

  • Delete Task(s): All fully selected rows/tasks will be deleted.

  • Intent Task(s): Remove the selected tasks from their current parent and insert them as children of the parent of the task that is just above the top most selected task.

  • Outdent Task(s): Remove the selected tasks from their current parent and insert them as children of their current grandparent task.

  • Undo: Undo a previous edit such as add/delete task, link, resource or an updating of the properties of a task, link ...

  • Redo: Redo an edit that was previously undone by an undo.

  • Link Tasks: In the range of selected tasks (at least 2), working from top to bottom add a Task to Task link where the upper task is the predecessor. The type of link created is determined by what is selected in the Link Type selected in the pull down menu off of the lower toolbar.

  • Un-Link Tasks: Remove any and all links which exist between any of the selected tasks.

 

View Menu: 

  • Gantt Chart: This will switch you into Gantt Chart Mode

  • Calendars/Resources: This will switch you into Scheduling Mode.

 

 Insert Menu: 

  • New Tasks(s): This will insert a number of new tasks just above the selected tasks.  The number of tasks inserted will be the same as the number selected. By default, new tasks are duration driven and have a duration value equal to one unit of the current setting of units in the Duration column of the Tree Table. So if the column is in “Hours” then each new task would have an initial duration of 1 hours.

 Tools Menu: 

  • License Activation...  : The Activation Dialog is accessed here. If you have obtained a valid jxProject Serial Number, you can activate the software to remove the scrolling advertising.

  • Update Advertisements...  : Another dialog will be presented asking you to confirm yes/no that you want to continue with updating. If you select yes, the update progress dialog will be placed into the sponsor window so you can monitor the progress of the statistics upload and downloading of new advertisements. The update process runs in a separate thread so you can continue your work while the update progresses, you don't have to watch it. ;-) If the update is successful it will turn green, if unsuccessful, it will turn red. Either way it will then return to scrolling some advertisements. If it has been less than two days since the last advertising update, you will see a dialog that tells you the ads are current and no updating will occur.

  • Network Settings... : This will bring up the Network Settings Dialog just below the “Tools” text. This dialog allows the user to set and test proxy settings. It is discussed further later in this document.

  • Date Formats... : This will bring up the date format dialog where you can add, edit or delete, the existing date formats. See the chapter on Dates and time line formating for more detail.

  • Options...  : This will bring up the Options Dialog just below the “Tools” text.  The capabilities of the dialog are discussed later in this document.

 

Help Menu: 

  • Documentation: A dialog directing you to go to www.jxProject.com will be shown.

  • Log Dialog …: This will open the Log Dialog which will allow you to view log files and their contents. You can also set the level of logging that is done. Caution: Logging lots of data to the log file will slow down the speed of the application, use the default logging levels for the best performance and logging.

  • Sample Projects >: There are three sample projects that the user can select and load in order to get familiar with jxProject's capabilities. These files can be edited and saved by the user, however, the sample projects stored with the application are not altered.

  • About…: This will display the splash screen showing the product name and version number.



Upper Tool Bar:   The tool bar acts provides quick access to functionality which is accessible through the menu bar.  Working left to right the functionality is as follows:

  1. New File; see Menu Bar > File >New

  2. Open File; see Menu Bar > File > Open

  3. Save File; see Menu Bar > File > Save

  4. Print; see Menu Bar > File > Print

  5. Display the resource assignment dialog.  Used to drag/drop resources onto tasks and to view resource schedules. (See below)

  6. Display the Options Dialog; This will open the options dialog (See below)



Lower Tool Bar:    The lower tool bar provides the following functionality: Working left to right the functionality is as follows:

  1. Switch to Gantt View; This will switch the application to the Gantt View. If already in Gantt view, it has no effect.

  2. Switch to Schedule View; This will switch the application to the Schedule View. If already in Schedule view, it has no effect.

  3. OP: This will perform a single run of the resource optimizer. It will attempt to identify a task which can be performed sooner than it is currently scheduled without negatively impacting the schedule of any other task. See the resource leveling documentation for more details.

  4. Outdent; see Menu Bar > Edit > UnIndent Task(s)

  5. Indent; see Menu Bar > Edit > Indent Task(s)

  6. Link; see Menu Bar > Edit > Link Tasks

  7. Un-Link; see Menu Bar > Edit >Un-ink Tasks

  8. FS; This is a pull down menu to choose the kind of link for creation during any task to task linking operation. The letters used on this button will reflect the link type selected, so it won't always say “FS” as shown in the picture above. The possible link types are as follows:

  9. Hard Links: FS, FF, SF, SS

  10. Soft Link: RU – Resource User(RU) Link; See the resource leveling documentation for more details.

  11. Pseudo Links: Rank Adjustment (Positive – Ra+ or Negative – Ra-) These are not really links, but tools to alter the ranks of tasks relative to one another. See the resource leveling documentation for more details.

  12. Undo; see Menu Bar > Edit >Undo

  13. Redo; see Menu Bar > Edit >Redo


Tree Table Interaction: 




· Key: Each task has a unique key that is assigned when each task is created.  You can renumber the tasks by “right clicking” on the header which will bring up a single option popup-up menu to renumber the tasks. 

· Task Name: This is the name or description of the task and you can type anything you like into the field.  The expand/collapse icons only appear on summary tasks and you can click on those icons to expand or collapse this task.

· Work: The default display unit is hours.  Clicking on the work value of a task you will get a “spinner” editor with up and down arrow that allows you to adjust in increments of 0.1.  You can also type in your own values without using the arrows if you like.  You cannot change the work of a summary task.  NOTE: The work/span times are Full Time Equivalent (FTE) adjusted. Example: Lets say an FTE works 8.0 hours per day and the work in “Hours” is 24.0. If you change the work units to “Days” then the value will be 3.0 as it takes 3 FTE days to produce 24 hours of work.

· Span: The default display unit is hours.  Clicking on the span value of a task you will get a “spinner” editor with up and down arrow that allows you to adjust in increments of 0.1.  You can also type in your own values without using the arrows if you like.  You cannot change the span of a summary task.  NOTE: The work/span times Full Time Equivalent (FTE) adjusted. Example: Lets say an FTE works 8.0 hours per day and the span in “Hours” is 24.0. If you change the span units to “Days” then the value will be 3.0 as it takes 3 FTE days to produce 24 hours of work.

· Duration: This default display unit is days.  Clicking on the duration of a task you will get a “spinner” editor with up and down arrow that allows you to adjust in increments of 0.1.  You can also type in your own values without using the arrows if you like.  You cannot change the duration of a summary task. NOTE: The duration time is NOT Full Time Equivalent (FTE) adjusted. Example: Lets say the duration in “Hours” is 24.0. If you change the duration units to “Days” then the value will be 1.0 as there are 24 hours in a day.

Gantt Table header context/pop up menu: The Column Visibility option will bring up a dialog where you can see what columns are available and can adjust the visibility, width and order they appear in the table. The Date Format option is only available for columns that require defined date formats such as start and finish dates.

·Work/Span/Duration Units: For the Work/Span/Duration fields you can change the units for displaying and editing the value by using the mouse to right click the Work, Span or Duration column header for the field and selecting the units for display.  The units for Work and Span are FTE adjusted values. Duration units are NOT FTE adjusted.

· Start Date: The date displayed is the start date of the task.  If you edit this field it will create a “start after” arbitrary constraint for the task.  You cannot type values into the date field, but you can select one of the fields of the date with your mouse and the cursor will align to the right of the chosen field.  You can then increment or decrements this part of the date with the spinner buttons or use your keyboards up and down arrow keys.  You can also change fields, left or right using your keyboard arrow keys or picking with the mouse cursor. You can change the format of the Start Date by right clicking on the column header and selecting “Date Format...”. See the chapter on Date Formating and TimeLines for more details.

· Finish Date: The date displayed is the finish date of the task.  If you edit this field it will create a “finish after” arbitrary constraint for the task.  You cannot type values into the date field, but you can select one of the fields of the date with your mouse and the cursor will align to the right of the chosen field.  You can then increment or decrements this part of the date with the spinner buttons or use your keyboards up and down arrow keys.  You can also change fields, left or right using your keyboard arrow keys or picking with the mouse cursor. You can change the format of the Start Date by right clicking on the column header and selecting “Date Format...”. See the chapter on Date Formating and TimeLines for more details.

· Successors/Predecessors: This is a validating comma delimited field of linked task keys.  Default link types which are Finish to Start do not have any character designation but the other 4 links types(see constraints) do have 2 character designators (SS, FF, SF, RU).

· Resources: To assign resources to a task via this table you must bring up the resources assignment dialog and drag one or more resources onto the task row to which you want the resource(s) assigned.  A resource in the dialog is selected when the entire row is selected. To initiate the drag you must press down the first mouse button on the “key” cell of the selected resource(s) and begin dragging quickly. To delete a resource from a task, double click the resource cell to bring up the editor list of all the resources.  Uncheck the check box next to the resource name or set the % spinner to zero which will also delete the resource from this task.  The spinner can be used to assign partial resources to tasks.

· Table row header: The row header is the left most part of the tree table which contains the “Key” field.  You change the table row height by pressing the keyboard shift key and the right mouse key on the row header simultaneously and dragging toward the bottom to expand the row height and toward the top to compress the row height.

· Hot Keys/Accelerator Keys: Shift+F10 will bring up the table context menu; Shift+Space will select the entire row for any selected cells; Cntrl+Space will select the entire column for any selected cells; Alt+Shift+I will indent selected tasks; Alt+Shift+O will indent selected tasks.

· Dragging and Dropping: Using drag and drop it is possible to move or copy tasks. To initiate a drag, select one or more tasks using the TreeTable row header to select the entire row. Then press and drag the first mouse button on the “key” field of the selected task(s). Do this quickly so the drag gesture is recognized. Your cursor will change to reflect the type of drag operation that has been initiated. The default drag is a move, if you hold down the control key while initiating the drag, the operation will be a copy. A copy cursor has a “+” sign on it. When tasks are copied, links to tasks that are outside of the group of tasks will be removed from the newly copied tasks.

· Tree Table Context/PopupMenu: If you “right click” on a cell in the Gantt Tree Table, or hot key Shift+F10 you will see the popup menu above. Most of the selections are the same as the Edit menu. However it also has options to expand or collapse the node. If you select the associated “+” button, the operation will act on all child/decedent tasks. For example, selecting the “+” on the Expand Node item will expand the node and all nodes that are children of that node, and any nodes that are children of those nodes and so on.




Assigning Resources to tasks: To assign resources to a task via this table you must bring up the resources assignment dialog and drag one or more resources onto the task row to which you want the resource(s) assigned.  A resource in the dialog is selected when the entire row is selected. To initiate the drag you must press down the first mouse button on the “key” cell of the selected resource(s) and begin dragging quickly. If you want to assign one or more resources to multiple tasks in a single step. Highlight only the resource cells in the task table to which you want to assign resources, then drag resources from the Resource Dialog and drop them onto the range of selected resource cells. The resources will be assigned to all of the highlighted tasks. If a task is already linked to one of the resources, the existing relationship will be maintained and not altered. You can also drop resources onto the tasks in the Gantt chart. Also, you can drop tasks from the Gantt chart onto resources in the dialog to make the associations.

Figure 2: Assigning a resource to a task via Drag and Drop

 

The spinner value associated with the resource is used to partially assign resources to tasks.  When you click the cell in the table, click as far to the right as possible as the checkbox is very sensitive and you can delete resources unintentionally.  I don’t like this interaction but it isn’t a show stopper so it makes the TODO list.  ;)

 

Figure 3: Resource Table Cell Editor; for resource delete

 Table Pan Scrolling/Auto scrolling: Pan scrolling the tree table is activated by single clicking on the table with the middle mouse button. The pan scroll will work for any component inside a scroll pane and gives the user the ability to fly over the component.

Gantt Chart Interaction: There is not a lot of interactivity in the Gantt Chart but there are some things that you can only do from the Gantt Chart so read closely.

  • Editing: Double clicking on any item in the Gantt Chart will bring up the task edit dialog. The item that was clicked will be selected/highlighted if possible. You can edit or delete items associated with the task from the dialog.

  • Creating/Modifying Arbitrary Constraints: You can create these constraints by bringing up the context menu (right click the Gantt chart) and selecting “Set Arbitrary” and then the specific constraint that you want. The constraint will be placed at the row and position where you clicked to bring up the context menu. If there is a per-existing arbitrary constraint of the type you you selected, it will be moved to the new location. You can move arbitrary constraints once they are on the chart by selecting them and then dragging them left or right. To drag a selected constraint put the mouse over it, press down the first mouse button and drag.

  • Creating/Modifying Links: You can link two tasks by dragging from one row in the Gantt Chart to another.  It is not necessary to select the exact task itself from the row.  If you start to make a link but decide you do not wish to complete the operation, release the mouse in the same row in which you started the drag, or release it outside of the visible area of the chart. The type of link created when you release the mouse is determined by task link type setting in the toolbar pull down. You can modify the lag of a link by selecting it and dragging it left/right. To drag a selected link put the mouse over the point of the arrow head, press down the first mouse button and drag left/right.

  • Modifying Task Duration: You can modify the duration/work/span of any task on the chart (not summary tasks). First select the task by clicking on it. The place the mouse over the right most edge of the task, press down the first mouse button and drag left/right. Note, the “driver” of the task will affect how the task is scheduled after the drag is complete. For duration driven tasks, the task will end exactly where you release the mouse. However, for work/span driven tasks, the task duration will adjust so that the task stops during the work time of the resource(s) assigned to it. Example: Joe works 8 – 5; M-F and is assigned to task A which is a work driven task. You drag task A and release the mouse on Saturday, when Joe is not working. The task duration will adjust to finish at 8 the following Monday, or back to finish at 5 of the previous Friday. Hint, use the “Flash schedule” option to see where the “work time” is before dragging.


  • Pan Scrolling/Auto scrolling: If you are dragging in the Gantt chart you need to drag outside of the visible area of the chart in order to make the chart scroll during the drag.  This is inconsistent with the behavior of the table which only scrolls when you are inside the visible area.  This will be fixed in a later release. In the image above the user has activated pan scrolling by single clicking on the chart with the middle mouse button. The pan scroll will work for any component inside a scroll pane and gives the user the ability to fly over the component.

·        Gantt chart header: The header defines the dates over which the entire project extends.  The upper scale is denoted in weeks and the lower scale is in days.  You can compress and expand the time scale by pressing the keyboard shift key and the right mouse key on the chart header simultaneously and dragging it to the right to expand the scale and the left to compress the scale. As you expand/compress the time line it will automatically change formats to suit the level of scaling. There are at least 20 preset formats for the header and they can be fully customized by the user by the time line format dialog. Right click on the header and select “TimeLine Format...”, and a dialog for customizing the format will be displayed. See the chapter on Date Formating and TimeLines for more details.

Gantt chart context menu: A right click on the Gantt Chart or Shift+F10 will bring up this context menu.



  1. Edit... : This will bring up the Task Edit Dialog for the task in the row.

  2. Flash Schedule : This will show the schedule time for the resources of the clicked task/row. The schedule will display for about 5 seconds and then be cleared.

  3. Set Arbitrary (Start-After, Finish-After, Start-Before, Finish-Before): An arbitrary constraint of the selected type will be placed at the point that the task/row was clicked.

  4. Chart Options... : This is brings up the options dialog that can also be accessed from the Tools menu.

  5. FTE-Work... : This brings up the options dialog with the FTE tab visible.

  6. Solver... : This brings up the options dialog with the Solver tab visible.



Edit Task dialog: This dialog is accessed by double clicking the “key” cell of the Gantt Table or double clicking a row/task or item associated with a task in the Gantt Chart.


The above image shows the General tab of the task edit dialog. Most of the items on this panel can also be edited through the table. For summary tasks some of the fields are disabled such as percent complete and driver/work/span/duration values, these values are calculated from their child tasks.


The above image shows the Dependencies tab of the task edit dialog. Dependencies appear as “links” on the Gantt chart from one task to another. Through this dialog dependencies can be added, modified or deleted. In this image the user has typed a “?” into the task name field which serves as a wild card search character to find all tasks and display them in a dialog list for the user to select one or more tasks as dependencies. The user can enter the starting characters of any task and if there is just one match, that task will be added, if more than one match, then they are shown in the list. For example: if the user typed “buil” into the task name field and hit return, the dialog would pop up with tasks 6 and 10 since they both start with “Build”. The search is case insensitive. The user can also type the key # of any task in the the ID column to add a dependency.

If the user double clicks on a link in the Gantt Chart, this dialog will pop up and the selected link will be highlighted in the table.


The above image shows the Resources tab of the task edit dialog. Through this dialog resources can be added, modified or deleted. In this image the user has typed a “sfgh” into the Resource Name field. As there were no resources with the name “sfgh” a timeout dialog is shown to the user explaining that the search returned no results and showing how the search was performed [first=”” middle=”” last=””].

The resource name searches are case insensitive and there are a variety of ways to search. Example: “bob” would match “Bobby”

FFF just search first name

LLL, just search last name

LLL, FFF search last and first name

LLL, FFF MMM search last and first name and middle name

FFF LLL search first and last name

FFF LLL MMM search first and last name and middle name

<SP>II just search resource initials; Note: <SP> indicates white space entry

<SP>II<SP>I just search resource initials start and ends with; Note: <SP> indicates white space entry

? Return a dialog listing all resources.

The user can also type the key # of any task in the the ID column to add a resource.

The timeout dialog, shown in the above image, is an informational dialog and has a countdown timer which starts as soon as it is displayed. When the timer expires, reaches zero, the dialog goes away. If you want to hold the dialog, click on the countdown number to stop the countdown, double click on the number to dismiss the dialog.

This is the Options Dialog which allows the user to customize some aspects of the behavior and appearance of application.  There are four “tabs” on the dialog and each will be discussed below.

Gantt Tab: These are options to alter the appearance of the Gantt chart.

  • “Display Resource Schedules”: If selected, the schedules work time of resources assigned to the tasks will be displayed in the rows containing the tasks. Note: this is a computationally expensive operation and will cause a noticeable slow down of the painting of the chart.

  • “Display Current Date Line (Verticle)”: If selected, a purple vertical line will be drawn on the Gantt chart which corresponds to the current date and time of the computer on which the application is running.

  • “Display Non-work Day shading (Verticle)” : If selected whole days where there is not work time scheduled for the base schedule will be shaded gray. However, the header time line lower scale must be in whole day units or the shading will not appear.

  • “Display alternating row shading (Horizontal)”: This will place a light shading on alternating rows of both the table and the chart.

  • “Display Hard Links: [FS, FF, SF, SS]” If selected, these hard link types will be displayed on the Gantt Chart.

  • “Display Soft Links: [RU]” If selected, soft link types will be displayed on the Gantt Chart.

Schedule Tab: These are options to alter the appearance of the schedule chart.

  • “Render Tasks Assigned To Resources”: If selected, the tasks assigned to a resource will be drawn over the schedule of the resource on the chart.

  • “Display Current Date Line”: If selected, a purple vertical line will be drawn on the Schedule chart which corresponds to the current date and time of the computer on which the application is running.

  • “Display Non-work Day shading (Verticle)” : If selected whole days where there is not work time scheduled for the base schedule will be shaded gray. However, the header time line lower scale must be in whole day units or the shading will not appear.

  • “Display alternating row shading (Horizontal)”: This will place a light shading on alternating rows of both the table and the chart.

  • “Render Summary Takes Assigned To Resources”: If selected, summary tasks assigned to a resource will be drawn over the schedule of the resource on the chart.

  • “Render Time Segments Location:  If “CENTER” is chosen, the time segments for each resource will be drawn in the center of the row, tasks would be drawn over the time segments.  If “TOP” is selected, the time segments will be rendered above the tasks which are being displayed.

Resource Assignment Tab: These are options to alter the appearance of the schedule chart in the resource assignment dialog.

  • “Render Tasks Assigned To Resources”: If selected, the tasks assigned to a resource will be drawn over the schedule of the resource on the chart.

  • “Render Summary Takes Assigned To Resources”: If selected, summary tasks are drawn also. 

  • “Render Time Segments Location:  If “CENTER” is chosen, the time segments for each resource will be drawn in the center of the row, tasks would be drawn over the time segments.  If “TOP” is selected, the time segments will be rendered above the tasks which are being displayed.

Solver Tab: These are options relating to how the solver resolves constraints:

  • “Enable Resource Leveling”: If selected, tasks will be scheduled so that resources assigned to them are never over allocated.

  • “Super Solve”: This will force the solver to completely recalculate the schedule.  In most cases you won’t see anything happen, however if you load a project file which was not resource leveled, then push this button, you will likely see a lot of changes as the leveling is enforced.

  • “Clean-up Solve”: This will go through all pending model changes and solve them.  There should never be any pending model changes in the production version of the software so you should never see anything happen when this is pressed. This is mostly used for debugging during development.

FTE-Work Tab: These are options to define the work hours of a full time resource:

  • Hours per Day: This is the number of hours an FTE will work on a typical work day.

  • Days per Week: This is the number of full time work days an FTE will work in a typical week.

  • Weeks per Month: This is the number of full time work weeks an FTE will work in a typical month.

  • The values of “Hours per Week”, “Hours per Month” and “Hours per year” are displayed and updated on the panel to provide information to the user.

  • These FTE values are used in the Gantt Tree Table columns for Work and Span. If a task takes 24 hours of work, and the FTE works 8 hours per day, then a work column displayed in days will have a value of 3.0. 24.0/8.0 = 3.0.

Critical Tab: These are options which affect the calculation, criteria and display of critical tasks. See the document on “Critical Path Analysis”.




Copyright ©2002-2012 jxProject Company