Multi-week calendar for planning


This macro [[WeekPlan(...)]] can be used to show calendars / week plans in your Trac wiki. Clicking on the calendar allows you to interactively add events to the calendar. Moving or resizing events is possible by drag-and-drop. Clicking an event allows editing or deleting.

A "plan" is a named set of events. Multiple plans can be shown and edited in the same calendar in different colors.

The calendar data can be accessed as an iCalendar feed at /weekplan?format=ics&plan=xyz.

The FullCalendar library is used for the UI. FullCalendar is an event scheduling library developed in Javascript and MIT-licensed. The data is stored in a new table in the Trac database.

As an example, add the following to your Trac wiki page:

[[WeekPlan(plan=parties|vacations, weeks=2)]]

This will then be displayed as follows:

Example screenshot

Known Limitations

  • There is no history or undo functionality.
  • There is no tracking of users. Everyone with WEEK_PLAN permission can freely edit any plan.
  • There is no support for collaborative editing. Changes only become visible when the page is manually refreshed. There is no conflict detection or resolution mechanism.


  • plan: Id of the shown collection of events. (required)
    • Can be a |-separated list of multiple plans.
  • start: A date in the first week shown. (Defaults to today.)
  • weeks: Number of weeks shown. (Defaults to one.)
  • width: Width of the calendar. (Defaults to 400.)
  • rowheight: Height of one row of the calendar. (Defaults to 100.)
  • showweekends: Show Saturdays and Sundays (Default is hidden.)
  • color: Color of the events. (Defaults to #3A87AD|#39AC60|#D7A388|#88BDD7|#9939AC|#AC9939.)
    • Can be a |-separated list of multiple colors. Each plan uses a different colors if multiple plans are specified.
  • label: Labels shown instead of the plan ids. (Defaults to the plan ids.)
    • Can be a |-separated list of multiple labels. Each plan uses a different label if multiple plans are specified.
  • hidelegend: Show a legend below the calendar. (Defaults to shown.)


Other plugins can provide additional special plans of events to be displayed in week plan calendars by implementing the IWeekPlanEventProvider interface, such as the TimeTrackingPlugin.

Bugs/Feature Requests

Existing bugs and feature requests for WeekPlanPlugin are here.

If you have any issues, create a new ticket.


4 / 4


4 / 5


Download the zipped source from here.


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


Installation of the plugin requires the usual step:

  • Trac 1.4: easy_install
  • Trac 1.2: easy_install
  • Trac 1.0: easy_install

Then also enable it in Trac's plugin admin page or in your trac.ini file:

weekplan.* = enabled

A database upgrade will be required as usual: trac-admin path/to/trac/environment upgrade.

Assign the new WEEK_PLAN permission to the appropriate Trac groups / users, for example in Trac's permission admin page.

Recent Changes

18497 by lucid on 2022-08-10 17:55:10
WeekPlanPlugin: ical recurring events support
(fix #14122)

Fix AttributeError: '' object has no attribute 'date' (fix #14149)

Fix extras_require (see #14110)

18470 by lucid on 2022-02-12 23:50:03
WeekPlanPlugin: Really make it optional
(see #14110)
18469 by lucid on 2022-02-12 23:49:27
WeekPlanPlugin: Add missing ical file and make it optional
(see #14110)


Author: lucid
Maintainer: lucid

Last modified 5 years ago Last modified on Aug 31, 2019, 10:13:09 AM

Attachments (1)

Download all attachments as: .zip