Format of the Configuration Files

Each entry in the system configuration has a name under which a value is stored. Under the name keepOldVersions, for example, the value true can be stored:

<configuration>
  ...
  <content>
    <keepOldVersions>true</keepOldVersions>
  ...
  </content>
</configuration>

Each system configuration entry is represented by an XML element. The name of the opening and closing tag of such an element corresponds to the name of the entry, and the content of an XML element corresponds to the value of the entry.

The value of an entry in the system configuration can not only be a string, but also a list of strings or a so-called dictionary. A dictionary stores a list of name-value pairs together under one name. The system configuration is itself a dictionary represented in the configuration files by the root element configuration .

A main entry in the system configuration is therefore an entry in the configuration dictionary (such as keepOldVersions in the above example). A dictionary contains any number of entries as its value, however no additional text:

<configuration>
  ...
  <mimeTypes>
    <html>text/html</html>
    <css>text/css</css>
    <gif>image/gif</gif>
    <zip>application/zip</zip>
  </mimeTypes>
  ...
</configuration>

Each value can also be a list. A list contains unnamed values in a defined order. Each element of a list is represented in the configuration files by any XML element, preferably listitem (list item) or the corresponding CRUL element (see the XML Interface documentation). The following example shows how the list of global permissions to be available in the Content Manager is specified. Note that in lists the tag attribute type must be given and assigned the value list.

<configuration>
  ...
  <globalPermissions type="list">
    <globalPermission>permissionGlobalRoot</globalPermission>
    <globalPermission>permissionGlobalUserEdit</globalPermission>
    <globalPermission>
      permissionGlobalUserAttributeEdit
    </globalPermission>
    <globalPermission>permissionGlobalRTCEdit</globalPermission>
    <globalPermission>permissionGlobalExport</globalPermission>
    <globalPermission>permissionGlobalMirrorHandling</globalPermission>
  </globalPermissions>  ...
</configuration>

Each list element can itself be a list or a dictionary. Furthermore, the values of dictionary entries can be lists or dictionaries again.

Dividing Configuration Files

The size of the configuration files can be reduced considerably by storing sections of the configuration in separate files. This replacement mechanism ist often used in the standard installation. In this way, the content of the server element, for example, with which client-server connections are configured, can be imported from the server.xml file.

<configuration>
  <server fileName="server.xml"/>
  ...
</configuration>

Using the tag attribute fileName, the name of the file whose versions are to replace the respective XML element is specified. The specified file name or path is relative to the configuration directory.