It's all about the answers!

Ask a question

Snapshot promotions between streams for distributed

ed Neubecker (15322847) | asked Apr 03 '13, 10:45 p.m.
edited Apr 04 '13, 2:31 a.m. by Ralph Schoon (63.2k33646)
I have been learning about snapshot promotion which is part of the enterprise extensions of RTC :

I come across many usecases where distributed and embedded s/w teams want to follow a code promotion strategy like this where they have streams for Dev-QA-Prod.  This promotion capability would be very useful for distributed customers.The promotion capability described in the infocenter requires some definition of a package and other things that are not really applicable to the distributed world.
All I really want to figure out is how to promote a snapshot from one stream to another and control that promotion via some work item workflow within RTC. Is this possible without having perform this operation as a user that switches flow targets in a specific workspace.

Accepted answer

permanent link
Geoffrey Clemm (30.1k33035) | answered Apr 07 '13, 1:49 a.m.
Starting in 3.0.1, you can deliver directly from one stream to another in the Pending Changes view (unless there is a conflict, which you would have to resolve in a workspace).  For controlling the promotion, you can declare that approvals are required on a work item for it to be delivered ... does that give you sufficient control?
ed Neubecker selected this answer as the correct answer

ed Neubecker commented May 09 '13, 2:17 p.m.

Hi Geof,
In my scenario the people that "approve" the promotion tend to NOT be developers, but they govern the code in their respective environments. (Think Operations people in a small company that does not have a real release engineering team). The RTC streams represent their environments (DEV/QA/Prod).  I have seen this with 3 different customer scenarios now. The enterprise extension for promoting work items is nicely aligned with the scenario they are looking for, but I can't figure out if this is possible for a distributed SCM scenario. I will explore your suggested method and try to make it easy for the non technical user.

btw....this request tends to come from customers that are familiar with Harvest or CA's SCM solution where they have the ability to "promote" packages(which are like change sets) from one stream to another without having to really get into a developer IDE.

ed Neubecker commented May 15 '13, 7:38 a.m. | edited May 15 '13, 7:45 a.m.

Here is a picture of what I am trying to do.  Governing delivery by an approval almost works for me but I would need a custom approval for each stream (3 unique approvals to map to each environment). Is this possible?  If so, how.
Or if there are other ideas to accomplish the same requirement I am eager to explore them.
  RTC Distributed deliveres

Geoffrey Clemm commented May 16 '13, 12:18 a.m.

One approach to have different approvals for different streams would be to use the "Require work items to Match Query" deliver precondition.  Then you could use the "Approval Descriptors > Name" query term to specify that the approval name has to include the name of the stream, and use the "Approvals > State" query term to specify that the approval state must be approved.  Note that you would have to have each stream be in its own team area, so that each stream would have a different query in the deliver precondition.

One other answer

permanent link
Ralph Schoon (63.2k33646) | answered Apr 04 '13, 2:30 a.m.
Hi Ed,

I would assume it would be possible to use some custom RTC extensions that provide a similar capability with slightly adjusted requirements. The Enterprise Extensions are basically also just capabilities provided as RTC extensions shipped with the product. It should be possible to code up something similar.

Writing these kind of extensions is however not trivial. Here is a good place to start getting an understanding. It leads back to the RTC Extensions Workshop, you would run to get started. I am not familiar with the EE promotion mechanism, so I can't tell what kind of code you would have to write.

ed Neubecker commented Apr 06 '13, 11:38 p.m.

Another way to explain what I am trying to do is to move a specific snapshot (or baseline) from one stream to another and I would like to have this move easy and governed by a work item.
I don't want to force a user to deal with loading a workspace and changing flow targets. It is too confusing to the new RTC user.
..This is essentially what the "promote" feature does for the enterprise extensions, but it has some specialized configuration options that are unique to the mainframe world that are not applicable to the distributed world.

Any thoughts on how to make this scenario easier but keep it governed by a work item in capability that is available today?

Your answer

Register or to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.