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.
If you have any issues, create a new ticket.
Download the zipped source from here.
Note that the plugin is currently tied to MySQL. Updates to make it more database agnostic would be welcome. See #4243 - MySQL Testers needed''
Create table in database: (this is MySQL, sqlite version appreciated)
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`) );
For PostgreSQL 8.3, we created the table with:
CREATE TABLE team_availability ( username varchar(255) NOT NULL DEFAULT '', ondate date NOT NULL, availability float DEFAULT NULL, PRIMARY KEY (username,ondate) );
CREATE TABLE team_availability ( username text not null default '', ondate date not null default (datetime('now')), availability float default null, PRIMARY KEY (username,ondate) );
Under the hood
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 team_availability table in the database.
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.
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.
Add setup configuration to tag build with SVN version. Refs #9908.
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.