Timeline of child iteration may not match parent?
When you create a child iteration of an iteration, you must set the timeline of the child (using IIteration::setDevelopmentLine() ) or the save will fail with the mesaage that the timeline isn't set. But you can set it to something different from the timeline of the parent.
Is this meaningful? What is the intention of saying "an iteration is in this timeline but a child is in another timeline"?
Or is it just that the server doesn't happen to check that particular bit of relational integrigy and a client should make sure that you set the timeline properly? In other cases, the server does check relational integrity. For example, you must call parentIteration.addChild(newIteration) as well as newIteration.setParent(parentIteration) before the save, or the save fails because they don't match.
Is this meaningful? What is the intention of saying "an iteration is in this timeline but a child is in another timeline"?
Or is it just that the server doesn't happen to check that particular bit of relational integrigy and a client should make sure that you set the timeline properly? In other cases, the server does check relational integrity. For example, you must call parentIteration.addChild(newIteration) as well as newIteration.setParent(parentIteration) before the save, or the save fails because they don't match.
2 answers
Logically, it doesn't make sense for an iteration to not be in the same
timeline as its parent iteration, so I'd vote that it is a bug in the
method that it fails to do this integrity check (and further, if the
timeline property is null, it should automatically set the timeline
property to the parent's value, rather than throwing an exception).
Cheers,
Geoff
On 4/23/2011 4:53 PM, ajberner wrote:
timeline as its parent iteration, so I'd vote that it is a bug in the
method that it fails to do this integrity check (and further, if the
timeline property is null, it should automatically set the timeline
property to the parent's value, rather than throwing an exception).
Cheers,
Geoff
On 4/23/2011 4:53 PM, ajberner wrote:
When you create a child iteration of an iteration, you must set the
timeline of the child (using IIteration::setDevelopmentLine() ) or
the save will fail with the mesaage that the timeline isn't set. But
you can set it to something different from the timeline of the
parent.
Is this meaningful? What is the intention of saying "an
iteration is in this timeline but a child is in another
timeline"?
Or is it just that the server doesn't happen to check that particular
bit of relational integrigy and a client should make sure that you
set the timeline properly? In other cases, the server does check
relational integrity. For example, you must call
parentIteration.addChild(newIteration) as well as
newIteration.setParent(parentIteration) before the save, or the save
fails because they don't match.
This is a bug in the validation code.
The method that checks the integrity is not checking the development line value. As you correctly stated, it does check the parent iteration value and it checks that the development line that is set exists.
I have filed https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/163241 for the issue.
Thanks,
Martha
Jazz Developer, Process Component
The method that checks the integrity is not checking the development line value. As you correctly stated, it does check the parent iteration value and it checks that the development line that is set exists.
I have filed https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/163241 for the issue.
Thanks,
Martha
Jazz Developer, Process Component
When you create a child iteration of an iteration, you must set the timeline of the child (using IIteration::setDevelopmentLine() ) or the save will fail with the mesaage that the timeline isn't set. But you can set it to something different from the timeline of the parent.
Is this meaningful? What is the intention of saying "an iteration is in this timeline but a child is in another timeline"?
Or is it just that the server doesn't happen to check that particular bit of relational integrigy and a client should make sure that you set the timeline properly? In other cases, the server does check relational integrity. For example, you must call parentIteration.addChild(newIteration) as well as newIteration.setParent(parentIteration) before the save, or the save fails because they don't match.