Flow vs add functionality of components
I ask because of following scenario: (2 Streams, 1 RWS)
- Create a new component in RWS
- Deliver (flow) the component from RWS to S1
- Add the same component (initial baseline) with the add button to S2
- Remove the component in RWS
When setting the flow from RWS to stream 1 and 2 after removing the component from RWS, we get the following result:
- Outgoing (-) to S1 (Flowing from RWS to S1)
- Incoming (+) from S2 (Flowing from RWS to S2)
Why we get an incoming (+) instead of an outgoing (-) in case 2?
We are using RTC 5.0.2 ifix10
2 answers
In your scenario 1, you have the component on the stream, and you don't have it on the RWS after the deletion. The workspace knows that component was deleted from it. Hence the system tells you that and asks you if you want to deliver the component deletion, which is basically just going to remove the component.
In your scenario 2, you don't have the component on the RWS, but the component is on the stream the first time the difference is computed. So there is an incoming component addition.
I don't know if you can get different results if you change the order of events.
Comments
Hello Ralph,
thanks for your quick response. Your answer might be correct for this scenario. I just wanted to keep the scenario simple in my question. But as you said what happens if we changing the order or using another (third) stream.
So, we just flow the same component to another stream s3. Then we have following scenario:
- Create a new component in RWS
- Deliver (flow) the component from RWS to S1
- Add the same component (initial baseline) with the add button to S2
(new step) - Deliver (flow) the component from RWS to S3
- Remove the component in RWS
Now we get the following result when changing the flow targets:
Step 1. Outgoing (-) to S1 (Flowing from RWS to S1)
Step 2. Incoming (+) from S2 (Flowing from RWS to S2)
Step 3. Outgoing (-) to S3 (Flowing from RWS to S3)
So, as you said in your answer I will expect to get another incoming (+) in case 3.
The last operation you did on the RWS was a remove component. So your repository workspace has changed with respect to S3 and the change is removal of a component. So you have the option of removing it from the stream as well, and not an incoming addition. It is fairly logical that it is implemented that way. If someone else adds a component to a stream and you flow with it you see it incomoing. If you have less than the stream it is incoming. If you have more than the stream it is outgoing.
But there is no long term history on RWS or stream that keeps track of component additions and removals, as far as I know. You can't see it in any history. A history is only component based anyway.
Hello Ralph,
thanks again, but just to clarify. I have flowed and added the component on the different streams on my own. I agree with you when someone else adds a new component to a stream then I might see it as incoming addition. But in my case it's always the same component on three different streams. For me the behaviour getting two different results when changing the flows between the three streams (having exactly the same component) is confusing. I have just removed the component in my RWS without a deliver and now the result depends on which stream I flow.
Comments
...my understanding is that if the component has been deleted from the workspace and the date of the removal of the component from the workspace is later than the date of the addition of the component to the stream, then it is treated as an outgoing deletion ... otherwise it is treated as an incoming addition.
This is also my understanding and the reason why I'm asking, because in my scenario I first add/flow the components to the stream and at the end I remove the component out of my rws.
Example with timestamps:
[09:00] Create a new component in RWS
[09:01] Deliver (flow) the component from RWS to S1
[09:02] Add the same component (initial baseline) with the add button to S2
[09:03] Deliver (flow) the component from RWS to S3
[09:10] Remove the component in RWS
The expected behaviour according to your answer will be, that I get in all three cases an outgoing deletion. I don't understand why I'm getting in one case an incoming addition.
Can you please check this behaviour with an empty workspace and a new component according to the steps above.