<!--

#The root configuration node is called <opencms> for all OpenCms configurations.

-->

<!ELEMENTopencms (importexport, staticexport)>

<!--

#<importexport> configuration:

#

#In this node the import and export options are configured.

#If you are installing a fresh OpenCms system without migrating

#content from old OpenCms versions, you usually do not need any special

#configuration.

-->

<!ELEMENTimportexport (

importexporthandlers,

import )>

<!--

#List of import / export handlers.

#When content is imported, the manifest.xml is analyzed and the

#appropriate handler for the import format is selected.

-->

<!ELEMENTimportexporthandlers (importexporthandler+)>

<!ELEMENTimportexporthandler EMPTY>

<!ATTLISTimportexporthandler class CDATA #REQUIRED>

<!--

#<import> node options.

#There are several options to ensure backward compatibility.

-->

<!ELEMENTimport (

overwrite?,

convert?,

oldwebappurl?,

importversions+,

immutables*,

principaltranslations*,

ignoredproperties*)>

<!--

#If this flag is set to "false" then imports > v2 (that should have resource UUIDs

#in the manifest) will move colliding resources to /system/lost-found/. Otherwise

#colliding resources will be overwritten. v1 and v2 imports (without resource

#UUIDs in the manifest) are forced to overwrite colliding resources, no matter

#how this flag is set.

-->

<!ELEMENToverwrite (#PCDATA)>

<!--

#This flag controls if editabled content of older versions is automatically

#conterted to the current version upon import. For example, content of type

#"page" from 5.0 is converted into "xmlpage" in 6.0.

-->

<!ELEMENTconvert (#PCDATA)>

<!--

#Convert file content from 4.x to 5.x style during import

#This is needed for the correct content conversion of the import.

#Enter the URL of the OpenCms web application from which the content was exported,

#e.g. http://localhost:8080/opencms/opencms/ for a standard local Tomcat installation.

-->

<!ELEMENToldwebappurl (#PCDATA)>

<!--

#List of import class names.

#This is only required if you must import OpenCms content created with older OpenCms

#versions. The format of the export has changed with new

#OpenCms versions being released. Each export file has a "stamp" in the

#manifest.xml that signals which export version of OpenCms was used.

#In order to import resources from older installations, you must enabled

#the corrospondig classes in this configuration node.

-->

<!ELEMENTimportversions (importversion+)>

<!ELEMENTimportversion EMPTY>

<!ATTLISTimportversion class CDATA #REQUIRED>

<!--

#Import immutable resources:

#Certain system resources should usually not be changed and be "immutable"

#during an import. This is especially true for the main folders in the /system/

#directory as locking and changing these will take very long during the import.

#Changes to these folders usually happen only accidentally and so should not be imported

#to another system.

-->

<!ELEMENTimmutables (resource*)>

<!ELEMENTresource EMPTY>

<!ATTLISTresource uri CDATA #REQUIRED>

<!--

#Import principal (ie. user/group) name translation:

#In case the user names in the import differ from the user names configured

#in the importing system, you can use this feature to translate the names from the

#import to other names in your system.

-->

<!ELEMENTprincipaltranslations (principaltranslation*)>

<!ELEMENTprincipaltranslation EMPTY>

<!ATTLISTprincipaltranslation type (USER|user|GROUP|group) #REQUIRED from CDATA #REQUIRED to CDATA #REQUIRED>

<!--

#List of properties which are ignored (ie. not imported) when resources are imported.

-->

<!ELEMENTignoredproperties (property*)>

<!ELEMENTproperty EMPTY>

<!ATTLISTproperty name CDATA #REQUIRED>

<!--

#<staticexport> Configuration:

#

#Settings for the static export.

#The attribute "enabled" controls if the static export is enabled,

#if it is set to "false" nothing is ever exported, if set to "true"

#it works according the the selected <mode> setting.

-->

<!ELEMENTstaticexport (

staticexporthandler,

exportpath,

defaultpropertyvalue,

defaultsuffixes?,

exportheaders?,

requestheaders?,

rendersettings)>

<!ATTLISTstaticexport enabled (TRUE|true|FALSE|false) #REQUIRED>

<!--

#The fully qualified class name of a concrete implementation of the

#org.opencms.staticexport.I_CmsStaticExportHandler interface.

#The default handler is "CmsOnDemandStaticExportHandler",

#which is most suitable for dynamic sites that use the static export

#as optimization for non-dynamic content.

#Another handler is the "CmsAfterPublishStaticExportHandler",

#which exports all changes immediately after something is published.

#

#The default 2 possible values for this node are:

#org.opencms.staticexport.CmsOnDemandStaticExportHandler

#selects export "on demand" mode

# org.opencms.staticexport.CmsAfterPublishStaticExportHandler

#selects export "after publish" mode

-->

<!ELEMENTstaticexporthandler (#PCDATA)>

<!--

#The path in the "real" FS to write the static exported pages to.

#This is relative to the web application root path.

-->

<!ELEMENTexportpath (#PCDATA)>

<!--

#The default value of the "export" property for resources where searching for

#the property value of the resource returns "null".

-->

<!ELEMENTdefaultpropertyvalue (#PCDATA)>

<!--

#A list of suffixes where the export property default is "true",

#even if the default property value (see above) is "false".

-->

<!ELEMENTdefaultsuffixes (suffix+)>

<!ELEMENTsuffix EMPTY>

<!ATTLISTsuffix key CDATA #REQUIRED>

<!--

#A list of http headers which can be used when exporting plain resources (e.g. binary

#files like pdf).

-->

<!ELEMENTexportheaders (header+)>

<!ELEMENTheader (#PCDATA)>

<!--

#A list of http headers are used while sending the internal requests during the static export.

#If none of those headers are defined, the default settings (language and encoding) of OpenCms are used.

-->

<!ELEMENTrequestheaders (acceptlanguage?, acceptcharset?, remoteaddr?)>

<!ELEMENTacceptlanguage (#PCDATA)>

<!ELEMENTacceptcharset (#PCDATA)>

<!ELEMENTremoteaddr (#PCDATA)>

 

<!--

#The render settings control how template based resources are written to

#(i.e. "rendered") the "real" FS.

-->

<!ELEMENTrendersettings (

rfs-prefix,

vfs-prefix,

userelativelinks,

exporturl,

plainoptimization,

testresource,

resourcestorender)>

<!--

#The rfs prefix is used to adjust the links to

#resources that have been written to the "real" file system.

#Usually, a dynmaic resource has the web application and servlet names

#in the path to the link, e.g. "/opencms/opencms". If a resource is static exported,

#it is not longer delivered through the OpenCms servlet and thus thus path needs

#to be adjusted.

#

#This node supports variable replacement since the values can depend on the configuration:

#

#${EXPORT_PATH} is replaced with the value of the <exportpath> node, e.g. "export"

#${CONTEXT_NAME} is replaced with the name of the webapp context, e.g. "opencms"

#${SERVLET_NAME} is replaces with the name of the OpenCms servlet, e.g. "opencms"

-->

<!ELEMENTrfs-prefix (#PCDATA)>

<!--

#The vfs prefix is used to adjust the links to

#resources that are still served dynamically by OpenCms.

#Usually this is something like "/opencms/opencms".

#However, in some advanced setups that also use static export

#(e.g. if you use Apache httpd and mod_proxy)

#this prefix needs to be adjusted.

#

#This node supports the same variables as the <rfs-prefix> node.

-->

<!ELEMENTvfs-prefix (#PCDATA)>

<!--

#Controls if the links in the static exported pages should be written as

#absolute or relative links.

-->

<!ELEMENTuserelativelinks (#PCDATA)>

<!--

#Setting for "after-publish" or "full-static-render" mode:

#The url given here is internally called to export template resources,

#i.e. a http request to this machine is done to generate them.

#Usually this should be a request to the server itself, i.e. localhost.

#

#This node supports the same variables as the <rfs-prefix> node.

-->

<!ELEMENTexporturl (#PCDATA)>

<!--

#Setting for "after-publish" mode:

#Usually a complete dependency check is made after publish for all template

#resources. If this is set to "true" (the default), this check is skipped

#if only on-template resources (i.e. images, plain text files) where published.

#If you have build a navigation that also depends on these files, you must

#set this to "false" or the navigation might not be updated.

-->

<!ELEMENTplainoptimization (#PCDATA)>

<!ELEMENTtestresource EMPTY>

<!ATTLISTtestresource uri CDATA #REQUIRED>

<!--

#A list of resources in the vfs that are rendered in "after-publish" mode,

#or if a full static export is done. This is a list of regular expressions.

#Only resources that match one of the given regular expressions are rendered.

#The intention is to speed up the dependency check by excluding folders

#like "/system".

-->

<!ELEMENTresourcestorender (regex+)>

<!ELEMENTregex (#PCDATA)>