11

I have several TDS projects in a solution, all of them have the same deployment properties (such as the access GUID, deployment folder), package metadata (author, version, etc.) and validation settings. When I need to change any part of configuration, I have to apply it in every project, one-by-one.

Is there a way to share these settings from a centralized place?

1 Answer 1

19

TDS has a feature named Global Config File that allows you to define the value of any TDS project setting in a centralized manner.

Setting up the TdsGlobal.config

To start using this feature, right click on the solution and click "Add Global TDS Config file":

Add Global TDS Config file

TDS will add a new folder to your solution, containing the file TdsGlobal.config:

TdsGlobal.config

In this file, you will be able to set global settings that will be applied for all TDS projects in your solution. You can also set settings per build configuration. So, for example, release settings can be different from debug settings.

User configuration

You can create user settings both for TDS project files (e.g. SomeProject.scproj.user) and for the global config file (TdsGlobal.config.user). The order of precedence is the following:

  1. TdsGlobal.config.user
  2. SomeProject.scproj.user
  3. TdsGlobal.config
  4. SomeProject.scproj

So if a setting was defined in TdsGlobal.config, its value can still be overridden on project level (SomeProject.scproj.user), which in turn can be overridden by TdsGlobal.config.user.

Format of TDS settings

The format of TdsGlobal.config matches that of TDS project files. So if you are wondering what the allowed values are for some of the settings, you can first apply the desired setting value in a single project, then open the corresponding .scproj file and see the value there.

For example:

Recursive deploy action

This setting in the UI will be saved as the following XML node:

<RecursiveDeployAction>SitecoreRecycle</RecursiveDeployAction>

List of available settings

  • PackageAuthor
  • PackagePublisher
  • PackageVersion
  • PackageReadme
  • SitecoreAssemblyPath
  • GeneratePackage
  • SeperateFilesAndItems
  • PackageExcludeCode
  • AddDateTimeToPackageName
  • SitecoreWebUrl
  • SitecoreDeployFolder
  • RecursiveDeployAction
  • InstallSitecoreConnector
  • SitecoreAccessGuid
  • DisableFileDeployment
  • NuGetGenerateNuGetPackage
  • NuGetExePath
  • NuGetSummary
  • NuGetDescription
  • NuGetTitle
  • NuGetVersion
  • NuGetPackageId
  • NuGetAuthors
  • NuGetProjectUrl
  • NuGetTags
  • NuGetRequireLicenseAcceptance
  • NuGetReleaseNotes
  • NuGetLanguage
  • NuGetOwners
  • NuGetCopyright
  • NuGetLicenseUrl
  • NuGetIconUrl
  • NuGetDependencies
  • EnableValidations
  • ValidationSettingsFilePath
4
  • 1
    The Hedgehog article isn't the most clear on the values to use...are they exactly what you see in the TDS properties? I'm thinking like for dropdowns, is there some code or is it the text of the dropdown? Commented Oct 15, 2016 at 2:22
  • @KenMcAndrew it's true or false for dropdowns. If you have a question for some particular setting, feel free to ask. Commented Oct 15, 2016 at 3:01
  • What about multiple dropdowns like RecursiveDeployAction? Commented Oct 15, 2016 at 10:00
  • 2
    @KenMcAndrew Thanks for asking that. I have now updated my answer to include this information. In regard to RecursiveDeployAction specifically, the allowed values are Ignore, Delete and SitecoreRecycle. Commented Oct 15, 2016 at 13:54

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.