4

I'm sure you've been in this spot. Client has a QA and a Prod environment, but over time they stopped using best practices, and they have only been authoring content/template changes in Prod, nothing in QA.

Sitecore version 8.2.

I want QA to match Prod in preparation for a large project.

What's the approach to get QA to match Prod?

  • Is it generally just copy the DB's and that's it for all Sitecore content/templates/config?
  • What DB's should I move over to QA? All of them? Any gotchas after moving the DB's?
  • Any hope for moving over PDF's/images/other media to QA that were only uploaded and used in Prod thus-far? (I assume media files are NOT stored in the DB, but don't know how to verify)
  • Any hope for moving over custom code to QA (since Prod has had different code deployed to it over time)?
  • 3
    Sitecore Sidekick – Mark Cassidy Sep 23 at 15:15
  • 2
    @MarkCassidy - I'm not familiar with Sitecore Sidekick. I think it'd be great if you posted an answer with a little more info/notes on what Sitecore Sidekick gives you with respect to this question (i.e. which/all of my bullets does it help with?). ---- it will help everyone if someone like yourself who's already familiar with it posts key important info about it, so others can benefit from your existing familiarity with it. – Don Cheadle Sep 23 at 16:29
4

When we need to do this type of content refresh, we generally follow the below steps:

  1. Backup the PROD and QA master databases.
  2. Restore a backup of the PROD master database into the QA database server.
    • Note: you may need to stop the AppPool for your CM environment to perform this restore.
  3. Deploy the latest code and developer-controlled Sitecore items to the QA environment.
    • Note: in our case, there are typically newer items in QA because it's farther ahead in the development pipeline. Things like template changes, settings changes, new base folders, etc. Those items will need to be added back into QA after restoring from PROD.
  4. If your deployment process does not cause the application to restart, clear the Sitecore cache:
    • https://sitecore-server/sitecore/admin/cache.aspx
  5. Update any QA-specific Sitecore items. Some potential examples:
    • Publishing targets and their database names
    • External connector settings items (e.g. modules)
  6. Publish the /sitecore item with subitems to all publishing targets
  7. Rebuild all content-based search indexes (you can probably safely skip the sitecore_core_index)
  8. Rebuild the links databases

Regarding your other questions:

  1. Copying the master database will cover all the content. If you need security or other Sitecore application configuration changes, you may want to include the core database, too.
  2. The only gotchas after moving the databases should be obvious: you brought everything over from PROD so make sure to update any environment-specific settings necessary in QA.
  3. Your media items should be stored in the database. You can verify by loading showconfig.aspx and checking the Media.UploadAsFiles and Media.DisableFileMedia settings (they should be set to false and true, respectively).
  4. You should definitely get your code in QA up-to-date with what's in PROD, but you will need to make sure that it can be safely copied to QA. Does the code or configuration in PROD have anything PROD-specific. Likely there are at least connection strings that need to be adjusted, but there may be more.
  • Thanks Dan for listing out all the steps you'd take and addressing my questions. Marking this as the Answer for now. I'll probably be back here to comment at you after I actually get closer to trying this stuff out :D. For one thing I'm surprised - you're really just saying to only copy master DB and that should be all the items? I've seen for this Prod instance, there's other DB's like Analytics, core, web too (maybe 1 other I'm forgetting). – Don Cheadle Sep 23 at 19:31
  • @DonCheadle - You can certainly copy other databases, but master will contain all of the templates and content. If you copy the other databases you will get more than that, which you may or may not want. For example: core will bring security; Analytics will bring all the compiled visit data from xDB; web will bring all the published content (but that's not necessary if you perform step 6 above). – Dan Sinclair Sep 23 at 21:09
  • Hey Dan - can you elaborate on 1. Rebuild all content-based search indexes and 2. Rebuild the Links Databases ? I'm afraid I don't know what you're referring to, i.e. why do those things matter/what is that in Sitecore, or how to rebuild them :( – Don Cheadle Sep 30 at 18:39
  • Rebuilding Sitecore indexes: doc.sitecore.com/developers/90/… – Dan Sinclair Sep 30 at 19:20
  • 1
    Yes - that will include all the content, which you will want to update in the destination databases. – Dan Sinclair Oct 3 at 2:34

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.