OK. So we're in 8.5 but I don't think that's of any consequence.

We have

  • a BPT/TopType of Live,Stage
  • a BPT/TopType of SomethingElse

We want to move to a single BPT showing Live, Stage, SomethingElse.

Now, we unpublished the SomethingElse, we removed the mappings, we removed from the SomethingElse TopType and removed the SomethingElse BPT.


Now we want to Add/Set or ?? the Purpose SomethingElse to our one and only TopType (we can look to rename it and all that jazz later).

Of course, it's in use - but this means we can't, apparently, add to it. This thought compounded after reading this answer/comments on Add EnvironmentPurpose to existing TtmCdTopologyType.

We are doing this in PRD and we have, as noted above, LIVE and STAGE. Aside from the fact there are about 250,000 items to (un)publish in all - as the name suggests - these are LIVE and STAGE and we're not unpublishing.

Now, I can see that we could add the Purpose SomethingElse to the comma-delimited list of Env purposes in the Tridion.TopologyManager.Data.CdTopologyTypeData but, of course, this is a database table and something I'm not recommending we touch without Support (if you're reading this - thanks for picking up the call).

Any creative ideas or even better something I've simply missed?

1 Answer 1


Firstly, I would not recommend adding any values to the database directly. I think you are headed the right direction when you linked your question to the other stackexchange response. Logically, the below should work or work around the problem that you are facing.

I would suggest simply creating a new topology type with LiveII, StageII and SomethingElse.

You can try to use Convert-TcmPublishStates documented HERE to move from LIVE to LIVEII and Stage to StageII. I ran into an issue with wrongly mapped topology types and have used it in the past to get around things. I suggest that you try out the scripts in the lower environment, before implementing it in production.

I would suggest stopping the publisher and cleaning up your existing "in-progress" publishing transactions to have the script run cleanly. It would take a few minutes when you are running it against a production environment, based on the number of transactions.

Hoping the above would help bridge the missing link.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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