[[PageOutline(2-5,Contents,pullout)]] = Multi-week calendar for planning == Description 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 [http://arshaw.com/fullcalendar/ 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: [[Image(example.png, border=2)]] === 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. === Parameters * `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.) === Extensions Other plugins can provide additional special plans of events to be displayed in week plan calendars by implementing the [source:weekplanplugin/trunk/weekplan/core.py#/IWeekPlanEventProvider IWeekPlanEventProvider] interface, such as the TimeTrackingPlugin. == !Bugs/Feature Requests Existing bugs and feature requests for WeekPlanPlugin are [report:9?COMPONENT=WeekPlanPlugin here]. If you have any issues, create a [/newticket?component=WeekPlanPlugin new ticket]. [[TicketQuery(component=WeekPlanPlugin&group=type,format=progress)]] == Download Download the zipped source from [export:weekplanplugin here]. == Source You can check out WeekPlanPlugin from [/svn/weekplanplugin here] using Subversion, or [source:weekplanplugin browse the source] with Trac. == Installation Installation of the plugin requires the usual step: * Trac 1.4: `easy_install https://trac-hacks.org/svn/weekplanplugin/trunk` * Trac 1.2: `easy_install https://trac-hacks.org/svn/weekplanplugin/tags/weekplan-1.3`. * Trac 1.0: `easy_install https://trac-hacks.org/svn/weekplanplugin/tags/weekplan-1.2`. Then also enable it in Trac's plugin admin page or in your `trac.ini` file: {{{#!ini [components] 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 [[ChangeLog(weekplanplugin, 3)]] == !Author/Contributors '''Author:''' [wiki:lucid] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:'''