Documentation Center

Configuring the Content Deployer endpoint

Configure where incoming packages should be retrieved from, and a number of queuing and sizing parameters.

Procedure

  1. Open the file deployer-conf.xml for editing.
  2. In the BinaryStorage section, configure the properties of the temporary storage location for incoming content. If your Content Deployer endpoint and Content Deployer worker run on different machines, or if you have multiple Content Deployer endpoints running on different machines, storing incoming content in a Redis database is recommended.
    • To store incoming content temporarily on the file system, within the uncommented BinaryStorage section with its Adapter attribute set to the value FileSystem, set the Path property to one of the following:
      • The absolute path to a folder on the server on which the Content Deployer endpoint and Content Deployer worker are installed.
      • If the endpoint and worker are installed on different machines, a network folder that both the endpoint and the worker can access.

      You can also leave this value set to ${binaryPath} and specify the value in a system environment variable called binaryPath.

    • Alternatively, to store incoming content in a Redis database (from which the Content Deployer removes it after successfully completing the publish transaction), put the existing BinaryStorage section in comments, and uncomment the BinaryStorage section with its Adapter attribute set to the value RedisBlobStorage. In this section, change the values of the various named properties as follows:
      PropertyDescription
      HostThe host name of your Redis database server. You can also leave this value set to ${storageHost} and specify the value in a system environment variable called storageHost.
      PortThe port number of your Redis database server. You can also leave this value set to ${storagePort} and specify the value in a system environment variable called storagePort.
      PasswordThe password required to access the Redis database.
      TimeoutThe time period, in milliseconds, after which the Content Deployer considers the Redis database to be offline.
  3. In the <Queues> section, select which Adapter you want to use for your Content Deployer queue. If your Content Deployer endpoint and Content Deployer worker run on different machines, or if you have multiple Content Deployer workers running on different machines, using a JMS Adapter and a JMS queue is recommended.
    • To use the local file system as your queue, use the uncommented FileSystem Adapter and set its accompanying Destination property to a folder on the server on which the Content Deployer endpoint and worker are installed or, if the endpoint and worker are installed on different machines, to a network folder that both machines can access. You can also leave this value set to ${queuePath} and specify the value in a system environment variable called queuePath.

    • To use a JMS queue instead, enclose the uncommented Adapter and Destination properties in comment delimiters, and uncomment one of the Adapter elements with its Id set to JMS: either the Apache ActiveMQ configuration or the AmazonSQS configuration, depending on which JMS queue software you have. Set the values for the JMS queue properties as follows:
      PropertyDescription
      JMSConnectionFactoryBuilderClassLeave this value as is.
      JMSUriThe URI of your Apache ActiveMQ server (starting with tcp://) or AmazonSQS server (starting with https://).
      UsernameA user who can access the ActiveMQ server or AmazonSQS (if the server is secured and located on a different machine than the Content Deployer endpoint or worker).
      PasswordA password for that user.
      ReceiveTimeoutThe number of milliseconds that ActiveMQ or AmazonSQS is prepared to wait for more data.
  4. In the <State> section, specify the location and credentials of the State Store database in the form of a Storage element. If you installed your State Store database tables in the same database as the Content Data Store (which is what happens by default), you can consult the Storage element for the Content Data Store as found in the Storage Layer configuration file, cd_storage_conf.xml. Note that that Storage element has a different definition than the present one.
    If your State Store database is Oracle, modify the Storage to look like this:
    <Storage Adapter="oracle" driver="oracle.jdbc.driver.OracleDriver">
      <Property Name="host" Value="HOST" />
      <Property Name="port" Value="PORT" />
      <Property Name="database" Value="DATABASE" />
      <Property Name="user" Value="USER" />
      <Property Name="password" Value="PASSWORD" />
    </Storage>
    Alternatively, if your State Store database is not Oracle, modify the Storage to look like this:
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver">
      <Property Name="host" Value="HOST" />
      <Property Name="port" Value="PORT" />
      <Property Name="database" Value="DATABASE" />
      <Property Name="user" Value="USER" />
      <Property Name="password" Value="PASSWORD" />
    </Storage>

    If you installed your State Store database tables in the Content Data Store database, copy the values for the properties from Storage element for the Content Data Store, as found in the Storage Layer configuration file, cd_storage_conf.xml.

    Alternatively, if you installed your State Store database separately from your Content Data Store database, set the property values as follows:
    • Set HOST to the host name of your database server. You can enter a literal value, or you can fill in a parameter such as ${ssdbhost}, which you then resolve in an environment variable, Java property, or pass in with your PowerShell script.
    • Set PORT to the port number of your database server (defaults to 1521 for Oracle, 1433 for Microsoft SQL Server). You can enter the number directly, or you can fill in a parameter such as ${ssdbhost}, which you then resolve in an environment variable, Java property, or pass in with your PowerShell script.
    • Set DATABASE to the name of your State Store database. You can enter the name directly, or you can fill in a parameter such as ${ssdbname}, which you then resolve in an environment variable, Java property, or pass in with your PowerShell script.
    • Set USER to the username of a user with access to your State Store database. You can enter the username directly, or you can fill in a parameter such as ${ssdbuser}, which you then resolve in an environment variable, Java property, or pass in with your PowerShell script.
    • Set PASSWORD to the (encrypted) password of that user of your State Store database. You can enter the (encrypted) password directly, or you can fill in a parameter such as ${ssdbpassword}, which you then resolve in an environment variable, Java property, or pass in with your PowerShell script.
  5. SDL strongly recommends entering any sensitive strings, such as passwords, in encrypted form. You can obtain the encrypted form of a sensitive string by doing the following:
    1. In a command shell, navigate to a location that contains the files cd_core-BUILD.jar and cd_common_util-BUILD.jar, where BUILD is the JAR file's build number. For example, you can find these files on the installation media in the folder Content Delivery\roles\api\rest\java\lib\
    2. Depending on your operating system, enter one of the following commands:
      Windows operating systems
      java -cp cd_core-BUILD.jar;cd_common_util-BUILD.jar com.tridion.crypto.Encrypt INPUT
      Unix operating systems
      java -cp cd_core-BUILD.jar:cd_common_util-BUILD.jar com.tridion.crypto.Encrypt INPUT

      where INPUT is the unencrypted string. (You may wish to redirect output to a file for easy copy-pasting of the tool's response.)

      The tool return the following kind of response:
      SDL Web configuration value = encrypted:9FUJ9CP81Oj63VhnJxcqx//pW3fP4bekeupIexctzcs=

      where the encrypted string is encrypted:9FUJ9CP81Oj63VhnJxcqx//pW3fP4bekeupIexctzcs=

  6. Save and close deployer-conf.xml.
  7. In the Content Deployer configuration folder, open application.properties for editing.
  8. To change the maximum possible size of a file uploaded to Content Deployer, set the spring.http.multipart.max-file-size property to a number followed by Mb or Kb, indicating the desired maximum size in megabytes or kilobytes, respectively.
  9. To change the maximum possible size of a multipart/formdata request to Content Deployer, set the spring.http.multipart.max-request-size property to a number followed by Mb or Kb, indicating the desired maximum size in megabytes or kilobytes, respectively.
  10. Save and close application.properties.