One-Way Relationship Requirements

Bryan Beswick
edited October 2016 in

I have encountered a situation where I would like to make the “Requiredness” of relationships among two items to be one-way.

  • Assume I have four item types “A”, “B”, “C” and “D”
  • “A” is upstream from “B”
  • “C” is upstream from “D”
  • I do care if I have a “A” item with no “B” items downstream
  • But I don’t care if I have any “B” items with no upstream “A” items

 While I don’t have a specific case (yet) I could extrapolate the following:

  • I don’t care of “C” has any “D” items downstream
  • But I do care of I have a “D” with no “C” that is upstream from it
This could potentially be implemented as adding two additional checkbox attributes to the relationship type.

As a work-around to the A-B situation: I have added a References attribute on "B" that references an "A" and made the field required.  It doesn't do traceability but it fits my specific (real world) use case.

Comments

  • Scott Holland
    edited July 2016
    Hi Bryan. Could you not achieve this using relationship rules? For example:

    A must be upstream from B
    For coverage = yes

    Jama will then flag any A items with no downstream B items
  • Bryan Beswick
    edited August 2016
    Scott,

    Not exactly.  If I set "For Coverage = yes" then not only will Jama flag any A items with no downstream B items, it will also flag any B items with no upstream A items.  In that situation, the B items with no upstream A's will get a red exclamation with a tool tip indicating that it is an "Orphan" item, which I don't want.

    Bryan
  • Kristina King
    edited July 2016
    True, Bryan—there is no way around marking something as an orphan, as that's mandated by relationship rules. What it seems would be ideal is for the Relationship Status Indicator to be configurable. 
  • Bryan Beswick
    edited July 2016
    I'm thinking that a checkbox or two on the relationship type.  Relationship Type currently has: Display, Show Note, Show Status.  I'm thinking another boolean called Require Upstream that has a default value of TRUE.  Then certain relationship types could require an upstream (as it is now) and others could be configured to not flag orphans.
  • John Dunnwald
    edited July 2016
    I would suggest that you avoid the check box idea.  Personally I think this points at a flaw of the relationship rules.  Just because I have a rule that A->B does not imply that B->A; and if B->A is needed, that is a separate rule.  This is basic set definition.
  • Rafael Medina
    edited August 2016
    I agree, I added a post a while back requesting this along with some other similar capabilities:
    https://community.jamasoftware.com/jama/topics/advanced-relationship-rules