Version 2 (modified by anonymous, 5 years ago) (diff)


Team calendar


This plugin adds a new navigation tab, "Team calendar", that can be used to keep track of team availability in a project. The data is stored in the database, which means it can be used in reports and queries.

Bugs/Feature Requests

Existing bugs and feature requests for TeamCalendarPlugin are here.

If you have any issues, create a new ticket.


Download the zipped source from here.


You can check out TeamCalendarPlugin from here using Subversion, or browse the source with Trac.


This plugin adds a new tab, Team Calendar, to users with the TEAMCALENDAR_VIEW permission. This shows a simple tables with dates running down the rows and team members across the columns. Users with TEAMCALENDAR_UPDATE_OWN permissions can change the state of the tick boxes under their own name, and save the results. Users with TEAMCALENDAR_UPDATE_OTHERS permission can update everyone's.

The table is populated form the database, where the following table must be created:

	CREATE TABLE `team_availability` (
	  `username` varchar(255) NOT NULL DEFAULT '',
	  `ondate` date NOT NULL DEFAULT '0000-00-00',
	  `availability` float unsigned DEFAULT NULL,
	  PRIMARY KEY (`username`,`ondate`)

Note that the plugin is currently tied to MySQL. Updates to make it more database agnostic would be welcome.

The 'availability' column will contain 0 or 1 if populated through the GUI. It is left as a float to make it possible to store more granular availability, e.g. half-day, but there is no UI for this at present.

The calendar does not do anything more by itself. However, the team_availability table can be used in reports.

Recent Changes

[12272] by ChrisNelson on 2012-11-01 13:08:17
Try to address syntax error. Refs #9908.

There really doesn't seem to be anything wrong with the original but
this might make a difference.

[11434] by ChrisNelson on 2012-03-26 21:41:57
Add setup configuration to tag build with SVN version. Refs #9908.
[11207] by ChrisNelson on 2012-01-27 20:00:26
Allow configuration of normal work week. Refs #9735.

The original plugin assumed if there was no data in the database, that
no one was working.

With this change, that is still the default, but you can configure
work_days in the team-calendar section of trac.ini to a list of week
days that people usually work and that will be used if no data is in the
database. 0 is Monday so 0,1,2,3,4 is a "normal" Monday-Friday week
with Saturday and Sunday off.


Author: optilude