NetResults ProblemTracker
Customizing Pulldown Menu Dependencies

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,

  1. Login to ProblemTracker as Admin
  2. Click on the Admin icon
  3. Click on the Define Schema button
  4. Click on the field that will act as the child pulldown menu in the "In Use" column, then click on the Edit button
  5. In the "Edit Pulldown Attributes" section, select the field that will act as the parent pulldown in the "Parent Pulldown" field (as shown in the figure below).
  6. Click on the OK button to save this change.

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,

  1. Login to ProblemTracker as Admin
  2. Click on the Admin icon
  3. Click on the Option Menus button
  4. Click on the Item Dependencies button to the left of the parent pulldown menu
  5. The "Option Menu Item" field will contain the option menu items configured for the parent pulldown menu. Make a selection in this field so that you can configure option menu items from the child pulldown to be associated to this option menu item from the parent pulldown.
  6. The "Associated Option Menu" field will contain all option menus that are associated with the parent pulldown. The option menu items of the pulldown that you select in this field will be displayed in the columns below to be associated or unassociated to the parent option menu item selected in the "Option Menu Item" field.
  7. Any child option menu items already associated with the parent option menu item will be displayed in the left column called "Associated". Any child option menu items in the "Associated" column proceeded by "*" are implicit relationships (these relationships were made when the parent pulldown was selected for the child pulldown field in the Edit Attributes section of the Define Schema page).

    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.

  8. Select another parent option menu item in the "Option Menu Item" field, then choose the corresponding child option menu items to be associated.
  9. After assigning child option menu items to each parent option menu item listed in the "Option Menu Item" field, click on the OK button to return to the Option Menus section.

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,

  1. Login to ProblemTracker as Admin
  2. Click on the Admin icon
  3. Click on the Option Menus button
  4. Click on the Item Dependencies button to the left of the child pulldown menu
  5. The "Option Menu Item" field will contain the option menu items configured for the child pulldown. Make a selection in this field so that you can configure option menu items from the parent pulldown to be associated to this option menu item from the child pulldown.
  6. The "Associated Option Menu" field will contain all option menus that are associated with the child pulldown. The option menu items of the pulldown that you select in this field will be displayed in the columns below to be associated or unassociated to the child option menu item selected in the "Option Menu Item" field.
  7. Any parent option menu items already associated with the child option menu item will be displayed in the left column called "Associated". Any parent option menu items in the "Associated" column proceeded by "*" are implicit relationships (these relationships were made when the parent pulldown was selected for the child pulldown field in the Edit Attributes section of the Define Schema page).

    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.

  8. Select another child pulldown menu item in the "Option Menu Item" field, then choose the corresponding parent pulldown menu items to be associated.
  9. After assigning parent menu items to each child menu item listed in "Option Menu Item" field, click on the OK button to return to the Option Menus section.

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

  1. Pulldown Field at the root or last leaf level moved from "In Use" to "Not In Use"
  2. Pulldown Field at an intermediate leaf level moved from "In Use" to "Not In Use"
  3. Option Menu Item deleted from a pulldown menu involved at any level
  4. Parent Pulldown changed to <No Pulldown>
  5. The associations between an Option Menu Item and the next lower level are removed
  6. Parent Pulldown changed to another pulldown field

Explanations for the above cases

  1. Pulldown Field at the root or last leaf level moved from "In Use" to "Not in Use" in the Define Schema section
    When a pulldown field is removed from the data record by moving it from the "In Use" column to the "Not In Use" column, any parent or child pulldown fields associated with the removed field will become independent of the relationship. The removed pulldown field will be removed from all records, but any levels of hierarchy above or below this field will be preserved.

    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.

  2. Pulldown Field at an intermediate leaf level moved from "In Use" to "Not In Use" in the Define Schema section
    When a pulldown field is removed from the data record by moving it from the "In Use" column to the "Not In Use" column, any parent or child pulldown fields associated with the removed field will become independent of the relationship. The removed pulldown field will be removed from all records, but any levels of hierarchy above or below this field will 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.

  3. Option Menu Item deleted from a pulldown menu involved at any level
    When an option menu item is removed from the data record by deleting it in the "Edit Items" section of a pulldown menu, the user making the change will be prompted with the options below:
    • Choose one of the remaining menu values for that field to replace the removed value in records that have the obsolete value selected. If this option is chosen, there may be records where the parent and child values do not follow the dependent relationship configured in the Item Dependencies section. Using the example above, "Product" has the option menu items "Our Printer" and "Our Computer". "Our Printer" is associated with the option menu item "Paper Tray" from the "Component" field. "Our Computer" is associated with the option menu item "Hard Drive" from the "Component" field. If we choose to replace the value "Our Printer" in all records where "Our Computer" is selected, these records will have "Our Printer" entered with "Hard Drive" in the "Component" field even though "Hard Drive" is unassociated with "Our Printer" in the Item Dependencies section. However, after completing this operation, you could use the Edit Results operation to globally change these records to have acceptable values. In the case described above, you could run a query with the criteria "Product" = "Our Printer" and "Component" = "Hard Drive". Then, when the results are generated, use the Edit Results operation to change the "Component" field to have a value that is associated with "Our Printer" for all of the records displayed in the query results.
    • Delete any records that contain the obsolete value. Choosing this option will permanently delete these records.
    • Leave the records containing the obsolete value unchanged. Choosing this option may cause unexpected results in the Query and Home pages because the obsolete value cannot be selected as part of the query criteria after it has been deleted.
  4. Parent Pulldown changed to <No Pulldown> in the Define Schema section
    When the "Parent Pulldown" attribute of a pulldown is changed to <No Pulldown> in the Define Schema section, the option menu items of this pulldown become independent of any associations that existed between the pulldown and its former parent. However, any dependencies that exist at levels above or below this pulldown will 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.

  5. The associations between an Option Menu Item and the next lower level are removed in the Item Dependencies page
    If all of the associations between an Option Menu Item and the next lower level are removed, this indicates that the Option Menu Item is not explicitly associated with any option menu item in a child pulldown menu. When this occurs, ProblemTracker automatically creates an implicit (temporary) relationship between the Option Menu Item and the default option menu item of the child pulldown menu. This implicit relationship is shown in the figure below. The "*" after the child option menu item in the "Associated Items" column indicates that the association is implicit.

    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 * ".

  6. Parent Pulldown changed to another pulldown field in the Define Schema section
    When the "Parent Pulldown" attribute of a pulldown is changed to select another pulldown menu in the Define Schema section, the option menu items of this pulldown become independent of any associations that existed between the pulldown and its former parent. However, any dependencies that exist at levels above or below this pulldown will be preserved.

    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.