User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


This is an old revision of the document!

Customizing Issue Relationships

Author: Victor Boctor


Starting Mantis 1.1.0a4, it is possible to add your own custom relationships. In this example, we will add “origin of” and “originates from” relationships.

Customization Steps

Define Constants

Create custom_constant_inc.php in Mantis root folder and add the following code to it:


Define Relationship Metadata

Create custom_relationships_inc.php in Mantis root folder and add the following code to it:

	$g_relationships[ BUG_CUSTOM_RELATIONSHIP_ORIGIN_OF ] = array(
		'#forward' => true,
		'#description' => 'rel_origin_of',
		'#notify_added' => 'email_notification_title_for_action_origin_of_relationship_added',
		'#notify_deleted' => 'email_notification_title_for_action_origin_of_relationship_deleted',
		'#edge_style' => array ( 'style' => 'dashed', 'color' => '808080' ),
		'#forward' => false,
		'#description' => 'rel_originates_from',
		'#notify_added' => 'email_notification_title_for_action_originates_from_relationship_added',
		'#notify_deleted' => 'email_notification_title_for_action_originates_from_relationship_deleted',
		'#edge_style' => array ( 'style' => 'dashed', 'color' => '808080' ),

Following is the documentation for the metadata structure:

  • The array index is the relationship type ID that you define for your custom relationships.
  • '#forward' is a boolean that specifies the conceptual direction of the relationship: is it forward from this bug to the one specified, or backward from the one specified to this one?
  • '#complementary' specifies the ID of the complementary relationship: for 'parent', it's 'child', etc. Some relationships are their own complementary; in this case just use the same type ID as the array index.
  • '#description' is the localization string is defined in custom_strings_inc.php
  • '#notify_added' and '#notify_deleted' are the string names for email messages when this relationship is modified in a bug.
  • '#edge_style' is the Graphviz edge style to be used for this relationship type.

Define Custom Strings

Create custom_strings_inc.php in Mantis root folder and add the following code to it:

	$s_rel_origin_of = 'origin of';
	$s_rel_originates_from = 'originates from';
	$s_email_notification_title_for_action_origin_of_relationship_added = 'Origin-Of Relationship Added';
	$s_email_notification_title_for_action_origin_of_relationship_deleted = 'Origin-Of Relationship Deleted';
	$s_email_notification_title_for_action_originates_from_relationship_added = 'Originates-From Relationship Added';
	$s_email_notification_title_for_action_originates_from_relationship_deleted = 'Originates-From Relationship Deleted';


This feature was contributed by kratib (8130).

mantisbt/customizing_relationships.1185690476.txt.gz · Last modified: 2008/10/29 04:32 (external edit)