The jaret calendar is an eclipse plugin using the jaret timebars showing
a google(tm) calendar synchronized to the local eclipse or rcp. An additional view shows a classical gantt view of the
configured calendars and (optional) of mylyn tasks present. Additionally a very simple locally saved calendar is shown.
If you like you can comment and rate the jaret calendar at
Eclipse Plugin Central.
IMPORTANT / License
The development is experiemental (reflected by the version number!) This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The plugin is tested, but there is no guarantee
that your calendar data will not be harmed! If you use the plugin you do so on your own risk!
It is not sure whether this plugin gets *really* completed. It is published in the hope that it might be useful for someone in some sense.
If someone is interested in contributing to the development: contact me at firstname.lastname@example.org. You might also report bugs to this mail adress.
The jaret calendar plugin is licensed under the GPL (GNU Public license) with a link exception allowing the use with other freely available code under
several licenses. If someone is interested in another license (i.e. for a commercial use) for the plugin, feel free to contact me.
Please note that the plugin contains parts licensed under other licenses:
the google gdata api for java (Apache License), version 1.14
the jaret timebars component that is licensed under the GPL with a link exception allowing the use with freely available EPL code.
For the detailed licensing of the timebars component see the components page
other jaret components licensed under the CPL (Common Public License)
2008-03-30: (V 0.0.2): added the month view
2007-12-27 (V 0.0.1): initial public release
Architecture, Installation, Tips
The jaret calendar plugin itself contributes two extension points for defining calendar providers and gantt providers. The google calendar provider
acts as a calendar provider and a gantt provider while the mylyn adapter (see below) is a gantt provider only. The simple local calender is
a calendar and gantt provider with a simple local storage.
The plugin has been developed using eclipse 3.3 and Mylyn 2.1. It has been tested on Win XP only, but should work on other platforms as well.
The google client APIs do need the activation framework for java. This is included in the base JDK since Java 6. So the prerequisite to use the plugin is either
using Java 6 or downloading the activation framework (http://java.sun.com/products/javabeans/jaf/downloads/index.html), wrap it as a plugin and add the dependencies
for the gdata plugin (basically this means: build it yourself from source, chnage the prerequisites in the plugin).
(It's far better to switch to Java 6 of course, if you can!)
To install the plugin simply copy the contents of the supplied binary zip(s) in your eclipse plugin directory. After starting check the preferences
for the jaret calendar and configure your google calendars. You get the feed url by looking at the properties of the calendar via it's web interface.
Use the private feed URL. The link provided ends with "/basic" which you should alter to "/full". IMPORTANT: remove the magic token. This is the hexadecimal
crap after "private" (".../private-156119a3ccaaea460390fc37a510846c/basic" -> ".../private/full").
Now you can open the jaret calendar view (--> open view). If you are behind a http proxy you might also want to check your general eclipse proxy settings!
Please note that the preferences will be used once to build the connection. So the effect of changes becomes visible after restarting eclipse
Changes made to appointments will be saved with the "synchronize" button in the toolbar of the calendar view. This will also save changes made to appointments in
the gantt view. A synchronization will also be done when a date is selected in the calendar month panel.
Use the box in the upper right corner to drag appointments from one day to another day
Use ctrl+mouse wheel to zoom in and out
Some preferences explained:
Time beetween synchronizations: The plugin requests synchronizations whenever a date is changed in the month panel. The requests will
only be performed after the specified time (minutes). Operating the "synchronize" button will force an immediate complete synchronization
Compress non-working times: If activated the non working time will be scaled different from the working time.
A special option for the google calendar provider allows tracking of all update operations (can be deactivated when first displayed as a popup)
If you are using mylyn for organizing your tasks you can add the mylyn gantt provider to include your tasks in the
gantt view of the jaret calendar. Things to notice:
the sorting order of the tasks is *random*. Need to check how mylyn sorts the tasks and categories.
the milestones in the gantt view can be dragged and can be activated/deactivated in the gantt preferences
tasks are simply shown at their scheduled starttime durating the estimated time. (I might add a projection using the defined work time
in the initial release (0.0.1) only local tasks are displayed (might be extended to repository tasks in the future)
Limitations and shortcomings
There are some limitations listed right here:
recurring events from the google calendar are read-only
the editable fields for the google calendar are the bare minimum
some changes to preferences and connections are only taken into account after restarting the workbench
dragging of appointments that span a whole day or more than a day is not possible
the plugin has a poor error handling ... some errors will be logged in the eclipse log
coding has been done quite quick and has not been completed - some parts are a bit messy
Zip containing the base calendar plugin jars including the google calendar synchronizer ready build to be included
in eclipse 3.3 (copy jars to the plugin directory). The source for
the calendar plugins (base, gc, slc) is included. The source for the other components can be found at
http://jaret.de. If you do not need the google calendar integration you can simply delete the
Zip containing the mylyn gantt provider for the jaret calendar (depends on the base). Source is included in the plugin.
jaret calendar view
jaret calendar view, month view
coresponding google calendar
gantt view including mylyn tasks