If you are exploring or adopting global configurations in the IBM Collaborative Lifecycle Management (CLM) solution, you have likely come across personal streams – whether you realized it or not!
Personal streams are closely related to change sets, and only come into play if you are using global configurations. A personal stream groups change sets with the broader GC context, meaning:
- From your change set, you can still use and create links across component streams within the GC.
- You can work in change sets for multiple streams of the GC at the same time
- You can share change sets with other team members.
Let’s take a closer look at how personal streams work. Say you are working in a stream in Rational DOORS Next Generation (DNG), in the context of a global configuration that includes contributions from other DNG and Rational Quality Manager (RQM) components. When you work in a change set for your DNG stream, you probably still want to see the links to and content from those other component streams in the GC. So when you create your change set, the system automatically creates you a personal stream (PS) that becomes your configuration context.
Your PS includes or references the GC itself, and adds your change set at the top of the hierarchy. As you make changes, you still have the context of the GC and can see the artifacts in the other component contributions, follow/create/delete links, add or change linked artifacts, and see changes that others make to the content in those streams.
The personal stream is per user, per global configuration. As you create and deliver change sets, the system automatically manages your PS to add and remove the change set. You can also view and modify your PS directly in the GCM application.
Where a personal stream is really important is when you are making changes across linked component streams, especially where both streams mandate change sets. In that scenario, your configuration context must include change sets for both of those streams. To add change sets for more than one component stream:
- In the first component stream, in the GC context, create your change set. Your PS is automatically updated and set as your context.
- Switch to the second component stream. With your context set to either your PS or the same GC, create your change set. Your PS is automatically updated with the additional change set, and set as your context.
In most cases, the automation handles everything you need. You can also modify the PS directly in the GCM application, which is useful if you want to:
- Add a change set that already exists, including one that someone else created
- Switch between different change sets for the same component stream, since you can include only one change set per stream at a time. If you add a second change set from the same component stream, it replaces the original change set; the original change set is still there and active, and you can switch back to it later.
A few things to be aware of:
- Delivering a change set removes it from your PS; however, you still remain in the PS context, in case you had other change sets for other streams. You can manually switch to a different context. (Fun fact: a PS with no change sets is essentially the same as the GC it’s based on.) The PS persists and is reused the next time you create a change set for the same GC.
- Personal streams are personal; each user has their own, and you can’t switch to another user’s PS context.
- Be careful when creating “incoming links” to artifacts in a change set in a PS. If the artifact that owns the link is in a stream, the link might get created even if you don’t deliver the change set. For example, if you create a validated-by link to an artifact in a DNG change set, RQM creates and stores the link immediately, regardless of change set delivery.
- Similarly, when linking across DNG component streams, you might need a change set for both streams in your PS to ensure that either side can store the link. In this case, you need to deliver both change sets to correctly create the link.
- To use personal streams as described here, users need permission in the GCM application at least to create and modify personal streams (there are also permissions for archive/restore and scrubbing personal streams). The Contributor role includes the necessary permissions.
I hope that has helped demystify personal streams, and given you insight into how you can use them to do interesting things like share change sets or coordinate changes in change sets across multiple component streams.