|
Overview
Dependencies can be configured between pulldown menu fields in ProblemTracker such that the option menu values displayed in one pulldown menu can be dependent on the option menu value selected in another pulldown menu. Pulldown B is dependent on Pulldown A. When a user selects a value in Pulldown A, the values displayed in Pulldown B are changed. Pulldown A is the parent pulldown and Pulldown B is the child pulldown. A simple example to illustrate this functionality:
A system has a pulldown called Product with two menu options "Our Computer" and "Our Printer". A pulldown called Component has the menu options "Hard Drive", "Video Card", "Toner", and "Paper Tray". The components "Hard Drive" and "Video Card" correspond to the "Our Computer" menu option in the Product pulldown field. The components "Toner" and "Paper Tray" correspond to the "Our Printer" menu option in the Product field. When a user selects "Our Computer" for the Product field, only the options "Hard Drive" and "Video Card" as well as "None" (the default value of the Component pulldown) will be displayed in the Component field (as shown in the figure below). The Component pulldown (child) is dependent on the Product pulldown (parent). This is achieved by configuring dependencies between the Product and Component pulldown fields.
Configuring a Pulldown to be Dependent on Another
Selecting fields
Select a pulldown field to be the parent pulldown, then select a pulldown field to be the child pulldown menu. Multiple dependencies on a single parent pulldown can be configured. For example, Pulldowns B, C, and D are all dependent on Pulldown A, that is to say, Pulldowns B, C, and D are all children of Pulldown A. Dependencies can be configured to span multiple levels as well. For instance, Pulldown C is dependent on Pulldown B and Pulldown B is dependent on Pulldown A.
Set up the Child Pulldown Menu to select a Parent Pulldown
To configure the child pulldown menu so that a particular pulldown is selected to be the parent pulldown,
Special Cases
Please note that the fields Status, Assigned To, or Reported By cannot be involved in a dependent relationship. The only dependencies that can be created based on these fields is via the Define Workflow section.
Configure relationships between option menu values in the parent pulldown and the child pulldown
ProblemTracker must be configured to show which option menu values in the child pulldown correspond to each option menu value in the parent pulldown. This configuration will determine which values should be displayed in the child pulldown when a particular value is selected in the parent pulldown field.
When specifying a parent pulldown field for the child pulldown field, ProblemTracker will automatically create implicit relationships to relate the option menu items in the parent pulldown menu with the option menu items in the child pulldown menu. This is done to ensure that each parent option menu item is related to at least one option menu item from the child pulldown menu. The following example shows a temporary (implicit) relationship created automatically for a parent pulldown menu. The item "Other * " listed in the "Associated" column is an implicit relationship.
These temporary (implicit) relationship(s) are just a starting point after configuring a dependent relationship. In this section, you will have the opportunity to change the implicit relationships created by ProblemTracker. Once you create an explicit relationship as mentioned in the steps below, the implicit relationship(s) will be removed.
There are 2 ways to configure the relationships between the option menu items in the parent and child pulldown fields:
To map the values with respect to the parent pulldown menu,
Any child option menu items not associated with the parent option menu item will be displayed in the right column called "Not Associated". A child option menu item temporarily associated to the parent (proceeded by "*") will also be listed in the "Not Associated" without "*".
To select a pulldown menu value to be associated to the parent pulldown menu value, click on the child option menu item in the "Not Associated" column, then click on the Add button. The child option menu item will be moved to the left column called "Associated". To select multiple child option menu items, hold the shift key while clicking on multiple values.
As soon as ANY child option menu item from the Not Associated column is added to the Associated column, any implicitly associated child option menu item (proceeded by "*") will be removed from the Associated column. When you choose to associate a child option menu item to a parent option menu item manually, you are creating an explicit relationship. Any explicit relationship removes the implicit (temporary) relationship created automatically by ProblemTracker.
The following figure shows the result of associating option menu items from one pulldown to another. "Our Computer" is an option menu item of the "Product" field. The "Product" field is a parent to the "Component" field. The "Component" field has the option menu items "Other", "Video Card", and "Hard Drive", which have been associated to the "Our Computer" option menu item. "Component" also has the option menu items "Paper Tray" and "Toner", which are unassociated with the "Our Computer" option menu item.
To map the values with respect to the child pulldown menu,
Any parent option menu items not associated with the child option menu item will be displayed in the right column called "Not Associated". A parent option menu item temporarily associated to the child (proceeded by "*") will also be listed in the "Not Associated" without "*".
To select a option menu value to be associated to the child option menu value, click on the parent option menu item, then click on the Add button. The parent option menu item will be moved to the left column called "Associated". To select multiple parent option menu items, hold the shift key while clicking on multiple values.
As soon as ANY parent option menu item from the Not Associated column is added to the Associated column, any implicitly associated parent option menu item (proceeded by "*") will be removed from the Associated column. When you choose to associate a parent option menu item to a child option menu item manually, you are creating an explicit relationship. Any explicit relationship removes the temporary (implicit) relationship created automatically by ProblemTracker.
The following figure shows the result of associating option menu items from one pulldown to another. "Video Card" is an option menu item of the "Component" field. The "Component" field is a child of the "Product" field. The "Product" field has the option menu item "Our Computer", which has been associated to the "Video Card" option menu item. "Product" also has the option menu items "None" and "Our Printer", which are unassociated with the "Video Card" option menu item.
Dependent Relationships with Multiple Levels of Hierarchy
Dependent relationships between pulldown menus can span multiple levels. For instance, Pulldown A can be the parent of Pulldown B. Pulldown B is the parent of Pulldown C. This is a 3 level dependent relationship. Multiple level hierarchies (with 3 or more levels) are displayed slightly differently than a relationship where there is only 2 levels (one parent and its child pulldown menus). For multiple level hierarchies, the complete tree structure of all of the pulldown menus involved is displayed in the Item Dependencies page for each pulldown. The figure below demonstrates a 3 level hierarchy with the following dependencies established:
Product -> Component -> Request Type
The "Product" field represents the root (or highest) level in the hierarchy. The figure below shows the relationships between the "Component" field and "Request Type", its child pulldown.
This figure displays which option menu items from "Request Type" are associated with "Paper Tray", an option menu item in the "Component" field. In the "Associated Items" column, the option menu items "None", "Bug", "Customer Feedback", "Customer Problem", and "Enhancement" are associated with "Paper Tray". The option menu item "Contract Requirement" is unassociated with "Paper Tray".
Note the items "[-] Our Printer" and "[-] Paper Tray" in the tree structure displayed in this figure. "[-] Our Printer" is an option menu item of the "Product" field (from the root or highest level of the hierarchy). "[-] Paper Tray" is an option menu item of "Component" field (the second level of the hierarchy). When multiple level hierarchies exist in ProblemTracker, the Item Dependencies page for a pulldown menu will display the tree structure higher than its own level. So, in the example explained above, the figure shows the Item Dependencies page for the "Component" field and also shows the level above "Component".
Effects of Making Changes to Dependent Pulldowns
Dependent relationships between pulldown fields can be established at any time and also can be removed at any time. Because these changes can be made before and / or after problem records have been added, there are situations where these changes in the dependent relationships could result in additional changes with respect to the option menu items of the pulldowns involved. During the course of changing the relationship between pulldown fields (either in the Define Schema or Option Menus section), ProblemTracker will prompt the user with information about the effects of changing dependent relationships. Examples of such changes are discussed below. The following sample multiple level hierarchy is provided to illustrate the examples below:
Product -> Component -> Request Type -> Priority
In addition, the "root" level is the highest level in the hierarchy (the "Product" field in this example). The "intermediate leaf" level are the levels in the middle of the hierarchy (the "Component" or "Request Type" fields). The "last leaf" level is the lowest level in the hierarchy (the "Priority" field in this example).
Click on the example to see an explanation of the effects
Explanations for the above cases
Using the example, if "Product" were removed from "In Use" to "Not In Use", the "Product" field and all of its option menu items would be removed from the data record. The option menu items in the "Component" field would be independent of the associations that existed with the "Product" field. However, the dependent relationship between "Component" and "Request Type" would be preserved. The dependencies in the level below "Request Type" are also preserved.
Similarly, if "Priority" were removed from "In Use" to "Not In Use", the "Priority" field and all of its option menu items would be removed from the data record. The option menu items in the "Request Type" field would be independent of the associations that existed with the "Priority" field. However, the dependent relationship between "Request Type" and "Component" would be preserved. The dependencies in the level above "Component" would also be preserved.
Using the example above, if "Component" were removed from "In Use" to "Not In Use", the "Component" field and all of its option menu items would be removed from the data record. The option menu items in the "Product" and "Request Type" fields would be independent of the associations that existed with the "Component" field. However, the dependent relationship between "Request Type" and "Priority" would still be preserved.
Using the sample hierarchy above, let's say the "Component" field was changed to have <No Pulldown> in the "Parent Pulldown" attribute in the Define Schema section. The option menu items of "Component" will be independent of the associations that existed with "Product". However, the associations between the option menu items of "Component" and levels below it will be preserved.
Using the sample hierarchy, let's say the "Request Type" field was changed to have <No Pulldown> in the "Parent Pulldown" attribute in the Define Schema section. The option menu items of "Request Type" will be independent of the associations that existed with "Component". However, the associations between "Request Type" and "Priority" will be preserved. The associations between "Product" and "Component" will also be preserved.
Using the sample hierarchy and the figure displayed above, the "Product" field has the option menu item "Our Computer". All associations between "Our Computer" and the option menu items of the "Component" field were removed. The default option menu item of "Component" is "Other". Thus, when all of the associations between "Our Computer" and the option menu items of "Component" were removed, ProblemTracker automatically created an implicit relationship between "Our Computer" and "Other * ".
Using the sample hierarchy above, let's say the "Component" field was changed to have another field, "Severity", in the "Parent Pulldown" attribute in the Define Schema section. The option menu items of "Component" will be independent of the associations that existed with "Product". However, the associations between the option menu items of "Component" and levels below it will be preserved.
Using the sample hierarchy, let's say the "Priority" field was changed to have another field, "Severity", in the "Parent Pulldown" attribute in the Define Schema section. The option menu items of "Priority" will be independent of the associations that existed with "Request Type". However, the associations between "Request Type" and "Component" will be preserved. The associations between "Component" and "Product" will also be preserved. ProblemTracker will automatically create an implicit association(s) between the default option menu item of "Priority" and the option menu items of its new parent, "Severity". These temporary associations can be changed by creating explicit associations in the Item Dependencies section.