Version 6 (modified by lucid, 4 years ago) (diff)

Mention event count limitation

Multi-week calendar for planning


A new macro [[WeekPlan(...)]] can be used to show calendars / week plans. Clicking on that calendar allows interactively adding events to days. 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. The data is stored in a new table in the Trac database.


[[WeekPlan(plan=parties|vacations, weeks=2)]]
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.
  • Too many events could cause slowdowns. (Should use event sources.)
  • Timezones and daylight-saving-time might not yet be handled correctly.


  • 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.
  • format: One of the following formatting modes:
    • multiweek: A multi-week calendar. (The default.)
    • count: A simple count of events.
  • matchtitle: A regexp that matches event titles. (Defaults to match all events.)
  • hidelegend: Show a legend below the calendar. (Defaults to shown.)

Bugs/Feature Requests

Existing bugs and feature requests for WeekPlanPlugin are here.

If you have any issues, create a new ticket.


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, e.g. easy_install and enable it in Trac's plugin admin page or by adding weekplan.* = enabled to the [components] section in trac.ini.

A database upgrade will be required as usual (trac-admin path-to-your-trac-environment upgrade).

Assign the new WEEK_PLAN permission to the appropriate Trac groups / users (e.g. in Trac's permission admin page).

Recent Changes

16140 by lucid on 2016-12-21 21:21:05
WeekPlanPlugin: Bump version to 1.3
(see #13005)
16135 by rjollos on 2016-12-21 20:00:54
WeekPlanPlugin: tag version 1.2

Version 1.2 is compatible with Trac 1.0.

Refs #13005.

16115 by lucid on 2016-12-18 16:13:12
WeekPlanPlugin: Trac 1.3 compatible DB upgrades.
Since trac:ticket:11901 we would have to use get_connector instead of _get_connector.
Since trac:ticket:11512 we can use create_tables helper to simplify this.


Author: lucid
Maintainer: lucid

Attachments (1)

Download all attachments as: .zip