Plugins Directory » That Meeting

25461 Author: Ty Roden
Website: https://github.com/thatcompany/that_meeting
Code repository: https://github.com/thatcompany/that_meeting
Registered on: 2020-05-21 (7 months ago)
Current version: 0.0.1
Compatible with: Redmine 4.1.x, 4.0.x, 3.4.x
User ratings:   (0)

This plugin allows Redmine issues to act as iCalendar events (i.e., implements iTIP and iMIP support for Redmine). Create issues using the event tracker, that you define, and Redmine will send out calendar meetings / events as you would with any calendar software. Events no longer need to be created outside of Redmine and all communication related to the events stays within Redmine for ease of reference. Due to the nature of the iCalendar protocols this functionality relies on Redmine's email integration (notifications and receiving), which, therefore, must be configured for the plugin to work.

When the plugin is enabled (for the issue tracker), an issue creation email notification becomes an event invitation. Then, when email clients, that support iCalendar (such as Google Mail, Thunderbird, Outlook), receive the email, they will render it as an event allowing recipients to add the event to their calendar and respond to the invitation (accept - tentatively, if not sure - or decline). The response is then sent back to Redmine and handled by the plugin (if Redmine's email receiving is properly configured). In this way, user responses are added to the issue history and shown on the sidebar:

As you can see on this screenshot, if the meeting functionality is enabled for the issue tracker, the issue's watchers are treated as attendees.

When an issue acts as an iCalendar event, any modification to the issue related to the event (e.g., change of the start date) sends the updated iCalendar information to all attendees (watchers). In this way, all attendees will automatically have the updated event in their calendars.

The plugin supports all of the basic scheduling and recurrence settings, that are supported by major calendar software. These include:

  • Start time and end time or duration (issue's estimated time)
  • Daily, weekly, monthly and yearly recurrence types
  • Month-day based (e.g., on October 31) or weekday based (e.g., on last Thursday) scheduling
  • Interval (i.e., every Nth occurrence)
  • Event can be repeated N times or until an end date

Additionally, the plugin comes with the following features:

  • Events' Start time, End time and Repeat can be shown in the issues list (a.k.a., the issue query)
  • Issues, for which the iCalendar functionality is enabled, can be exported in ICS

The following things are incomplete or may not work as expected:

  • Currently, only the first occurrence of the event is shown in the Redmine calendar
  • Some iCalendar clients (such as Google Calendar) allow to propose new time for events (so called COUNTER requests) - this is not currently supported by That Meeting plugin (when it receives such a request, it automatically sends DECLINECOUNTER in response)
  • If issue start and due date attributes are configured to be set automatically depending on their values in subtasks (in Administration - Settings - Issue tracking - Parent tasks attributes), the issues, for which the meeting functionality is enabled, will be denied to have subtasks (otherwise, the meeting date would depend on them)

Installation notes

  • Move that_meeting directory to the plugins directory of Redmine
  • Run bundle install --without development test (this will install icalendar gem)
  • Run rake redmine:plugins:migrate RAILS_ENV=production
  • Restart Redmine

Changelog

0.0.1 (2020-05-21)

Compatible with Redmine 4.1.x, 4.0.x, 3.4.x.