It's all about the answers!

Ask a question

Lock and Hide a stream

p m n (271913) | asked Dec 18 '13, 7:51 p.m.
retagged Dec 20 '13, 1:21 p.m. by David Lafreniere (4.8k7)
I'd like to know if there is a way to lock and hide old streams - much like ClearCase's lock/obsolete facility. 

I currently lock streams by adding a "Restrict Change Set Delivery To Components in a Stream" pre-condition (under Project Area | Team Configuration | Operation Behavior | Deliver(Server) ). Though this blocks any further deliveries to the 'locked' stream, the stream is still sitting around in the project area taking up real-estate. Initially, this was not a problem; however, the number of streams has increased substantially of late and this is causing clutter and confusion. 

I'd like to know 
1. If these locked streams can be hidden from view, and
2. If there is a better way to lock streams than the one I use now.

BTW, I found the following related questions/articles -

which talk about moving the streams to a read-only project area to hide them. I'm, however, reluctant to create more project areas and am trying to find out if there is another way to achieve what I want. 

Accepted answer

permanent link
Geoffrey Clemm (30.1k33035) | answered Dec 19 '13, 12:42 a.m.
The simplest way to lock/hide a stream is to create a snapshot of the stream, and then delete the stream.   If you ever need the stream back, you can just re-create the stream from the snapshot (this restores both the current configuration and full history of the stream).   Note that if you delete the stream from the Eclipse GUI, you are automatically prompted to create a snapshot.
David Lafreniere selected this answer as the correct answer

p m n commented Dec 19 '13, 2:59 a.m.

Thanks, Geoffrey. BTW, when the stream is deleted what happens to all the workspaces that use this stream as their flow-target? How will they be affected?

And, is there another solution that comes short of deleting the stream? I'm looking for something that is not as invasive as deleting the stream itself.

I also had a question about locking streams and I do it a certain way currently (mentioned in the main question). Do you think this is the best way to do it?

Stephen Long commented Dec 19 '13, 4:13 a.m.

Streams should be treated as transient objects.  Once they have served their purpose, they should be deleted or archived (you can move them to another project).  When deleting Streams it should be noted that all Snapshots owned by a Stream will be deleted also, so you should change the ownership of the Snapshots that you want to keep to another Stream.

It is not possible to Lock a stream, but you can prevent Deliveries to it, which has the same effect.  Under Operational Behaviour select Deliver(server) operation.  The Restrict Change Set Delivery to components in a Stream pre-condition can be configured to acheive the lock.

On the subject of deleted flow targets, the deleted flow target will appear as a GUID in the list of flow targets instead of the name.  Obviously you cannot deliver to it.  Users should just remove it from their Workspace.

Geoffrey Clemm commented Dec 19 '13, 5:05 p.m.

WRT the snapshots that belong to a stream, in 4.0.5 in the Eclipse client, if the stream owns a snapshot, it will not let me delete a stream until I have changed the ownership of that snapshot to be a different stream or workspace.

p m n commented Dec 19 '13, 6:27 p.m. | edited Dec 19 '13, 6:28 p.m.

@Stephen: The way I currently lock streams is the way you mentioned (given in my main question). So, there is no other way to do this then. That is good to know.

@Stephen, @Geoffrey: I get prompted to move all snapshots to another stream even in v4.0.3. BTW, if I wanted to manually move snapshot ownerships (i.e without the delete action prompting for this), how do I do it? 

[BTW, is there a way to see when a stream was created, who created it etc?]

Geoffrey Clemm commented Dec 20 '13, 1:41 a.m.

To move all the snapshots of a stream, right click on the stream and select "show -> snapshots".  Then multi-select all of the snapshots, right-click and select "Set Owner".

WRT when a stream was created and who created it, that information is stored in the repository, but is not currently exposed in the GUI.

Your answer

Register or to post your answer.