wiki:ResourceReservationPlugin

Resource Reservation plugin for Trac

Description

A Trac plugin and macro to allow for visually planning and reserving the use of resources in your environment, e.g. test machines, consumable test data, etc, with just one click.

Screenshot

Installation of the plugin adds a new tab named Resource Reservation that leads to a pre-filled Wiki page with the macro already in place.

By default, the macro displays an empty calendar spanning three months in the future, including the current month. You can then:

  • Add a new resource, by entering the resource name in the edit box and click Add a Resource.
  • See who owns a resource in any particular date:
    • A white cell indicates the resource is free at a certain date.
    • A blue cell indicates the resource is reserved by the current user at a certain date.
    • A red cell indicates some other user has reserved the resource at a certain date. The name of the user can be seen by hovering with the mouse on the cell.
  • Reserve the resource for any days in the calendar, by simply clicking on the corresponding table cell => the information is saved in the database on the fly, no need to save the page. The cell will become blue.
  • Cancel a resource reservation, when it is reserved by you (blue cell), by simply clicking on it again => The cell becomes white again.
  • Take on a resource reserved by something else (red cell), by simply clicking on the corresponding cell => The cell becomes blue and the resource is immediately assigned to the current user.

You can edit the default page, changing the macro default parameters:

  • type: you can define any number of resource types by simply providing a different value for this parameter to any instance of the macro. This way, you can plan the use of different types of resources at the same time, with no conflict between them.
  • period: the number of months, including the current one, to display in the calendar.
  • title: the title, i.e. descriptive name of the resource type, to be used in the calendar as the header of the resource names column.
  • override: true or false. It controls whether clicking on an already-reserved resource you will take ownership of it, overriding the previous reservation.

All parameters are optional, with the following default values:

  • type = defaulttype
  • period = 3
  • title = Resource
  • override = true, meaning that anyone can take on a resource reserved by someone else in any day by clicking on it. A value of false means the current owner must first cancel the reservation before anyone else can take the resource.

Or you can add the following snippet in any of your Wiki pages, for example to keep track of multiple resource types in different places.

[[ResourceReservationList(type=testmachine,period=3,title=Test Machine,override=false)]]

This example may be useful to reserve test machines.

Permissions

Two Trac permissions have been added to control access to the resource reservation features:

  • RES_RESERVE_VIEW is needed to view the resource reservations.
  • RES_RESERVE_MODIFY is needed to reserve resources.

Bugs/Feature Requests

Existing bugs and feature requests for ResourceReservationPlugin are here.

If you have any issues, create a new ticket.

defect

3 / 6

enhancement

0 / 2

task

1 / 1

Download

Download the zipped source from here.

The macro is also available on PyPI.

Source

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

Installation

The plugin can be installed from the Trac administration panel: see general instructions on the TracPlugins page. Note that this plugin requires a database upgrade.

Tested on Trac 0.11.7 and 0.12.2, with Python 2.5 and 2.6.

Recent Changes

16052 by rjollos on 2016-12-06 02:45:17
0.1: Add database create steps to README
16051 by rjollos on 2016-12-06 02:40:30
1.0.0dev: Use Trac 1.0 database API

  • Create tables on Environment upgrade (fixes #4115)
  • Store dates as UTC timestamps (fixes #9925)
  • Use executemany (fixes #11288)

This change is not compatible with the previous version.
Please open a ticket if you need help on an upgrade path.

Fixes #9908.

16047 by rjollos on 2016-12-02 21:03:43
1.0.0dev: Conform to PEP8
(more)

Author/Contributors

Author: seccanj
Maintainer: Roberto Longobardi
Contributors:

Last modified 3 years ago Last modified on Apr 7, 2022, 6:23:56 AM

Attachments (1)

Download all attachments as: .zip