Stages can interact with configuration management systems (CMS) to work with remotely stored files. The configuration for these systems is done in two simple steps:
Currently, following content management systems are available and can be configured as described in the linked sections:
To enable Stages to communicate with an external CMS, you have to add an XML snippet to the central configuration file, which is located at <STAGESHOME>/conf/config.xml.
A generic XML snippet for all CMS configurations looks like the following:
<?xml version="1.0" encoding="UTF-8" ?> <stages-config> ... <cms> <cms-type name="[name]"> <!-- Global Properties --> <cms-property name="[key]" value="[value]" /> <cms-host ident="[ident]" name="[http://hostname.com]" displayName="[displayName]"> <!-- Host Properties --> <cms-property name="[key]" value="[value]" /> </cms-host> </cms-type> </cms> ... </stages-config>
<stages-config>
The root XML element of the stages configuration file. The configuration for the content management systems has to be inserted inside this element. The CMS configuration is a child element of the <stages-config> element.
<cms>
This element holds all configuration data for the content management systems.
<cms-type name=“” >
The <cms-type> element represents the configuration for a single content management system you want to support in your Stages application.
<cms-property name=“” value=“” > (Global Properties)
Right inside the <cms-type> element you can define multiple <cms-property> elements, which affect the entire CMS type. These properties are called global properties.
<cms-host ident=“” name=“” displayName=“” >
A <cms-type> element can have several <cms-host> elements.
<cms-property name=“” value=“” > (Host Properties)
Inside a <cms-host> element you can define <cms-property> elements, which affect only the specific host. These properties are called host properties.
<cms-type name="subversion"> <cms-host ident="subversion.example.ident" name="https://subversion.example.net:1234" displayName="Subversion Example Server"> <cms-property name="user" value="subversion_username" /> <cms-property name="password" value="subversion_password" /> </cms-host> </cms-type>
user
password
domain
http.authentication.hostname (required for NTLM authentication)
http.connection.timeout
http.max.connections
http.ssl.allow.all
<cms-type name="sharepoint"> <!-- Global Properties --> <cms-property name="stages.server.url" value="https://stages.mycompany:8080" /> <cms-property name="http.authentication.hostname" value="nonempty" /> <cms-property name="http.max.connections" value="100" /> <cms-property name="http.connection.timeout" value="10000" /> <cms-property name="http.socket.timeout" value="90000" /> <cms-property name="http.connection.pool.max.idle" value="60000" /> <cms-property name="http.ssl.allow.all" value="true" /> <cms-host ident="sharepoint.example.ident" name="https://sharepoint.example.net:1234" displayName="Sharepoint Example Server"> <!-- Host Properties --> <cms-property name="state.attribute.name" value="_Status" /> <cms-property name="version.date.format" value="dd.MM.yyyy HH:mm" /> <cms-property name="document.content.type.name" value="Document" /> <cms-property name="link.content.type.name" value="Link to a document" /> <cms-property name="user" value="sharepoint_username" /> <cms-property name="password" value="sharepoint_username" /> </cms-host> </cms-type>
These configuration properties affect the behavior of every integrated SharePoint server. The configuration of them needs to be done in the <cms-type> section of config.xml.
stages.server.url (required)
http.authentication.hostname (required for NTLM authentication)
upload.service
initial.checkin.fix
http.ssl.allow.all
http.max.connections
http.connection.timeout
http.socket.timeout
http.connection.pool.max.idle
http.connection.context.timeout
http.connection.resource.check.interval
version.date.format
raw.version.date.format (required)
document.content.type.name (required if Sharepoint Content Types are enabled)
link.content.type.name (required if Sharepoint Content Types enabled)
user
password
domain
state.attribute.name (required)
label.attribute.name
label.attribute.delimiter
element.url.attribute.name
major.versions