Overview: This document consists of information which applies
to the application including installation, versioning schema,
release notes, platform support and bugs/issues associated with this
release.
Gantt (Task Dependencies): The document covers all user
interface elements and dialogs associated with the Gantt Chart such
as task definition, task constraints, task links, resource
constraints, the global options dialog and printing.
Resource Scheduling: The document covers all user interface
elements and dialogs associated with Resource Scheduling such as the
relationships of resources and calendars, base schedule, default
resource and schedule customization.
Critical Path Analysis: The document explains the options and
configuration capabilities of the Critical Path and Critical Chain
capabilities of jxProject.
Date&Timeline Formatting: This document describes how to
use the Date Format dialog to define and assign date formats. Also
the time line format dialog is described for customizing the headers
of Gantt and Schedule charts.
Resource Leveling: This document describes what resource
leveling is and how it works in jxProject. It also discusses
how to alter the way that the project plan is leveled.
Critical Path: This document explains many of the terms
associated with critical path analysis and explains how to set up
these calculations and display the results.
Printing and HTML: This document describes how to print gantt
and schedule charts to a printer or to HTML/images.
Activation: This document describes the differences between
an activated version of jxProject and the free version. It documents
the activation process.
Sponsor Updating: This describes
the process that is used to do
the adverting including details on how the process works and what
information is being passed up to the server and down to the client.
Tasks assigned to the
default resource are now shown in the schedule view. You may drag
and drop tasks to and from the default resource. However, the
default resource cannot coexist with another resource on a task. If
the default resource is assigned to a task, it must be the only
resource assigned to the task.
The Schedule Editor
dialog, used for editing Resources and Calenders, has been rebuilt,
however, it is very much the same as the previous dialog. The reason
is to allow the easier addition of new capabilities going forward.
You can now turn on/off resource leveling on a single resource.
There is also a “run rate” or cost that can be set for
each resource. Although the run rate is not fully implemented
through the software at this time. Email and text messaging
addresses can be associated with each resource.
A new dialog, “Check
for Updates”, is available under the Help option of the menu
bar. This will check if there is a new version of jxProject
available. You can also set this to check for updates automatically
on a periodic basis.
There have been some
tweeks to where preferences are stored. Some settings like proxy
and last update check are specific to the installation of the
software and no longer mixed with settings such as resource leveling
which are specific to a project. These changes should not affect
the user.
Bug fixes in 2.7.1.2:
When a task is scheduled,
it cannot start until at least one of the assigned resources is
available to begin working on the task. However, a bug was
discovered that was allowing tasks to be scheduled before the
resource was available. This occurred when the resource was
scheduled to join the project several weeks after the project began.
Under Java 7, drag and
drop images were very faint and offset from the cursor. It is
difficult to support drag images for both Java 6 and Java 7, but ...
I have done it. When jxProject moves away from Java 6 and is
strictly on Java 7, the code will be cleaned up and the
implementation will be more robust. There will be one more release
after this that will support Java 6.
The jxProject launcher
for windows now allows users to utilize Java 7. There was a
restriction on Java 7 due to the drag image bug above. However,
Oracle is now pushing Java 7 for users and I needed to get this
fixed/supported.
Installation: It is best to refer to the download area of
the jxProject.com web site for instructions on installation. At
the bottom of the download page are common installation problems as
well as solutions to those problems. An automated installer/launcher
is available for download and is provided for Windows platforms.
Java 1.6 runtime environment must be installed on the computer and
can be installed before or after installing jxProject. There
are also files and instructions for manually installing jxProject
without the installer. Launch scripts in Windows (batch, vb script)
and Linux, Solaris, Mac OSX (bash scripts) are provided.
Platform support: The primary platforms of focus are
Windows and Linux as they both have excellent Java environments
provided by Oracle. I have never tried jxProject on a
Linux platform but I have heard reports that it works well. I
don't have access to a Mac, so I hesitate to declare the Mac as an
officially supported jxProject platform, however there are many
Mac/jxProject users out there so they must be having reasonable
success.
Version numbering: Elements of the version number are
defined as <MAJOR>.<MINOR>.<PATCH>.<SKEW>.
The version number significance works from left to right. The
values are always in the numeric range of (0 … 255)
inclusive. Each release of the product will have a higher
version number than the previous version, keeping in mind the order
of significance rule.
·
<MAJOR> Incremented for significant changes in product features
·
<MINOR> Incremented for minor feature changes and/or
significant bug fixes/performance improvements
·
<PATCH> Incremented for minor bug fixes/performance
improvements/documentation changes
·
<SKEW>Incremented for multiple public releases of the same
versioned product acting almost as a product build number. An
odd numbered skew indicates a non production (alpha or beta) release
of the product while an even numbered skew indicates a production
release of the product.
Sponsor
Panel: The sponsor panel appears in the upper right hand
corner of the main jxProject window. It scrolls through a list
of images/ads every few seconds as the application is running.
Double clicking on the image will initiate a web browser and take you
to the sponsor’s site. Information about advertising with
jxProject can be obtained in the services section of jxProject.com.
Known Bugs/Issues:
ISSUE: If you have finish constraints on
two or more summary tasks, you could get slightly inconsistent
scheduling results if a summary task with a finish constraint (task
A) directly impacts the scheduling of another summary task which
also has a finish constraint (task B) and that the scheduling of
task B also impacts the scheduled finish time of task A. I should
put in a picture to describe how to create/avoid this situation. It
is rare that finish constraints are used on summary tasks, and even
more rare that they would be configured in this way, therefore I've
decided to postpone the resolution of this issue to focus on issues
which affect more users.
Bug:
Cannot uninstall jxProject; java.lang.UnsatisfiedLinkError:
com.zerog.ia.platform.Sys.getSpecialFolderJNI
This problem occurs during uninstall on Windows
platforms when installed against Java 1.6. This is a problem with
the zerog, InstallAnywhere installer which is incompatible with Java
1.6. InstallAnywhere is no longer being used by jxProject as of
10-Aug-2007. For those users that are affected by this uninstall
bug, a procedure for removing the application has been published
under the “Problems and Solutions” section of the user
documentation of jxProject.com.
BUG: JVM crash during print: You should
always save your file before printing! I have seen the JVM
crash suddenly when printing large jobs (over 50 pages). I
haven’t worked with this enough to know what might be causing
it but it is something in Sun’s code or perhaps the print
driver I was using. Phil Race at Oracle contacted me about this bug
and we exchanged several emails. UPDATE: Sun has identified and
corrected several problems regarding printing and fonts in Java 5.0
update 11, which resolves this problem.
Bug
ID: 4265778 Java2D incorrectly renders objects with large
coordinates: This
is Sun’s bug affects the print preview when the number of
pages is greater than 20 along a row or column. You will see
inconsistent or blotchy rendering in the print preview as you scroll
away from the top left of the print preview page. This does
not impact the actual printing, but it does make the print preview
look a little screwy.
Release Notes History:
New features in 2.7.0.2:
Critical path
capabilities such as, early start, early finish, late start, late
finish, start float and finish float have been added along with many
options to customize the calculation parameters for these values.
The early/late – start/finish values can be displayed
graphically on the Gantt chart.
The Option dialog has a
new “Critical” panel that allows the user set various
criteria for identifying tasks as critical. The tasks identified as
critical are displayed graphically on the Gantt and Schedule charts.
A button has been added
to the upper tool bar to allow one-click access to the options
dialog.
The options and
table/chart settings are now saved inside each project file when the
project is saved. This ensures that when the file is opened later,
or by another user, that the options and view settings are in the
same state as when the file was saved.
When the user sets a
start date for a task, and that date is earlier than the project
start date, then the project start date is automatically moved back
to the same date.
On the Gantt Chart, you
may select the resource(s) name, and then drag and drop the
resource(s) onto another task to move/add the resource(s).
When a new project is
started, a resource named “myself” is automatically
added to the project and all tasks added to the project will
automatically have “myself” assigned to the task. The
“myself” resource can be edited to reflect the name of
an actual resource and the auto assign of the resource to tasks can
be changed via the new “assigning resource” capability.
The user may now
designate any resource in the project as the “assigning
resource”. The “assigning resource” is
automatically added to any newly defined task.
A file logging facility
and accompanying dialog has been added under the Help option on the
menu bar.
Bug fixes in 2.7.0.2:
When a task is scheduled,
it cannot start until at least one of the assigned resources is
available to begin working on the task. However, a bug was
discovered in that duration driven tasks with finish constraints on
them, were being allowed to start without an available resource.
This has been fixed.
New features in 2.6.1.2:
The ability to drag and
drop data from jxProject to other applications. For example, drag
and drop from the Gantt table to/from a spreadsheet.
The ability to drag/drop
tasks from the Gantt table/chart onto the Schedule table/chart; and
the ability to drag/drop resources from the schedule table/chart
onto the Gantt table/chart.
The ability select and
drag tasks to alter their duration on both the Gantt and Schedule
charts. Cursor changes provide visual user feedback. Data panels,
indicating the new values of duration/work follow the cursor as
these changes are made. Similar functionality is implemented for
altering the lag of task links/dependencies.
The task edit dialog can
be initiated on the schedule chart by double clicking a task on the
schedule chart. The schedule edit dialog can be initiated on the
schedule chart by double clicking on a vacant area of the
resource/calendar row.
The row height and
time-line settings of the schedule chart and resource dialog are
maintained and restored as the dialog/window is opened and closed.
The Indent and out-dent
of tree table hot keys has been changed to Alt-Shift-Right arrow and
Alt-Shift-Left arrow.
Bug fixes in 2.6.1.2:
An undetected circular
constraint violation was discovered during testing and has been
fixed. This bug would have significant impact on the user if they
encountered this defect. Upgrading is highly recommended.
New features in 2.5.2.4:
The activation
authentication now accepts the user id, or the users home directory.
This is to better support users with roaming profiles.
The Ra- rank adjustment
tool for resource leveling has been changed to make it more
intuitive for users. Only tasks which are scheduled to occur at or
after the start time of the successor task and have rank values less
than the predecessor task are moved higher in rank during this
operation. The effect is to move only those tasks that need to be
moved to accomplish what the user wants. This should be more
intuitive.
The expiration date of
the software has been eliminated for production releases. Only beta
software will have an expiration.
Bug fixes in 2.5.2.4:
For windows users, the
file open/save dialog always defaults to the users personal “My
Documents” folder instead of the user home directory.
For windows users, the
application preferences are now stored in the AppData folder, rather
than the users home directory. This is to better support users with
roaming profiles.
The “file not
found” error was being presented to the user as an application
exception, which scared some users. So it is a more friendly error
message now.
New features in 2.5.0.10:
The “Load Example”
button was removed from the upper tool bar. The example project
plans are now accessed from the Help pull down menu on the Menu Bar.
Bug fixes in 2.5.0.10:
For some versions of Java
the version number was not being parsed correctly causing some users
to see an exception when opening or saving files.
New features in 2.5.0.8:
None.
Bug fixes in 2.5.0.8:
Problem: Java 1.6.0_02 on
the Windows platform has a problem which can cause the application
to freeze for up to several minutes when the user attempts to open
or save a file. This issue is specific to the file dialog and zip
files in the directories. Fix: An alternate dialog for selecting
files to open/save files has been implemented for Windows users on
the problem Java platform.
New features in 2.5.0.6:
For the Windows platform
the installer/uninstaller has been upgraded to use Inno Setup. Also,
a new launcher has been implemented using Launch4j. The result is
better integration with desktop; a faster and more reliable
install/uninstall and smaller download size.
Bug fixes in 2.5.0.6:
The optimizer was not
performing as designed in some situations which resulted in tasks
moving forward in the project plan instead of moving backwards. This
sometimes resulted in an optimization going back and forth
subsequently undoing the previous optimization and then coming back
and doing the same incorrect optimization again on the next attempt
by the user. A very frustrating experience I'm sure. There were a
combination of 4 bugs identified and fixed that were creating these
problems; all of which have been fixed. Please send an email to
support@jxProject.com if
you see inconsistent or odd behavior from the optimizer.
New features in 2.5.2.4:
A dialog for editing task
properties such as dependencies, lag, drivers, duration, work,
notes. There are string search abilities for dependencies and
resource assignment.
The ability to associate
and edit a positive or negative lag between links.
A file history dialog for
accessing the past 50 files opened or saved. The last four files
appear on the file pull down menu.
The ability to select and
drag/drop tasks on the Gantt chart to alter the duration.
The ability to select and
drag/drop task dependencies on the Gantt chart such as links and
arbitrary constraints.
The addition of two new
arbitrary constraints, must-start-before and must-finish-before.
Comments can now be
associated with arbitrary constraints.
A “pop-up”
context menu on the Gantt chart giving access to relevant dialogs
and insertion of arbitrary constraints.
New columns on the Gantt
Table: Work Breakdown Structure numbers (WBS), Info, Priority,
Notes.
The ability to “flash”
a graphical schedule for resources on a single task row in the Gantt
chart via context menu.
The ability to control
the visibility of columns for the Gantt and Schedule tables via
dialog.
The addition of
accelerator keys to select table rows/columns; activate context
menus; indent and outdent.
Bug fixes in 2.5.2.4:
The mouse wheel
pan/scroll was sometimes being activated using the alt key, not any
more. (Fixed)
The timeline format
dialog could throw exceptions if null values were pasted into it.
(Fixed)
In some valid situations,
indentations of tasks or drag/drop of tasks were being disallowed
due to circular constraint violations. (Fixed)
New features in 2.4.0.2:
Cut/Copy/Paste has been
added to all tables in jxProject. Tables with multiple row selection
capability also have “fill up” and “fill down”
capabilities. Standard accelerator keys are implemented.
Context menus (popup
menus) have been implemented for all tables and are available via
right clicking (popup gesture) on the tables. The menus have
standard menu options depending on editing capabilities for the
table.
If the user clicks the
middle mouse button on a component that is within a scroll pane, a
pan/scroll image will appear and the window will scroll as the user
moves the mouse. This is similar functionality to that available in
popular web browsers.
Full Time Equivalent
(FTE) work hours. This concept has been integrated into jxProject
and the values user customizable via the FTE panel in the
Tools->Options dialog. FTE hours are now factored into the Gantt
table so work and span hours are displayed and edited as FTE values.
Automatic Table column
resizing has been implemented. Double click on the right table
column header separator to have the column resize to show the full
values in each table cell for the column. This functionality is
standard for software spreadsheets and expected by the user.
Bug fixes in 2.4.0.2:
The mouse wheel on the
Gantt and Schedule tables were scrolling horizontally, it now
scrolls vertically as the user expects. (Fixed)
The Gantt chart is now
properly sized so trailing text on the tasks is not truncated.
(Fixed)
Scheduling rules were
being deleted from the Resource/Calendar during undo/redo operation
“set as base calendar”. (Fixed)
Some users were dragging
slowly and getting inconsistent results when attempting to
drag/assign resources. The mouse drag gesture recognizer now has an
increased amount of time to recognize the drag. (Fixed)
The main project window
title had a problem where spaces in the file name had the characters
“%20” inserted. Filename spaces now appear as spaces in
the window title. (Fixed)
The links on the Gantt
chart would sometimes be one pixel forward or down from the task
they were connecting from. This was a pixel rounding error. (Fixed)
New features in 2.3.0.2:
Alternate shading of
table rows to help guide users eyes across the page.
Standard accelerator keys
for undo/redo(cntrl -Z) file save (Cntrl+S) ...
Customizable date formats
for start and finish times via pop up dialog.
Customizable TimeLine
formats using custom date formats via pop up dialog. TimeLine
automatically implements appropriate format based on the scale of
the time line when the user is stretching or compressing the
timeline.
Work fields can be
specified down to the minute while duration can be specified down to
1/10th of a second.
Resources can be added
“on the fly” through the Schedule table or directly in
the resource assignment dialog by typing in the name of the new
resource directly into the table.
The rule scheduling
dialog now uses AM/PM time instead of 24 hour time.
Arbitrary constraints
such as “start after” and “finish after” can
be inserted and edited directly on the Gantt chart using accelerator
keys (Cntrl- left mouse button) for “start after” and
(Cntrl- right mouse button) for finish after.
When new tasks are
inserted, the default duration is the same as the value of the
duration column units in the table.
The last names of
assigned resources are now displayed on the Gantt chart.
Bug fixes in 2.3.0.2:
Undo/Redo for arbitrary
constraints is now implemented. (Fixed)
Print preview was not
working when the root node had a blank name. (Fixed)
Divide by zero exception
during optimization due to tasks with zero duration. (Fixed)
Tasks were being
scheduled in the next day for resources that were in far western
time zones and had work schedules that were late into the evening.
(Fixed)
The Options dialog
checkbox for rendering tasks on the schedule chart was not
repainting the chart after the user had changed the selection.
(Fixed)
The TreeTable “focus”
was not behaving correctly; setting up a new project required the
user to click the task name cell every time. The behavior is more
natural now, the user can type in a task name, hit return, and type
in the next task name.
Another “focus”
related problem was that the rows selected in the TreeTable would be
cleared whenever a change was made, even if it did not affect the
table. This has been corrected and rows/cells will remain selected
unless there is a significant change to the table.
Undo/Redo now results in
the TreeTable rows being selected after an undo/redo which involves
inserting or moving rows. This gives the user much better feedback
as to what is happening.
The [Ra+] links were not
exhibiting consistent rank altering behavior in situations involving
summary tasks.
New projects used to say
“New Project” in the top row, now it is blank.
The rank of a task now
looks something like: 22 – 17 > 8. This is interpreted as
follows: The rank is 22, the rank can be reduced to 17 without
impacting predecessors of the task, and the absolute minimum rank of
the task is 8. The rank can now be edited directly by the user. The
rank determines the priority in which resources are assigned to
tasks during resource leveling.
A resource optimizer was
added that performs a resource optimization operation with the push
of a button. It identifies gaps in the resource schedules and alters
the rank of the task to reschedule it into the gaps. Keep pushing
the button and more optimization is done and the project plan
shrinks. The free version gets 10 optimizations, the activated
version has unlimited optimization.
A new kind of task to
task link has been added called an RU link. RU stands for resource
user. This link is a soft link, it only affects the calculation of
the task rank, allowing the user to control the rank priorities
without having to insert a hard link dependency link. This also
keeps the optimizer from moving tasks that the user does not want
moved as part of the optimization operation.
A couple of pseudo task
links have been added called Ra+ and Ra-. They allow the user to
alter the rank of a task relative to another task in a similar
manner as link creation.
Full undo and redo
support was added for all changes to tasks, links, resources and
calendars. The free version supports an undo/redo stack of 10, the
activated version supports an undo/redo stack of 50.
Bug fixes in 2.2.0.2:
There is a bug in Sun's
JVM that does not allow the printer to be selected from the page
setup dialog. A new button was added to the print preview
specifically for printer selection.
When saving a project
plan as images, if there was a “.” in the path name
where the html file was being saved, the supporting images would be
saved into the wrong directory.
The addition of “span”
column in the Gantt task table. This complements the “work”
and “duration” columns giving the user another option
for driving the scheduling of a task. A span driven task will be
scheduled over the work time of the first assigned resource on the
task. This kind of task driver would typically be used for meetings.
The addition of a line
(purple) which runs the full height of the Gantt and Schedule charts
indicating the current time. It is on by default but can be turned
off by the user in the options dialog.
The ability to write turn
off the scrolling advertising by activating the software.
Bug fixes in 2.0.0.2:
On windows systems the
users home, as reported by Java, is sometimes incorrect. So, on
windows, the USERPROFILE environment variable will be used, if it is
not available, then the Java System.getProperty(“user.home”)
will be used.
Files created under all previous releases of jxProject can be read
directly into the 2.0.0.2 version. The 2.0.0.2 release is
scheduled to expire on December 31, 2005.
The ability to write out
jxProject tasks and resource schedules as HTML and images.
Added a pop-up menu to
the tree table cell which allows the user to expand/collapse one or
all child/descendant nodes.
Added the software
expiration date to the splash screen and Help-> about screen.
Added the jxProject
version number to the exception dialog.
Bug fixes in 1.2.0.2:
An exception was being thrown for some
paper types when they were set as the default printer. An example
was “tabloid”.
A flag:
“-Dsun.java2d.noddraw=true” was added to the jxProject
launcher to disable the use of direct draw on microsoft platforms.
Some video cards to not properly support direct draw and I don't
think it helps anything anyway.
Added flags: “-Xms30m
-Xmx70m” to increase the initial memory and maximum memory
used by jxProject. This looks to have improved the startup time a
little bit.
Files created under all previous releases of jxProject can be read
directly into the 1.2.0.2 version. The 1.2.0.2 release is
scheduled to expire on January 1, 2005.
Improvement in the
accuracy and performance of task finish constraints.
Reduction of print file
sizes by reducing color complexity of charts. A print file that used
to be 500MB is now about 1MB.
The ability to import and
export jxProject compliant XML.
Improved the drag and
drop interaction by changing the cursor during the drag operation.
Also added the ability to move, copy or link tasks and resources
using cntrl and alt keys.
The ability to add one or
more resources to one or more tasks with a single drag and drop.
Bug fixes in 1.1.0.2:
An exception was being thrown for
project plans with more than 100 tasks.
If a resource had only
one assigned task, that single task was not being shown in the
schedule view.
Support for proxies,
transparent or authenticating and Socks. The Jakarta HTTPClient
package is used.
A more explanatory dialog
is presented to the user when attempting to run jxProject where the
user's home directory is not writable.
An “edit”
option was added to the pop-up context menu in the Schedule view for
Schedule nodes.
Bug fixes in 1.0.1.2:
Uncaught Exception dialog was
reporting some exceptions to the user that were not serious
problems. These include attempting to link a null task or indent a
null task.
The options dialog now
appears below the “Tools” menu item.
Fixed spelling errors in
the Options dialog.
Support for changing the
look and feel of the application was removed. It was the source of
several bugs. The standard Java “Metal” look and feel is
all that is supported.
The Update Advertisements
dialog displays “Never” for the last update date if the
ads have never been updated.
The creation of the
.jxProject directory under the user's home directory to store the
application state such as user preferences and advertising images.
Increased the sponsor
window size to 468x80 to accommodate standard banner sizes.
Information can be exchanged between
the application and www.jxproject.com
to support advertising. Updating of advertisements occurs in a
separate thread, under the users control.
·
Ability to select paper size/orientation and printer via a print
dialog.
·
Printing of tables and charts breaks on column and row boundaries so
they are not cut in the middle on a page.
·
Targeted printer shows up as a “tool tip” over print and
setup buttons.
Bug fixes in 0.8.1.1:
·
Tables sometimes overlapped each other when printing, not any more.
·
Very rare lockups in print preview layout should be gone. I
never found this bug but the architecture is much better and less
likely to produce this kind of problem.
·
Returning from Schedule Edit dialog would incorrectly set the row
height of the Schedule view when the dialog was closed.
·
The addition of an “Options” dialog which allows
the user to customize the jxProject environment such as resource
leveling and rendering options for Schedule and Gantt charts.
·
Resource Leveling is enabled by default and tasks will always
be scheduled to prevent over allocation. It is impossible to
over allocate resources when this is enabled.
·
The scheduled work times of resources assigned to tasks can be
displayed on the Gantt chart.
·
The tasks assigned to resources can be displayed on the
Schedule Chart.
·
Task “Work” and “Duration” can be
displayed in units of hours, days, weeks, months or years.
·
The user can drag to reset the row height of the tree table.
·
Resources can now be partially assigned to tasks.
·
Toolbar buttons were added to allow switching between schedule
and Gantt views.
·
The new table column, “Rank”, was added to assist
in resource leveling
Changes in 0.8.0.1:
·
In the previous version you could change the chart header
width properties by dragging on the chart header with the left mouse
button. This has been changed to shift+right mouse button drag.
·
Resource Leveling is enabled by default, if you load a
previous project plan and make a constraint change, you could see
things move around quite a bit as the solver performs the leveling.
Bug fixes in 0.8.0.1:
·
Array sort was not sorting the last element in the array.