Lock and Hide a stream
Accepted answer
Comments
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?
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.
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.
@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.
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.