How to migrate a new design from DEV to PROD

jperreault's Avatar


10 Jul, 2014 07:09 AM

We've been redesigning our website to be responsive. All the design work was being done on our DEV instance. We created new templates, blocks, configuration sets and content types. We are now code complete in DEV.

Meanwhile in production, people have continued updating content.

I need some advice to move the new design from DEV to PROD. I exported the website in DEV, and imported it to PROD.

Then I started moving ( not copying ) files, text blocks, xml blocks and templates from the copied site to the existing site
The first problem I've run into is that the new templates refer to a mixture of blocks and formats from the existing site and the copied site. ( see screenshot ). The paths are exactly the same, but they are different sites. I think I have to manually fix each template, or script an update with API calls to update the everything to use the existing site.

Is there a better way to do this ?

After this, I 'll start copying the content types over, and I'm going to run into similar problems with the mixture of existing site and copied site. Maybe I've approached this wrong?

Can you help me out with a suggestion?



  1. 1 Posted by jperreault on 11 Jul, 2014 09:30 PM

    jperreault's Avatar

    One other problem we ran into....

    After copying the template, format and block folders over, we discovered that the Metadata Set was still referencing the copied site.

    If we had changed the metadata set to the existing site first, would that have prevented the links from being changed ?

  2. 2 Posted by Wing Ming Chan on 17 Jul, 2014 01:28 PM

    Wing Ming Chan's Avatar


    I have been waiting to hear from Hannon Hill on how to solve the problems you have run into. But so far there are no answers. I believe that this is related to the nature of the problems. I do not really understand exactly what causes the weird things. But I may be able to offer you something to try out.

    Long story short. I wanted to write a web service program to synch two sites on two Cascade instances more than a year ago. Back then, I did not have the ability to create assets, to relate one asset to another, like attaching a block to a region of a template. I tried some simple code and failed miserably. But now, I have already built a library to deal with assets. I do have the ability to return to the program I promised myself. I created a class named CascadeInstances a few days ago, which can be used to synch two sites on two instances. So far, I have succeeded in synching seventeen types of assets: DataDefinitionBlock, IndexBlock, FeedBlock, TextBlock, XmlBlock, ContentTypeContainer, ContentType, DataDefinitionContainer, DataDefinition, Folder, XsltFormat, ScriptFormat, MetadataSetContainer, MetadataSet, PageConfigurationSetContainer, PageConfigurationSet, and Template. These asset types can be synched separately. I have also tested synching between two distinct Cascade instances, or two sites on the same Cascade instance.

    When synching assets between two instances, I pay special attention to relating assets. For example, when synching a template from the source site to the target site, I make sure that all blocks and formats attached to the template in the source site are either from the same source site, or from a different site on the same source instance. Then I try to retrieve the corresponding blocks and formats, either from the target site, or from a different site on the target instance, and attach them to the template in the target site. Cross-instance references are impossible. When running into anything irregular, I will throw an exception and flag the problem. This feature may help you clean up the weird links between your two instances.

    If you are interested, please let me know. I can give you the partial classs so that you can try it out to fix the problems you are facing on a test environment.


  3. 3 Posted by Penny on 29 Aug, 2014 01:49 PM

    Penny's Avatar


    I need to better understand your approach to the redesign before I can make suggestions.

    When you went through the redesign did you have 1 to 1 match on redesign page types to existing page types?
    Did you make a consideration for the content fields currently in use?
    How many content types are you working with?

    We have approached this a couple of ways. Our most popular approach if you have the 1 to 1 match of current page types to newly designed page types is to add a new output to the page with the redesign. We will often set this to be not publishable or only publishable to a dev server in the interim. This will require you to update all of your current Configuration Sets to have the new output. If there are variations of page content fields, we would likely add this as an additional hidden field in the current Data Definition. Once the design is set on all page types we may unhide some of those fields to allow end users to customize the new content areas. We have also written web services scripts to copy and combine previously used fields into new fields.

    I hope this makes sense. I am happy to discuss further. Please let me know if you would like to do a call to discuss your exact setup and our recommended processes. Or we can continue the conversation here.


  4. 4 Posted by Jake on 07 Sep, 2014 09:10 AM

    Jake's Avatar

    Penny wrote: "We have also written web services scripts to copy and combine previously used fields into new fields."

    Does HH have any examples posted of this kind of custom script? Wing's awesome site has a lot of related example material, but I'd love to see the HH approach.


  5. 5 Posted by Ryan Griffith on 11 Nov, 2014 07:18 PM

    Ryan Griffith's Avatar

    Hi Jake,

    My apologies for the delayed response to your discussion, I was going over some older discussions and noticed this one is still open. Were you able to work through migrating Sites and mapping data definition fields?

    Does HH have any examples posted of this kind of custom script? Wing's awesome site has a lot of related example material, but I'd love to see the HH approach.

    To my knowledge, we do not have any specific examples since the code tends to be very specific to the client's setup. That being said, if you are still looking for some example code, I can check with the Services team to see if they have any code they can share with you.

    Please feel free to let us know if you have any other questions.


  6. Ryan Griffith closed this discussion on 03 Dec, 2014 03:06 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac