Online Channel Configuration
Configurations within the Satellite Configuration Group.
Configurations within the Satellite Configuration Group.
Element: config
Configures an Online Channel instance (site|portal).
Attributes:
@version [ required | fixed: 1 ]
Children:
- all of these elements:
- [1, 1] '→siteurl'
» Provide default url to use for local system. - [1, 1] '→datastoreid'
» Link to DataStore Configuration to use. - [0, 1] '→cookie-policy'
» Define a cookie policy for this site. If not given any cookie could be set. - [1, 1] '→siteid'
» Unique name for this site. - [0, 1] '→alternative-site-urls'
» List alternative URLs. - [1, 1] '→hostmappings'
» Connect this site to host defined in Webserver Configuration. - [0, 1] '→locales'
» Define supported locales. - [0, 1] '→attributes'
» Define generic key/value pairs for this site. - [0, 1] '→previews'
» Define preview access. - [0, 1] '→debug'
» En-/Disable debug output. - [0, 1] '→health-requesthandler'
» En-/Disable integrated health check support. - [0, 1] '→storageitem-requesthandler'
» Configure 'file' requests. - [0, 1] '→image-requesthandler'
» Configure 'image' requests. - [0, 1] '→redirect-to-canonical'
» Redirect options on urls not canonical - [0, 1] '→alternative-path'
» Use alternative path features. - [0, 1] '→filters'
» Filter static resources accessible for this site. - [0, 1] '→sessionmanagerid'
» Link to Session Manager Configuration to use. - [0, 1] '→bouncer'
» Link to Session Manager Configuration restricting access to portals not public available. - [0, 1] '→storageitems'
» Configure caching for storage items. - [0, 1] '→resources'
» Configure static resource handling. - [0, 1] '→datastorefilter'
» Filter assets accessible for this site. - [0, 1] '→permissions'
» Configure user permission system usage. - [0, 1] '→component-delegate'
» Configure 'page' requests. - [0, 1] '→statistics'
» Configure statistics. - [0, 1] '→compatibility'
» Backward compatibility switches. - [0, 1] '→headers'
» Define response headers. - [0, 1] '→freemarker'
» Freemarker settings. - [0, 1] '→sitemap'
» Configure sitemap creation.
- [1, 1] '→siteurl'
Element: siteurl
Configure insecure/secure site url pair. Used on secure context switches or as fallback if system can not determine url from request.
Attributes:
@url [ required ] ↦ string
@secure-url ↦ string
Element: alternative-site-urls
Define alternative site url/secure-url pairs.
Children:
- sequence of these elements:
- [0, n] '→alternative-site-url'
Element: alternative-site-url
Attributes:
@url [ required ] ↦ string
@secure-url [ required ] ↦ string
Children:
- sequence of these elements:
- [0, n] '→alias'
Element: alias
Allows to define more urls using this alternative.
Attributes:
@url ↦ string
@secure-url ↦ string
Element: compatibility
Configure backward compatibility. Allows activation of incompatible or special behaviours.
Attributes:
@componentparameter-deserialization-set-null-if-no-value-element ↦ boolean
If enabled component parameters will get a null value as default, thus always overriding the default in java classes
@freemarker-skip-disabled-features-and-feature-values ↦ boolean
Skip disabled features / values when iterating / accessing via cs.feature()
@legacy-asset-elements-generation ↦ boolean
Support an incompatible legacy asset-xml structure.
@system-dynamic-unique-query-scope-generation-enabled ↦ boolean
Make "componentPath" part of query binding unique for each component.
@translation-load-only-configured-locales ↦ boolean
Translation: load only locales used by this OC instance (not all languages available in the datastore)
@translation-debug-mode-append-translation-key-to-default [ default: false ] ↦ boolean
If a translation key is not found, append the translation key to the returned default value in debug mode
@legacy-path-alias-calculation ↦ boolean
Use legacy/new path-alias generation (differences in locale handling)
@unprotected-active-navigation-state ↦ boolean
Without this flag the navigation state in the context can be changed, which leads to unexpected behavior
@textarea-render-children-if-value-null [ default: false ] ↦ boolean
cs.textarea show's children if it's value is null (e.g. placeholders)
@chaining-wrapper-test-all-models [ default: false ] ↦ boolean
The chaining of freemarker models return only the first answer it get's or collect the answers of all models and give them back combined.
@component-parameter-override-disallowed [ default: true ] ↦ boolean
Throw exception if a component of a class hides a parameter in it's super class
@input-override-value-from-skin [ default: false ] ↦ boolean
Allow override of cs.input value from skin
@enable-component-parameter-value-model-cache [ default: false ] ↦ boolean
Enable the caching of the wrapped objects returned by cs.component.@ / cs.@
@enable-no-sniff-header [ default: false ] ↦ boolean
Add HTTP-Header 'X-Content-Type-Options: nosniff'
@skip-component-rendering-if-response-is-acquired [ default: false ] ↦ boolean
Performance tuning: response may redirect, no rendering needed
@navigation-state-remove-invalid-parameter-values [ default: false ] ↦ boolean
Navigation State remove invalid parameter values
@apply-filter-to-resources-root [ default: false ] ↦ boolean
Apply domain filter to resources root as well
@datastore-connected-model-implements-scalar [ default: true ] ↦ boolean
default: DatastoreConnectedModel additionally implements scalar model
@widget-allow-parameter-creation [ default: false ] ↦ boolean
set to true, if widget should be able to create parameters not available in current underlying component
@widget-allow-component-reference [ default: false ] ↦ boolean
set to true, if widget should be able to reference components
@videomodel-use-defaults-without-poster [ default: true ] ↦ boolean
default: VideoModel uses defaults for autoplay and video ratio without poster (set false to read from tag)
Element: cookie-policy
Define cookie policies. If none given any cookie is allowed.
Children:
- choice of these elements:
- [1, n] '→cookie'
Element: cookie
Define cookie definition filter
Attributes:
@regex ↦ string
regex for which this rule apply
@allow-cookie-name ↦ string
name of the cookie storing the acceptence of cookies
@allow-cookie-value-regex ↦ string
regex which values of the cookie are accept as "allow setting of cookie $regex"
Element: freemarker
Freemarker settings.
Attributes:
@number-format ↦ string
Set default number format
@boolean-format ↦ string
Set default boolean format e.g 'c', 'yes,no' see: freemarker.template.Configuration.setBooleanFormat
@compatible-version [ default: 2.3.0 ] ↦ { 2.3.0 | 2.3.19 | 2.3.20 | 2.3.21 | 2.3.22 | 2.3.23 | 2.3.24 | 2.3.25 | 2.3.26 | 2.3.27 | 2.3.28 | 2.3.29 }
Freemarker version compatibility
@output-format ↦ { HTML | XHTML | XML | RTF | undefined | plaintext | JavaScript | JSON | CSS }
Default format & escaping for freemarker output.
- HTML HTML format
- plaintext UTF-8 plain text
- JavaScript javascript
@url-escaping-charset ↦ string
Sets the URL escaping (URL encoding, percentage encoding) charset (otherwise output charset / UTF-8)
@api-builtin-enabled [ default: false ] ↦ boolean
freemarker config: enable/disable api-builtin: Specifies if ?api can be used in templates
@wrap-unchecked-exceptions [ default: false ] ↦ boolean
freemarker config: warp unchecked exceptions see: freemarker.template.Configuration.setWrapUncheckedExceptions
@fall-back-on-null-loop-var [ default: false ] ↦ boolean
freemarker config: fallback on null loop var see: freemarker.template.Configuration.setFallbackOnNullLoopVariable
Children:
- [0, 1] all of these elements:
- [1, 1] '→date-format-mappings'
» Define date formats for different locales - [1, 1] '→number-format-mappings'
» Define number formats for different locales
- [1, 1] '→date-format-mappings'
Element: date-format-mappings
Children:
- sequence of these elements:
- [1, n] '→pattern-mapping'
Element: pattern-mapping
Attributes:
@name [ required ] ↦ string
@pattern [ required ] ↦ string
@locale [ required ] ↦ string
Element: number-format-mappings
Children:
- sequence of these elements:
- [1, n] '→pattern-mapping'
Element: datastoreid
Attributes:
@name [ required ] ↦ string
Element: remote-datastoreid
Attributes:
@name [ required ] ↦ string
Element: siteid
Provide unique id for this site.
Attributes:
@name [ required ] ↦ string
Element: sitemap
Options on sitemap creation.
Attributes:
@match-any-segment-translation [ default: false ] ↦ boolean
Element: hostmappings
Connect this site to host defined in Webserver Configuration.
Children:
- sequence of these elements:
- [1, n] '→hostmapping'
Element: hostmapping
Provide host from Webserver Configuration. Appending additional path segments allowed.
Attributes:
@name [ required ] ↦ string
Element: locales
Define supported locales (todo: amend SiteConfiguration).
Attributes:
@default ↦ string
The default locale to use
@use-request-locale ↦ boolean
On true respect locale from request, default otherwise
Children:
- sequence of these elements:
- [1, n] '→locale'
» List of supported locales.
- [1, n] '→locale'
Element: locale
Attributes:
@name [ required ] ↦ string
Element: attributes
Define generic key/value pairs for this site. Attributes are available in freemarker by SiteModel or in java from Site object.
Children:
- sequence of these elements:
- [0, n] '→attribute'
Element: attribute
Attributes:
@name [ required ] ↦ string
@value [ required ] ↦ string
Element: previews
Define resolving for (client-) preview.
Attributes:
@enabled [ required ] ↦ boolean
En-/Disable service
@all-locales [ default: false ] ↦ boolean
Children:
- sequence of these elements:
- [0, n] '→preview'
- [0, n] '→preview-allowed-cors-origin'
Element: preview-allowed-cors-origin
Attributes:
@origin [ required ] ↦ string
allowed cors origin
Element: preview
Attributes:
@expression [ required ] ↦ string
xpath used to resolve asset id
Element: debug
En-/Disable debug output.
Attributes:
@enabled [ required ] ↦ boolean
Element: storageitem-requesthandler
Configure 'download' requests.
Attributes:
@check-permissions [ required ] ↦ boolean
Activate permission system support.
@apply-permission-filter [ default: false ] ↦ boolean
check with permission system if the logged in /anymous user has access
@enable-cloud-download [ default: false ] ↦ boolean
@max-cloud-download-life-time-days [ default: 7 ] ↦ positiveInteger
How many days is a signed link valid?
@enable-cloud-redirect-only [ default: false ] ↦ boolean
do not render direct links, redirect only
Element: health-requesthandler
En-/Disable integrated health check support.
Attributes:
@enabled [ default: false ] ↦ boolean
@path [ default: /health.txt ] ↦ string
Element: image-requesthandler
Configure 'image' requests.
Attributes:
@prefix ↦ string
@check-permissions ↦ boolean
Activate permission system support.
@apply-permission-filter [ default: false ] ↦ boolean
check with permission system if the logged in /anymous user has access to this image
@enabled [ default: false ] ↦ boolean
Activate this requesthandler
@dynamic-calculation [ default: false ] ↦ boolean
Allow requests for arbitrary sizes of the requested image, if disabled only the variants can be used
@generate-cloud-urls [ default: false ] ↦ boolean
Generate urls pointing to s3 (if s3 is used as backend store)
@redirect-cloud [ default: false ] ↦ boolean
Redirect to s3 (if s3 is used as a backend store)
@cloud-url-validitiy-in-days [ default: 7 ] ↦ positiveInteger
How many days is a signed link valid?
@use-content-hash [ default: false ] ↦ boolean
@convert-alias-urls [ default: false ] ↦ boolean
@redirect-canonical [ default: false ] ↦ boolean
Children:
- sequence of these elements:
- [0, n] '→image-preset'
Element: image-preset
Define an image preset.
Attributes:
@name [ required ] ↦ string
Defines freemarker access. Used as generic hash key for images).
@aspect-ratio ↦ string
A aspect ratio as defined by server
@width ↦ positiveInteger
The desired width (or use height)
@height ↦ positiveInteger
The desired height (or use width)
@filetype ↦ string
Filetype to generate
@quality ↦ float
Quality to generate
@watermark-asset-id ↦ positiveInteger
Use a watermark image
@watermark-opacity [ default: 0.5 ] ↦ float
Opacity of watermark overlay
@background-color ↦ string
The background color if target format lacks support for transparency
@no-crop [ default: false ] ↦ boolean
Images will be scaled into the size but keep aspect ratio, the rest will be filled with background-color or be transparent.
@bounding-box [ default: false ] ↦ boolean
images will be scaled into the size but keep aspect ratio, the output will be the aspect ratio of the source image, no crop needs to be enabled either per asset or in the preset
Element: redirect-to-canonical
Redirect options on urls not canonical
Attributes:
@enabled [ required ] ↦ boolean
Redirect to canonical urls
@always-permanent [ default: false ] ↦ boolean
if false: Use HTTP.302 if redirect matches browswer locale; else always use HTTP.301
Element: alternative-path
Activate support for alternative path feature?
Attributes:
@enabled [ required ] ↦ boolean
Element: storageitems
Configure caching for storage items.
Attributes:
@cachesize ↦ positiveInteger
Element: resources
Configure static resource handling.
Attributes:
@cachesize ↦ positiveInteger
@enable-less-resource-url-transform ↦ boolean
@enable-less-for-css-preprocessing-and-compression ↦ boolean
Children:
- all of these elements:
- [0, 1] '→less'
» Configure css handling. - [0, 1] '→closure'
» Configure javascript handling.
- [0, 1] '→less'
Element: less
Configure css handling.
Attributes:
@no-ie-compat [ default: false ] ↦ boolean
@enable-resource-url-transform [ default: false ] ↦ boolean
@use-for-css-preprocessing-and-compression [ default: false ] ↦ boolean
Element: closure
Configure javascript handling.
Attributes:
@enabled [ default: false ] ↦ boolean
@compilation-level [ default: WHITESPACE_ONLY ] ↦ { NONE | WHITESPACE_ONLY | SIMPLE_OPTIMIZATIONS | ADVANCED_OPTIMIZATIONS }
@lang [ default: ECMASCRIPT5 ] ↦ { ECMASCRIPT3 | ECMASCRIPT5 | ECMASCRIPT5_STRICT | ECMASCRIPT6 | ECMASCRIPT6_STRICT | ECMASCRIPT6_TYPED }
Element: datastorefilter
Filter assets accessible for this site.
Attributes:
@expression ↦ string
XPath expression to match.
Children:
- [0, n] choice of these elements:
- [1, 1] '→template'
- [1, 1] '→deleted'
» add datastore filter for deletion state=none - [1, 1] '→period'
- [1, 1] '→outputchannel'
Inner element: datastorefilter/outputchannel
Children:
- [1, n] choice of these elements:
- [1, 1] '→group'
Inner element: datastorefilter/outputchannel/group
Attributes:
@exclude [ default: false ] ↦ boolean
Children:
- [1, n] choice of these elements:
- [1, 1] '→channel'
Inner element: datastorefilter/outputchannel/group/channel
Attributes:
@name ↦ string
Inner element: datastorefilter/template
Attributes:
@enabled [ default: false ] ↦ boolean
Inner element: datastorefilter/deleted
Attributes:
@enabled [ default: false ] ↦ boolean
add datastore filter for deletion state=none
Inner element: datastorefilter/period
Attributes:
@enabled [ default: false ] ↦ boolean
@feature [ default: censhare:period ] ↦ string
Element: filters
Filter static resources accessible for this site.
Children:
- sequence of these elements:
- [0, n] '→filter'
Element: filter
Filter enabled resource-type assets by given domain.
Attributes:
@domain [ default: ] ↦ string
@domain2 [ default: ] ↦ string
@navigation [ default: false ] ↦ boolean
@component [ default: false ] ↦ boolean
@skin [ default: false ] ↦ boolean
@resource [ default: false ] ↦ boolean
Element: sessionmanagerid
Refer to Session Manager Configuration to use.
Attributes:
@name [ required ] ↦ string
Element: bouncer
Define access restrictions.
Attributes:
@enabled [ default: true ] ↦ boolean
Is bouncer active?
Children:
- all of these elements:
- [0, 1] '→sessionmanagerid'
» Refer to Session Manager Configuration to use. - [0, 1] '→client'
- [0, 1] '→whitelist'
» Define IP ranges granted free access.
- [0, 1] '→sessionmanagerid'
Inner element: bouncer/whitelist
Define IP ranges granted free access.
Children:
- sequence of these elements:
- [0, n] '→iprange'
Inner element: bouncer/whitelist/iprange
Attributes:
@start [ required ] ↦ string
@end [ required ] ↦ string
Element: client
Define censhare client access (to allow preview access for example).
Attributes:
@timeout ↦ nonNegativeInteger
@threshold ↦ nonNegativeInteger
@secret [ required ] ↦ hexBinary (length: 32)
Element: permissions
Provide implementation class names providing keys for a logged in user and locks for infrastructure and content. The 'delegate' must be configured to check user permissions also.
Attributes:
@permission-filter-id ↦ string
switch to different implementation for the visibilty filtering using in request delegates (component | storage item | image)
Children:
- sequence of these elements:
- [0, n] '→lock'
- [0, n] '→keyring'
Element: lock
Provide implementation class names providing keys for a logged in user and locks for infrastructure and content. The 'delegate' must be configured to check user permissions also.
Attributes:
@class [ required ] ↦ string
Element: keyring
Provide the java class name of a (user permission) keyring implementation.
Attributes:
@class [ required ] ↦ string
Element: component-delegate
The component delegate handles page requests.
Attributes:
@max-parallel-requests ↦ integer
Allowed number of parallel page requests (rule of thumb: cpu-cores - 1).
@max-queue-time ↦ integer
Max time a request waits in queue before dropped.
@slow-request-threshold ↦ integer
@watchdog-timeout-in-ms ↦ integer
Kill requests after this time in progress.
@apply-permissions [ default: false ] ↦ boolean
Check user permissions on widgets.
@statistics-intervall-in-seconds [ default: 60 ] ↦ integer
Summarize statistics for this period.
@apply-permissions-use-isnull [ default: false ] ↦ boolean
@check-unfiltered-navigation-state [ default: false ] ↦ boolean
if session is not logged in, check if the url can be resolved with out any filters applied to the datastore session for that oc session, if so, allow the AuthenticationInterceptor to trigger the redirect.
use with care, and check it does not allow unwanted access.
Children:
- [0, 1] choice of these elements:
- [1, 1] '→requestlimiterid'
» ID of the configuration to use.
- [1, 1] '→requestlimiterid'
Element: requestlimiterid
Attributes:
@name [ required ] ↦ string
Instanceid of a limiter.
Element: statistics
Configure statistics transformation.
Attributes:
@transformation [ required ] ↦ string
'resource-key' of statistics transformation.
Element: headers
Define headers to add to responses.
Children:
- sequence of these elements:
- [0, n] '→header'
Element: header
Define name and value of a header to add to responses.
Attributes:
@name [ required ] ↦ string
@value ↦ string
The Online Channel Configuration configures one instance of the online-channel. It is usually synonym for one portal or site.
Multiple Online Channel Configurations may be present in one configuration group to configure multiple portals or sites on each satellite in same group.