# Webserver Plugin Manual 4.0.3

## Introduction

This document describes the functionality provided by the Webserver plugin.

See the XL Deploy Reference Manual for background information on XL Deploy and deployment concepts.

## Overview

The webserver-plugin is a XL Deploy plugin that supports deployment of web content and webserver configuration to a webserver.

### Features

- Supports deployment to Apache and IHS webservers.
- Deploys and undeploys webserver artifacts:
  - Web content (HTML pages, images, etc.)
  - Virtual host configuration
  - Any configuration fragment
- Supports starting, stopping and restarting of webservers as control tasks.

### Requirements

- XL Deploy requirements

  - XL Deploy: version 4.0+
  - Other XL Deploy Plugins: None

- Infrastructural requirements

  - User credentials for accessing the webserver executables on the host running the webserver.

## Usage

The following table describes which deployable/container combinations are possible.

### Deployable vs. Container table

Deployable | Container | Generated deployed
--- | --- | ---
www.WebContent | www.ApacheHttpdServer | www.PublishedWebContent
www.ApacheVirtualHostSpec | www.ApacheHttpdServer | www.ApacheVirtualHost
www.ApacheConfFragmentSpec | www.ApacheHttpdServer | www.ApacheConfFragment

The following table describes the effect a deployed has on it's container.

### Deployed Actions Table

Deployed | Actions performed for operations
--- | ---
| Create | Destroy | Modify
www.PublishedWebContent | Create target path on webserver, if needed Copy web content to target path on webserver | Delete web content from host | Delete existing web content from webserver Copy modified web content to target path on webserver
www.ApacheVirtualHost | Copy virtual host configuration to webserver | Delete virtual host configuration from webserver | Delete virtual host configuration from webserver Copy new virtual host configuration to webserver
www.ApacheConfFragment | Copy configuration fragment to webserver | Delete configuration fragment from webserver | Delete configuration fragment from webserver Copy new configuration fragment to webserver

### Using www.ApacheVirtualHost

The following is a manifest snippet that shows how web content and a virtual host can be included in a deployment package. The web content CI refers to a folder, html, included in the deployment package.

    <udm.DeploymentPackage version="2.0" application="PetClinic-ear" >
        <jee.Ear name="PetClinic" file="PetClinic-2.0.ear" />
        <www.WebContent name="PetClnic-html" file="html" />
        <www.ApacheVirtualHostSpec name="PetClinic-vh">
            <host>*</host>
            <port>8080</port>
        </www.ApacheVirtualHostSpec>
    </udm.DeploymentPackage>

### Using www.ApacheConfFragment

Defining a new fragment to deploy to the Apache configuration takes two steps:

1. Defining the type of configuration fragment and its properties
2. Supplying a template for the configuration fragment implementation, per default the script searches for `DEPLOYIT_HOME/ext/www/apache/${deployed.type}.conf.ftl`.

Example:

1. Define an `ApacheProxyPassSetting` type in `DEPLOYIT_HOME/ext/synthetic.xml` :

        <type type="www.ApacheProxyPassSetting" extends="www.ApacheConfFragment" deployable-type="www.ApacheProxyPassSpec">
         <generate-deployable type="www.ApacheProxyPassSpec" extends="generic.Resource" />
         <property name="from" />
         <property name="to" />
         <property name="options" required="false" default="" />
         <property name="reverse" kind="boolean" required="false" default="false" />
        </type>

2. Create a `www.ApacheProxyPassSetting.conf.ftl` in `DEPLOYIT_HOME/ext/www/apache`:

         --- start www.ApacheProxyPassSetting.conf.ftl ---
         ProxyPass ${deployed.from} ${deployed.to} <#if (deployed.options?has_content)>${deployed.options}</#if>
         <#if (deployed.reverse)>
         ProxyPassReverse ${deployed.from} ${deployed.to}
         </#if>
         --- end www.ApacheProxyPassSetting.conf.ftl ---

# CI Reference

## Configuration Item Overview

### Deployables

### Deployeds

### Containers

### Other Configuration Items

## Configuration Item Details

### www.ApacheConfFile

Type Hierarchy | generic.File >> udm.BaseDeployableFileArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FileArtifact

Apache configuration file

|  | Public Properties
--- | --- | ---
|  | checksum : STRING
|  | The checksum used to detect differences on the artifact. If not provided, it will be calculated by XL Deploy.
|  | excludeFileNamesRegex : STRING
|  | Regular expression that matches file names that must be excluded from scanning
|  | placeholders : SET_OF_STRING
|  | Placeholders detected in this artifact
|  | scanPlaceholders : BOOLEAN = true
|  | Whether to scan this artifact for placeholders when it is imported
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.

|  | Hidden Properties
--- | --- | ---
|  | textFileNamesRegex : STRING = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
|  | Regular expression that matches file names of text files
|  | delimiters : STRING = {{ }}
|  | The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
|  | fileEncodings : MAP_STRING_STRING = {.+\.properties=ISO-8859-1}
|  | A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings

### www.ApacheConfFragment

Type Hierarchy | generic.ProcessedTemplate >> generic.AbstractDeployedArtifact >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

Deployed generated Apache configuration file

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Public Properties
--- | --- | ---
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | createOrder : INTEGER = 50
|  | The order of the step in the step list for the create operation.
|  | createVerb : STRING = Deploy
|  | Create Verb
|  | destroyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | destroyOrder : INTEGER = 40
|  | The order of the step in the step list for the destroy operation.
|  | destroyVerb : STRING = Remove
|  | Destroy Verb
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | modifyOrder : INTEGER = 50
|  | The order of the step in the step list for the modify operation.
|  | modifyVerb : STRING = Modify
|  | Modify Verb
|  | noopOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | noopOrder : INTEGER = 50
|  | The order of the step in the step list for the noop operation.
|  | noopVerb : STRING = Modify
|  | Noop Verb
|  | targetDirectory : STRING = ${deployed.container.configurationFragmentDirectory}
|  | Target directory name
|  | targetFile : STRING = ${deployed.name}.conf
|  | Target file name
|  | template : STRING = www/apache/${deployed.type}.conf.ftl
|  | Configuration fragment template file name.
|  | createTargetDirectory : BOOLEAN = false
|  | Create the target directory on the generic server if it does not exist.
|  | inspectClasspathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
|  | inspectScript : STRING
|  | Classpath to the script used to inspect the generic container.
|  | inspectTemplateClasspathResources : SET_OF_STRING
|  | Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
|  | restartRequired : BOOLEAN = true
|  | The generic container requires a restart for the action performed by this deployed.
|  | restartRequiredForNoop : BOOLEAN = false
|  | The generic container requires a restart for the NOOP action performed by this deployed.
|  | targetDirectoryShared : BOOLEAN = true
|  | Is the target directory shared by others on the generic server. When true, the target directory is not deleted during a destroy operation; only the artifacts copied to it.

### www.ApacheConfFragmentSpec

Type Hierarchy | generic.Resource >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.ConfigurationItem

Specification for an Apache configuration fragment.

|  | Public Properties
--- | --- | ---
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.

### www.ApacheHttpdServer

Type Hierarchy | generic.Container >> generic.BaseGenericContainer >> udm.BaseContainer >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.ConfigurationItem, generic.GenericContainer, udm.Container, overthere.HostContainer

Apache HTTPD web server

|  | Parent
--- | --- | ---
|  | host : CI<overthere.Host>
|  | Host upon which the container resides

|  | Public Properties
--- | --- | ---
|  | configurationFragmentDirectory : STRING
|  | The directory into which Apache configuration files (for virtual host definitions) should be written
|  | defaultDocumentRoot : STRING
|  | The directory in which document roots for virtual hosts should be created. Web content deployed without a virtual host will also be copied into this directory
|  | restartWaitTime : INTEGER = 10
|  | Duration (in secs) to wait after the restart server step has been executed
|  | startCommand : STRING
|  | The command to start Apache. Arguments containing spaces are not supported
|  | startWaitTime : INTEGER = 10
|  | Duration (in secs) to wait after the start server step has been executed
|  | stopCommand : STRING
|  | The command to stop Apache. Arguments containing spaces are not supported
|  | stopWaitTime : INTEGER = 10
|  | Duration (in secs) to wait after the stop server step has been executed
|  | envVars : MAP_STRING_STRING
|  | Environment variables for container
|  | restartCommand : STRING
|  | The command to restart Apache. If left blank, reload command is used. If reload command is also blank than the sequence 'stop, start' is used. Arguments containing spaces are not supported
|  | stopStartRestartConnection : CI<overthere.Host>
|  | If set, the connection settings to use to connect to the target system to execute start, stop, restart etc. operations for the container.
|  | tags : SET_OF_STRING
|  | If set, only deployables with the same tag will be automatically mapped to this container.

|  | Hidden Properties
--- | --- | ---
|  | restartOrder : INTEGER = 90
|  | The order of the restart container step in the step list.
|  | restartScript : STRING = <#assign restart=(container.restartCommand)!''><#if restart != ''>www/apache/restart<#else>www/apache/stopstart
|  | The command to restart or reload Apache. If left blank, the sequence 'stop, start' is used. Arguments containing spaces are not supported
|  | startOrder : INTEGER = 90
|  | The order of the start container step in the step list.
|  | startScript : STRING = www/apache/start
|  | The command to start Apache. Arguments containing spaces are not supported
|  | stopOrder : INTEGER = 10
|  | The order of the stop container step in the step list.
|  | stopScript : STRING = www/apache/stop
|  | The command to stop Apache. Arguments containing spaces are not supported
|  | inspectClasspathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
|  | inspectScript : STRING
|  | Classpath to the script used to inspect the generic container.
|  | inspectTemplateClasspathResources : SET_OF_STRING
|  | Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
|  | restartClasspathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the restart script.
|  | restartTemplateClasspathResources : SET_OF_STRING
|  | Additional template classpath resources that should be uploaded to the working directory before executing the restart script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
|  | startClasspathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the start script.
|  | startTemplateClasspathResources : SET_OF_STRING
|  | Additional template classpath resources that should be uploaded to the working directory before executing the start script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
|  | stopClasspathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the stop script.
|  | stopTemplateClasspathResources : SET_OF_STRING
|  | Additional template classpath resources that should be uploaded to the working directory before executing the stop script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

Control task | Parameter CI | Attributes | Description
--- | --- | --- | ---
restart |  |  | Restart Apache
start |  |  | Start Apache
stop |  |  | Stop Apache

### www.ApacheProxyPass

Type Hierarchy | www.ApacheConfFragment >> generic.ProcessedTemplate >> generic.AbstractDeployedArtifact >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

Description unavailable

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Public Properties
--- | --- | ---
|  | from : STRING
|  | The path that needs to be proxied
|  | to : STRING
|  | The URL that the from path needs to be proxied to
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | options : STRING =
|  | The proxy parameters
|  | reverse : BOOLEAN = false
|  | Whether to set up a ProxyPassReverse also

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | createOrder : INTEGER = 50
|  | The order of the step in the step list for the create operation.
|  | createVerb : STRING = Deploy
|  | Create Verb
|  | destroyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | destroyOrder : INTEGER = 40
|  | The order of the step in the step list for the destroy operation.
|  | destroyVerb : STRING = Remove
|  | Destroy Verb
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | modifyOrder : INTEGER = 50
|  | The order of the step in the step list for the modify operation.
|  | modifyVerb : STRING = Modify
|  | Modify Verb
|  | noopOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | noopOrder : INTEGER = 50
|  | The order of the step in the step list for the noop operation.
|  | noopVerb : STRING = Modify
|  | Noop Verb
|  | targetDirectory : STRING = ${deployed.container.configurationFragmentDirectory}
|  | Target directory name
|  | targetFile : STRING = ${deployed.name}.conf
|  | Target file name
|  | template : STRING = www/apache/${deployed.type}.conf.ftl
|  | Configuration fragment template file name.
|  | createTargetDirectory : BOOLEAN = false
|  | Create the target directory on the generic server if it does not exist.
|  | inspectClasspathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
|  | inspectScript : STRING
|  | Classpath to the script used to inspect the generic container.
|  | inspectTemplateClasspathResources : SET_OF_STRING
|  | Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
|  | restartRequired : BOOLEAN = true
|  | The generic container requires a restart for the action performed by this deployed.
|  | restartRequiredForNoop : BOOLEAN = false
|  | The generic container requires a restart for the NOOP action performed by this deployed.
|  | targetDirectoryShared : BOOLEAN = true
|  | Is the target directory shared by others on the generic server. When true, the target directory is not deleted during a destroy operation; only the artifacts copied to it.

### www.ApacheProxyPassSpec

Type Hierarchy | www.ApacheConfFragmentSpec >> generic.Resource >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.ConfigurationItem

Description unavailable (deployable)

|  | Public Properties
--- | --- | ---
|  | from : STRING
|  | The path that needs to be proxied (string)
|  | options : STRING
|  | The proxy parameters (string) default()
|  | reverse : STRING
|  | Whether to set up a ProxyPassReverse also (boolean) default(false)
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.
|  | to : STRING
|  | The URL that the from path needs to be proxied to (string)

### www.ApacheVirtualHost

Type Hierarchy | www.ApacheConfFragment >> generic.ProcessedTemplate >> generic.AbstractDeployedArtifact >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

Apache virtual host

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Public Properties
--- | --- | ---
|  | host : STRING
|  | The virtual host name. Use '*' to match all hosts
|  | port : STRING
|  | The virtual host port. Use '*' to match all ports
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | documentRoot : STRING
|  | The document root for web content using this virtual host. If left blank, a directory is created in the web server's document root

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | createOrder : INTEGER = 50
|  | The order of the step in the step list for the create operation.
|  | createVerb : STRING = Deploy
|  | Create Verb
|  | destroyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | destroyOrder : INTEGER = 40
|  | The order of the step in the step list for the destroy operation.
|  | destroyVerb : STRING = Remove
|  | Destroy Verb
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | modifyOrder : INTEGER = 50
|  | The order of the step in the step list for the modify operation.
|  | modifyVerb : STRING = Modify
|  | Modify Verb
|  | noopOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | noopOrder : INTEGER = 50
|  | The order of the step in the step list for the noop operation.
|  | noopVerb : STRING = Modify
|  | Noop Verb
|  | targetDirectory : STRING = ${deployed.container.configurationFragmentDirectory}
|  | Target directory name
|  | targetFile : STRING = ${deployed.name}.conf
|  | Target file name
|  | template : STRING = www/apache/${deployed.type}.conf.ftl
|  | Configuration fragment template file name.
|  | createTargetDirectory : BOOLEAN = false
|  | Create the target directory on the generic server if it does not exist.
|  | inspectClasspathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
|  | inspectScript : STRING
|  | Classpath to the script used to inspect the generic container.
|  | inspectTemplateClasspathResources : SET_OF_STRING
|  | Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
|  | restartRequired : BOOLEAN = true
|  | The generic container requires a restart for the action performed by this deployed.
|  | restartRequiredForNoop : BOOLEAN = false
|  | The generic container requires a restart for the NOOP action performed by this deployed.
|  | targetDirectoryShared : BOOLEAN = true
|  | Is the target directory shared by others on the generic server. When true, the target directory is not deleted during a destroy operation; only the artifacts copied to it.

### www.ApacheVirtualHostSpec

Type Hierarchy | www.ApacheConfFragmentSpec >> generic.Resource >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.ConfigurationItem

Specification for an Apache virtual host

|  | Public Properties
--- | --- | ---
|  | documentRoot : STRING
|  | The document root for web content using this virtual host. If left blank, a directory is created in the web server's document root (string)
|  | host : STRING
|  | The virtual host name. Use '*' to match all hosts (string)
|  | port : STRING
|  | The virtual host port. Use '*' to match all ports (string)
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.

### www.DeployedApacheConfFile

Type Hierarchy | generic.CopiedArtifact >> generic.AbstractDeployedArtifact >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Artifact, udm.Deployed, udm.ConfigurationItem, udm.DerivedArtifact

Deployed Apache configuration file

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Public Properties
--- | --- | ---
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | placeholders : MAP_STRING_STRING
|  | A Map containing all the placeholders mapped to their values. Special values are <ignore> or <empty>

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | createOrder : INTEGER = 50
|  | The order of the step in the step list for the create operation.
|  | createVerb : STRING = Deploy
|  | Create Verb
|  | destroyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | destroyOrder : INTEGER = 40
|  | The order of the step in the step list for the destroy operation.
|  | destroyVerb : STRING = Remove
|  | Destroy Verb
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | modifyOrder : INTEGER = 50
|  | The order of the step in the step list for the modify operation.
|  | modifyVerb : STRING = Modify
|  | Modify Verb
|  | noopOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | noopOrder : INTEGER = 50
|  | The order of the step in the step list for the noop operation.
|  | noopVerb : STRING = Modify
|  | Noop Verb
|  | targetDirectory : STRING = ${deployed.container.configurationFragmentDirectory}
|  | Target directory name
|  | targetFile : STRING = ${deployed.name}
|  | Target file name
|  | copyDirectlyToTargetPath : BOOLEAN = false
|  | If set to true, files are directly copied to the target directory without first being uploaded to the staging or temporary directory (like versions of XL Deploy prior to 4.0.0)
|  | createTargetDirectory : BOOLEAN = false
|  | Create the target directory on the generic server if it does not exist.
|  | inspectClasspathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
|  | inspectScript : STRING
|  | Classpath to the script used to inspect the generic container.
|  | inspectTemplateClasspathResources : SET_OF_STRING
|  | Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
|  | preserveExistingFiles : BOOLEAN = false
|  | If set to true, preserve the existing files on the remote host (do not delete the copied files during the destroy operation).
|  | restartRequired : BOOLEAN = true
|  | The generic container requires a restart for the action performed by this deployed.
|  | restartRequiredForNoop : BOOLEAN = false
|  | The generic container requires a restart for the NOOP action performed by this deployed.
|  | targetDirectoryShared : BOOLEAN = true
|  | Is the target directory shared by others on the generic server. When true, the target directory is not deleted during a destroy operation; only the artifacts copied to it.
|  | targetPathSharedSubDirectories : BOOLEAN = false
|  | If set to true, the sub directories on the target machine are not deleted if files other than that copied by XL Deploy are present. Please note that setting this option to true will cause the removal process to be a slower.

### www.PublishedWebContent

Type Hierarchy | generic.CopiedArtifact >> generic.AbstractDeployedArtifact >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Artifact, udm.Deployed, udm.ConfigurationItem, udm.DerivedArtifact

Web content on the webserver

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Public Properties
--- | --- | ---
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | placeholders : MAP_STRING_STRING
|  | A Map containing all the placeholders mapped to their values. Special values are <ignore> or <empty>
|  | virtualHost : CI<www.ApacheVirtualHost >
|  | Virtual host which this web content maps to.

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | createOrder : INTEGER = 50
|  | The order of the step in the step list for the create operation.
|  | createVerb : STRING = Deploy
|  | Create Verb
|  | destroyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | destroyOrder : INTEGER = 40
|  | The order of the step in the step list for the destroy operation.
|  | destroyVerb : STRING = Remove
|  | Destroy Verb
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | modifyOrder : INTEGER = 50
|  | The order of the step in the step list for the modify operation.
|  | modifyVerb : STRING = Modify
|  | Modify Verb
|  | noopOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
|  | noopOrder : INTEGER = 50
|  | The order of the step in the step list for the noop operation.
|  | noopVerb : STRING = Modify
|  | Noop Verb
|  | targetDirectory : STRING = <#assign target=(deployed.virtualHost.documentRoot)!''/><#if target != ''>${target}<#else>${deployed.container.defaultDocumentRoot}
|  | Target directory name
|  | copyDirectlyToTargetPath : BOOLEAN = false
|  | If set to true, files are directly copied to the target directory without first being uploaded to the staging or temporary directory (like versions of XL Deploy prior to 4.0.0)
|  | createTargetDirectory : BOOLEAN = false
|  | Create the target directory on the generic server if it does not exist.
|  | inspectClasspathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
|  | inspectScript : STRING
|  | Classpath to the script used to inspect the generic container.
|  | inspectTemplateClasspathResources : SET_OF_STRING
|  | Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
|  | preserveExistingFiles : BOOLEAN = false
|  | If set to true, preserve the existing files on the remote host (do not delete the copied files during the destroy operation).
|  | restartRequired : BOOLEAN = false
|  | The generic container requires a restart for the action performed by this deployed.
|  | restartRequiredForNoop : BOOLEAN = false
|  | The generic container requires a restart for the NOOP action performed by this deployed.
|  | targetDirectoryShared : BOOLEAN = true
|  | Is the target directory shared by others on the generic server. When true, the target directory is not deleted during a destroy operation; only the artifacts copied to it.
|  | targetFile : STRING
|  | Name of the artifact on the generic server.
|  | targetPathSharedSubDirectories : BOOLEAN = false
|  | If set to true, the sub directories on the target machine are not deleted if files other than that copied by XL Deploy are present. Please note that setting this option to true will cause the removal process to be a slower.

### www.WebContent

Type Hierarchy | generic.Folder >> udm.BaseDeployableFolderArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FolderArtifact

Folder containing web content (HTML pages, images, etc)

|  | Public Properties
--- | --- | ---
|  | checksum : STRING
|  | The checksum used to detect differences on the artifact. If not provided, it will be calculated by XL Deploy.
|  | excludeFileNamesRegex : STRING
|  | Regular expression that matches file names that must be excluded from scanning
|  | placeholders : SET_OF_STRING
|  | Placeholders detected in this artifact
|  | scanPlaceholders : BOOLEAN = true
|  | Whether to scan this artifact for placeholders when it is imported
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.

|  | Hidden Properties
--- | --- | ---
|  | textFileNamesRegex : STRING = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
|  | Regular expression that matches file names of text files
|  | delimiters : STRING = {{ }}
|  | The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
|  | fileEncodings : MAP_STRING_STRING = {.+\.properties=ISO-8859-1}
|  | A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings