I am trying to create environment-neutral configuration files to enable all developers on a project to have a working, local CD environment without having to customize configuration.

The main problem is that everything on the server is in the D:\ drive, but some developers do not have a D:\ drive, or do not want to use this or C:\ for their local environments.

I noticed that you can put environment variables in the logback.xml file to, for example generalize the log file path:

<property name="log.folder" value="${TRIDION_HOME}/log/staging"/>

So long as each developer has a TRIDION_HOME environment variable, the logs will be created in the log sub directory.

I tried this for the license file location in cd_storage_conf.xml:

<License Location="${TRIDION_HOME}/config/cd_licenses.xml"/>

But it doesnt work. I see it fails to load the license in the log:

2013-10-02 08:55:19,670 WARN StorageManagerFactory - Attempt to use license file ${TRIDION_HOME}/config/cd_licenses.xml failed, file does not exist. A LicenseException will be thrown.

Is there another way to inject variables into the Content Delivery configuration files?

1 Answer 1


Another way to solve this might be to have everyone run the same set-up scripts. In the example scripts at Tridion Practice, the Master Setup script begins by setting the following locations, which everyone can set appropriately for their own system.

$InetPub = "C:\inetpub"
$InstallerHome = "C:\Users\Administrator\Downloads\Tridion"
$TempLocation = "C:\Users\Administrator\ScriptTempLocation"
$stagingVisitorsSiteName = $testPrefix + "staging.visitorsweb.local"
$stagingUploadSiteName = $testPrefix + "upload.staging.visitorsweb.local"
$stagingIncomingDir = "C:\Tridion\incoming\stagingvisitorsweb"
$liveVisitorsWebSiteName = $testPrefix + "www.visitorsweb.local"
$liveUploadWebSiteName = $testPrefix + "upload.visitorsweb.local"
$liveIncomingDir = "c:\Tridion\Incoming\visitorsweb"
$previewDbServerName = "DATABASE_SERVER"
$brokerServerName = "DATABASE_SERVER"
$previewDatabaseName = "Tridion_XPM"
$previewDbUserName = "TridionBrokerUser"
$previewDbPassword = "Tridion1"
$SqlJdbcJar = "C:\Users\Administrator\Downloads\sqljdbc4.jar"
$cdLicensePath = "C:\Program Files (x86)\Tridion\config\cd_licenses.xml"
$LogDir = "C:\Tridion\Log"
  • Thanks Dom. In this case we are not actually installing CD on the local dev machines, but doing a combination of XCopy from the server (for published files) and checkout from SVN (for web application, references and config). For the moment I am working around it by removing the License node from the config and putting the cd_licenses.xml file in the config folder of each web app.
    – Will Price
    Oct 3, 2013 at 7:23
  • The scripts might also help there. You should be able to copy/paste some code to manipulate the configs as you wish. Oct 3, 2013 at 11:46

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.