|Version 6 (modified by lucid, 3 years ago) (diff)|
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.
- 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.)
If you have any issues, create a new ticket.
Download the zipped source from here.
Installation of the plugin requires the usual step, e.g. easy_install http://trac-hacks.org/svn/weekplanplugin/trunk 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).
- 14780 by lucid on 2015-07-02 22:00:31
WeekPlanPlugin: PostgreSQL compatibility: quote "end" table name
Avoid SQL injection
Bump version to 1.2
- 14175 by lucid on 2014-09-25 22:03:05
WeekPlanPlugin: Define IWeekPlanEventProvider extension point. (fix #11615)
Bump version to 1.1.
Parse as UTC so localtimezone is ignored.
Update drop / resize event arguments.
Only hook up the enter key to submit dialogs of this plugin.
Tweak default colors.
- 14089 by lucid on 2014-08-16 13:48:42
WeekPlanPlugin: Upgrade to DB schema v2, FullCalendar v2.0.2 and use event sources.
- Upgrade to DB schema 2: Add index for start/end and adjust old start/end values.
- Update to FullCalendar v2.0.2
- Fix timezone / summertime ambiguities
- Send only dates (without time)
- Do not do any timezone adjustments
- See http://arshaw.com/fullcalendar/docs/timezone/timezone/
- Use $(window).load() event instead of $(document).ready() to avoid a race condition between CSS loading and JS execution of FullCalendar.
- Query events via event sources for more predictable performance with old plans and many events.
- Removed support for format=count and matchtitle features. (These features don't work well and are incompatible with event sources.)