ganttview
| resources: | Home Features Release Notes Localization Installation Source Code Mailing List Members Bugs Screenshots |
|---|
Gantt View Extension for Sunbird/Lightning
A Gantt Chart view for Sunbird/Lightning (I'll refer to both as "SB"). It is built from the same core components as the standard views and is generally designed to integrate seamlessly with the existing views and controls.
Latest Release: 1.0.0.2. View release notes here.
Installation:
The latest fully reviewed release can be installed from addons.mozilla.org.Legacy versions and new releases pending full review can be installed from the Version History Page.
Features:
- Selectable visible date range up to 2 years.
- Intuitive Item selection, Drag/Drop, and view panning
- Select multiple events by dragging with a left-click
- All selected events manipulated in the same way when one is dragged
- Pan view with Middle-click
- View will auto-scroll when cursor is near an edge while dragging or panning. This is configurable in the preferences.
- When clicking on an event header (at the left side of
the view), the view will automatically scroll to the start of that
event.
- Optional progress bar displays on Tasks and Events (Event progress is determined by current time)
- Quickly create a week-long or month-long event by double-clicking the week or month header
- Completed tasks and events shown with strikethrough
- "Completed" checkbox icons on tasks in view
- Uses prefs such as "Hide Days Off" and "First Day Of Week" from main calendar options.
- Group by Calendar option with toolbar button
- Title Ordinal Override - Ordinal numbers at the start of an event/task title can override automatic chronological ordering.
- Current Day, Week, and Month highlighted.
- Localizable
History
I had developed a working version with Sunbird 0.2 back in 2005, but in that version of SB there wasn't a good way to integrate additional views as extensions.
SB 0.3 provided this, but the move to XBL views meant a complete rewrite, and meant that I had to learn XBL and decipher the various common view functions. I stopped working on it for a while, but picked it up again after SB 0.7 was released.
Since then I have managed to get it working with the features listed above, and have spent a lot of my scarce development time keeping up with Lightning beta releases. I think it's mature enough at this point to unleash upon the world without screwing up everybody's calendars.
Version Numbers
This extension uses a major.minor[.build[.revision]] scheme for versioning.
Compatibility
Gantt View is currently compatible with Thunderbird 9.0/ Lightning 1.0, and backwards compatible to Thunderbird 3.0 and even Sunbird 1.0b1. Mozilla's compatibility checker will automatically update the compatibility for new releases of Thunderbird
I have only tested this on XP32 and Mac OS X, so please let me know if you experience problems on other OS's. I have tried to assume nothing about details like scrollbar widths, and calculate most of this as the view is refreshed or use units such as "em" to size elements.Known Issues
This extension is generally stable, although it has not been
widely used until recently. Please file a bug if you come
across any problems.
- Refresh can be slow with a large date range visible, and
there is currently no hourglass or progress bar to indicate the refresh
status.
- May change durations of events when dragging beyond start or end of view with days off hidden - I think this requires odd circumstances to happen - like days off on various days throughout the week and events of a certain initial duration. This should be rare if it still happens at all. Please file a bug if you see this and can identify the particular circumstances required to replicate it.
Planned Features
- Hourglass cursor and progress bar during refresh - I have some code in there to do this, but it doesn't work yet.
- More User Prefs - Assignable mouse buttons, format/hide
dates on event headers
- Drag task progressbar to set % Complete - Probably with a
modifier key or assignable to a mouse button. (note - event progress is
determined by time elapsed)
- "Draw" tool to create a new task/event just by dragging.
- Clearer indication when an event/task is truncated beyond start or end of view. The other views have something like a "<->" to show that an event continues to the previous/next day.
- Zoom Levels on time axis - each column could be an hour, day, week, month, year, etc.
- Task/Event Dependencies - Task B can't start until Task A
is finished, etc. This would turn GanttView into something
resembling a real project management interface (like M$
Project). This probably requires new fields in saved
Tasks/Events on the calendars.
- Resource management - alternate view with events grouped by resources (attendees). I'll wait until all of the invitation stuff settles down on the trunk before looking into this.
- Summary/Parent events - Again, like M$ Project - this is
tricky since it means I need to learn how to work with a tree element
for the event headers and make some decisions on formatting and
layout. It probably also requires additional fields.
- Printing - I haven't looked into how to print this
view. I'm guessing that it's simple to implement but a
nightmare to format.
Bug Reporting/Testing
- Please hammer on this and report any bugs or feature
requests using bugzilla.
- I am especially interested in how it works on other operating systems, since I have only tested on XP32 and OS X. One of these days I'll get around to setting up a linux box...
Localization
Locales currently supported: en-US, sv-SE, ja-JP
If you would like to create a localization, please use Babelzilla.
Credits
This is my first real Mozilla project, so I'm a little fuzzy
on the
etiquitte here...
Since I have based this on other SB and Lightning views going back to
0.2, I have listed as
contributors every name that I could find on the various pieces of code
that
I've referenced or reused. Please contact me if I have left
someone out or
mistakenly included someone who doesn't want to be associated with my
sloppy
code!
Other Projects
In addition to supporting and continuing to develop Gantt View, I am currently working on a related extension which will integrate cost budgeting, forecasting, and tracking into Lightning. Some of the data storage techniques I'm using for this extension will be useful in implementing a few of the planned features in Gantt View.Band
Tino D is the official band of Gantt View! OK, so it's actually just my band, and it's been a few years since we played together (I've been spending all of my free time developing Gantt View instead, of course). We have an album available for free download - so use Gantt View to schedule some free time to check it out.