Sitecore 9 Feature: xConnect Configuration Environment (XConnectEnvironment SIF Parameter)
If you deploy xConnect using the SIF Framework, you will notice a JSON Parameter named “XConnectEnvrionment” with a description of “The configuration environment for this instance” containing a default value of “Development”.
"XConnectEnvironment": {
"Type": "string",
"DefaultValue": "Development",
"Description": "The configuration environment for this instance."
},
So, what is the purpose of this parameter? It actually unlocks a powerful feature of Sitecore 9 where you are able to set the configuration environment of xConnect allowing you to leverage different configurations for differing environments/development and testing scenarios.
As an example, you might have a specific configuration used during development which must be disabled in Production. By declaring the configuration environment and deploying to differing directories (ex. directories for Development, QA, Staging, and Production) the declared configuration environment variable will put the proper configuration in place.
Specifically, you would want to have a Global directory for common custom configurations, and directories for each environment within the App_Data\config path. This could look as follows:
“App_data\config\Global” – configuration folder for common custom configs
“App_data\config\Development” – configuration folder for Development specific configs
“App_data\config\Production” – configuration folder for Production specific configs
…. “App_data\config\other environment directories (i.e. QA, Staging, etc.)