Tuesday, September 15, 2009

GanttProject 2.0.10 is released.

GanttProject 2.0.10 is finally here. It is a relatively big update which fixes a few important bugs (e.g. it makes "Critical Path" feature working), adds an option to create rubber dependencies by default and adds an experimental iText-based PDF export.

Installer for Windows, package for Mac OSX, platform-independent ZIP archive and source code are available on our downloads page on Google Code Hosting. Web Start edition and other updates will follow soon.

Enjoy the new GanttProject!

GanttProject 2.0.10: create rubber dependencies by default

A small new feature in GanttProject 2.0.10 is an option to set rubber dependencies by default. It sits in "Link" group of Gantt chart settings.

Just in case if you didn't know what rubber dependencies are: when two tasks are linked with, say, Finish-Start dependency, then you have two options of how moving a predecessor task affects a successor task:
  • If your dependency is Strong then successor's start date will always be the same as predecessor's end date, provided that there are no other constraints. When you move the predecessor, no matter backward or forward, the successor will also move in the same direction. You may think that your tasks are linked with a metal pipe.
  • If you have a Rubber dependency then the successor will not move unless it really has to. In particular, it will not move backward in the time if predecessor moves backwards. You may think that this link is a rubber band.
Dependency hardness can be changed in dependency properties (tab "Dependencies" of a successor task properties). GanttProject created strong dependencies by default and many people who preferred rubber links didn't like changing properties of every new one. Now it can be configured just once.

Saturday, September 5, 2009

GanttProject 2.0.10 Release Candidate

The third build of GantProject 2.0.10 fixes a few bugs, including numerous critical path  problems, and improves iText export output and the UI of the export wizard. Give it a try, report any regression problems. It is a release candidate  build which I plan to release in a few days.

Tuesday, July 28, 2009

Critical path gets revamped

Critical path, one of the most essential features in a project planning software, was announced a few years ago as a new feature of GanttProject. However, it has never worked properly. Here is how GanttProject 2.0.8 calculates the critical path in HouseBuildingSample project (critical tasks are in red):

The critical path is obviously wrong. Construction phase supertask is a chain of the critical path but its subtask are not included. Foundation building is a successor of Architectural design subtasks with no float, so they also should've been included in the critical path.
Working on new iText based PDF export I recently opened in my text editor the code of critical path algorithm implementation. Sighed and removed it completely. Spent a few evenings on the new implementation which would take into account supertasks, dependency lags, different kinds of dependencies, etc. Wrote a number of unit tests. As a result, here is how GanttProject 2.0.10 renders HouseBuildingSample critical path (critical tasks are red and textured):


The release candidate build of GP 2.0.10 is about to be published. Stay tuned!

Sunday, July 5, 2009

Export to PDF with iText

It is important to be able to export project data to some pritable format. PDF export feature appeared in GanttProject at the very early days, and it is one of the most popular features in our product. However, there is a number of problems with PDF export implementation in GP. The most important is probably this landscape export bug which is difficult to reproduce yet is really annoying when it appears. It is a bug in Apache FOP library which GP uses for PDF renderig and which had no updates for years.

A few weeks ago I started playing with iText library and the second build of GanttProject 2.0.10 which was published on Friday includes an experimental plugin which exports to PDF using iText. My opinion is that it is just better than our traditional PDFexport. It is faster, it produces more visually appealing documents, it allows for scalable graphics rendering, and it doesn't suffer from that "No meaningful layout" problem in landscape mode (which is now default). Besides, now you can choose document page format and substitute fonts if you don't have those specified in iText export theme.


I plan to work on iText based export a little bit more and ship its beta version with GanttProject 2.0.10 in addition to FOP based. After that, its development will continue in Loire code where it will replace FOP export completely.

Thursday, June 4, 2009

Fix for Polish translation

In the last releases of GanttProject (starting from GP 2.0.7) Polish translation was broken . Choosing "Polski" in the language settings didn't work and even manual editing of the options file didn't help. The reason was one missing character in the translation file.

The fix was submitted to our SVN repository on Google Code Hosting and will be included into GP 2.0.10. If you don't want to wait until 2.0.10, just open  

$GP_HOME/plugins/net.sourceforge.ganttproject_2.0.0/data/resources/language/i18n_pl.properties

in any text editor ($GP_HOME is a directory where GanttProject is installed on your machine), find  

refresh=Od\u015bwie\u017

and append 'c' at the end of that line, so that it becomes

refresh=Od\u015bwie\u017c

Thursday, May 14, 2009

SourceForge.net Community Choice Awards

SourceForge started the 4th Community Choice Awards contest. You can nominate GanttProject clicking this image: