Currently we are running Sitecore 8.1 Update 3 and planning for sitecore 9 Update-1 upgrade.

We have following set up currently:

1 CM server

1 Processing server

4 CD server

3 SolR/Zookeeper

Mongo hosted on mLab ( Database as a service )

We are planning to upgrade CM server first as we know we would need /installationwizard.aspx URL to install packages.

This process will update/add few config files in /App_Config folder. Once done we'll look at files in /App_Config folder by descending date and move/overwrite all to processing and CD servers.

Is it preferred option?

Now because we are keeping code in bitbucket repository so all these new config updates should be there in bitbucket so that all team members can get latest Sitecore 9 config files.

Should we update all config files by looking at line by line in project solution? This looks like really a time consuming process.

Below link says no MongoDB in Sitecore 9 If so what will happen with MongoDB data which is running right now. Sitecore 9 xDB Support for MongoDB Does this means mLab hosting provider will be out of picture.

How does this migration happened. Do we need to set up new blank collection database on mLab hosting provider so that we can migrate data from xDB 8 to xDB 9

UPDATE 3/21/2018

As per suggestion we are planning below approach

  1. Set up a new SQL 2016 server and migrate xDB data usingxDB Data Migration Tool 2.0.1

  2. Use the upgrade packages to upgrade content databases( core,master,web ) as per Sitecore 9 upgrade guide.

  3. Install a fresh instance of SC9 Update-1.

  4. Set the connection strings to upgraded databases.

  5. Deploy custom code from existing installation(8.1 Update-3 ) into this new instance.

Apart from this application contains some code related to MongoDB as given below. Does that mean before we deploy custom code on new SC 9 instance we need to change whole code If so how do we know SC 9 compatible code

public OrderResponse GetSubmitOrderResponse()
            if (!Tracker.IsActive || Tracker.Current == null)
            if (Tracker.Current.Contact.Attachments.ContainsKey("Order-Response"))
                return Tracker.Current.Contact.Attachments["Order-Response"] as OrderResponse;
            return null;

Looks like moving to SC9 is big effort

1 Answer 1


it is difficult to answer your question completely, but I'll do my best.

I do not recommend the approach you have here, lots of things can go wrong. For instance, the config files should not be the same on your CDs and processing.

Configuration Files

Sitecore 9 configuration has changed quite a bit and now uses configuration layers and configuration rules for specifying roles. Your best bet is to make sure that your own config changes are isolated in separate config patches and not in the core Sitecore config files. There are a lot of blogs on how to do this, but typical first step is to compare against a clean install of the same current version and see what you have changed and create patch installs from that. The Upgrade package will also try to do this for you, if you'd rather use it to find these changes for you.

New Installation vs In-Place upgrade

You likely want execute new installations for your target Sitecore installations and point at your upgraded content databases and xDB databases. With the new XP Services and such, you could go about tweaking the default install scripts, but it may be easier to just setup the infrastructure completely from scratch and point to dbs.

Upgrading DBs and xDB on SQL Server

You can run the upgrade to upgrade your content database and run the XDB migration tool to convert your xDB data from Mongo to SQL Server. You will no longer need mLab at this point and can use your standard SQL Server hosting. If you would prefer to use Mongo, you will need to wait for an update of Sitecore 9 which supports Mongo for the xDB.

  • thanks actually it's my first upgrade so all these info would be helpful... How do we know Sitecore 9 Update -1 support MongoDB as a collection databases or not
    – Sukhjeevan
    Commented Mar 11, 2018 at 6:41
  • And any suggestion maintaining all config changes in source control repository like bitbucket
    – Sukhjeevan
    Commented Mar 11, 2018 at 6:56
  • 2
    Mongodb is not supported for Sitecore 9.0 or 9.0.1 Commented Mar 11, 2018 at 17:36
  • @Sukhjeevan: As Vlad points out, Mongo DB support is not yet available on Sitecore 9. The migration tool will take you to SQL Server so you can use that for now. As for config file strategies for source control, that should be a separate question. But, it's so open-ended that it may get closed as not able to be answered. Try googling for "sitecore config patches" to learn about how others are doing it, and join Slack to speak with others to get their ideas. If you have a specific question after that, post that to SSE. Commented Mar 12, 2018 at 0:23
  • 1
    @Sukhjeevan yes correct. If you deploy your solution without changing the sitecore references it will crash the application once deployed Commented Mar 22, 2018 at 5:23

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.