wiki:TracRelationsPlugin

Version 2 (modified by Cinc-th, 3 years ago) (diff)

Added description of current ticket relation feature (blocking, parent->child, relates to). Added screenshots.

Manage relations between Trac resources like relates to or parent > child in tickets

Description

This plugin provides a general system for relating different Trac resources. The kind of resource is dependend on the use case.

It comes with plugins for relations between tickets with the following. features:

  • simple relations between tickets without any special semantics (relates to)
  • allow a ticket to block another ticket
  • specify parent -> child relationships similar to what can be found in the ChildTicketsPlugin.

Features:

  • The plugin adds the relationship information to the ticket properties box when a ticket page is shown.
  • Manage relations between tickets from the ticket page.
  • For blocked tickets the plugin makes sure that a ticket can't be resolved as long as any blocking ticket is still open.
  • When child tickets exist for a ticket they are shown as a tree below the properties box.

Screenshots

Relation properties

Screenshot of child relations properties on ticket page

Modify relations form the ticket page

Screenshot of relations modify button placement

Manage relations

Screenshot of child relations manage dialog

Child ticket tree

Screenshot of child ticket tree

Bugs/Feature Requests

Existing bugs and feature requests for TracRelationsPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

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

Installation

General instructions on installing Trac plugins can be found on the TracPlugins page.

Configuration

When using child tickets it is necessary to create a ticket-custom field relationdata. This field will not be shown on the ticket page but is needed for internal use.

[ticket-custom]
relationdata = text

The rest of the customization may be done with a new admin page Ticket Relations -> Parent Types.

You may also configure them with entries in trac.ini. Features can be specified separately for each ticket type.

parent.<type>.allow_child_tickets = True|False
if child tickets are allowed for this parent ticket type
parent.<type>.inherit = fieldname 1, fieldname 2, …
specify the ticket fields which should be copied to the child
parent.<type>.restrict_child_type = type 1, type 2, …
allow these types ase new child ticket types
parent.<type>.table_headers = fieldname 1, fieldname 2, …
the table headers to be shown for child tickets

In this example the configuration is for tickets of type defect:

[relations-child]
parent.defect.allow_child_tickets = True
parent.defect.inherit = description,milestone,summary,project,version
parent.defect.restrict_child_type = defect,enhancement
parent.defect.table_headers = status,project,summary

Recent Changes

18231 by Cinc-th on 2021-04-17 08:40:34
TracRelationsPlugin: show Duplicate of} field in preview ticket box only if resolution is actually set to duplicate. Removed some test code.
18230 by Cinc-th on 2021-04-16 17:41:18
TracRelationsPlugin: support duplicate relations. These are automatically created when resolving a ticket as a duplicate and an id of the other ticket is provided.
18228 by Cinc-th on 2021-04-16 05:57:22
TracRelationsPlugin: file rename to make the usage more obvious.
(more)

Author/Contributors

Author: Cinc-th
Maintainer: Cinc-th
Contributors:

Attachments (5)

Download all attachments as: .zip