3

I have business partner requirements for concurrent content development in different streams of a single Tridion site. This will allow the applications that interact with our .com site to request changes that are needed specifically for their application roll out and not affect the live site. Once the development is done for that application in the independent stream, the changes will need to be synced up the changes that have been on going to the live stream. This sync will then produce a final stream that can be deployed out with static content changes and application changes in one.

In essence, they are looking for functionality that exists within code management systems like Subversion or TFS with Branching and Merging.

I know something could be done with a CoreService application comparing the two streams and presenting the user with a merge prompt of some kind...but that is a little extreme I think. Has anyone else ever had these requirements? Are there any extension that comes close to this? Are we crazy for asking?

Thanks in advance.

3

Though what you ask for is not crazy, it is not something that you can do trivially. As someone smarter than me once said, "branching is easy, the problem is merging".

I've seen this same problem solved/worked around in various ways:

  1. Use something like DD4T, make sure your code is stored outside of Tridion, and use other deployment mechanism for code.
  2. Create a set of publications under your sites (so at the bottom of the blueprint, inheriting from the live sites) and work your changes there. Once happy, "move" these changes up the blueprint. You'd need to work out that part (the moving up in the blueprint), but that's a much smaller challenge than creating branch & merge functionality.
  3. Do it slowly and painfully.
| improve this answer | |
  • I'm too slow, I repeated #2 but also offered the opposite (publications from above). :-) – Alvin Reyes Aug 21 '13 at 20:11
  • Had to take the 1st answer :) sorry Alvin. We are unfortunately going with option 3. Business will be branching off versions of components and we will be using a custom CoreService application to "assist" them in merging. Thank you for the options and input. – Trevor Bartlett Aug 23 '13 at 15:02
  • I've seen a similar page-level scenario for "parallel" content development, but instead of version control, you'd have multiple pages. Event system, GUI extension, or delivery side logic (routing) handles the "swap." Merge would still be the hardest part. Good luck. :-) – Alvin Reyes Aug 28 '13 at 7:29
2

For code and the occasional config file, I don't see version control as being an issue. See some examples in the community:

It's worth noting you can try to be creative with BluePrinting, though I wouldn't recommend it except (maybe) for a well-defined process where everyone understands localization and Tridion dependencies.

In Place Parent Publications

I've outlined an "in-CMS" BluePrint scenario that lets pending changes occur in a parent publication, though it's very specific to an industry (and one-language sites). I wouldn't recommend it unless an organization knew what it was doing.

The idea would be to "branch" changes in the parent and unlocalize children to accept those changes (scary, I know).

In Place Child Publications

I've seen the opposite, where a customer intended to create "branches" of sand-boxed versions of a site in child publications with the idea of merging changes up (either manually or with the Core Service).

Not sure if this made it into production, but the list of situations to manage is not trivial. See some things to consider in this answer.

In terms of managing sets of changes, 2013's Bundles can help manage content ports. Up to you if using multi-item workflow sounds appealing for the use case.

It's not a crazy question, but it assumes Tridion relationships are as simple as flat files that can be "diffed" and compared.

| improve this answer | |
  • Thanks Alvin, your post helped me spot a couple of broken images on our blog :). All fixed now! – Chris Morgan Aug 22 '13 at 1:38
  • It's a nice post showing a practical real-world continuous build scenario. I didn't recognize it at first with the new (as of circa 2013) design. :-) – Alvin Reyes Aug 22 '13 at 23:56
1

Unfortunately this functionality is not available. In Tridion 2013 there is a new feature that allows you to rollback publish transactions to a previous stage, it is not a branching feature but it will allow you to undo changes in the delivery side.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.