ilscipio/scipio-erp

View on GitHub
applications/cms/config/cms.properties

Summary

Maintainability
Test Coverage
# Scipio CMS core defaults
# NOTE: 2017: the CMS-specific processor script is no longer of major importance in Scipio,
# because Scipio supports custom system-wide and webapp-specific global scripts.
# It is preferable to reuse those mechanisms, unless the script is truly CMS-specific.
# WARNING: This script may not be running under any database transaction; see CmsContentProcessor.groovy for info.
#contentprocessor.script.location=component://cms/script/com/ilscipio/scipio/cms/content/CmsContentProcessor.groovy
contentprocessor.link.base=/cms

# CMS data object cache control - expire after 10 seconds by default, like in stock ofbiz/Scipio
# NOTE: CMS will first lookup individual cache names in cache.properties, and
#     if they are not present (such as in stock Scipio) will then fall back on this value.
# NOTE: There are actually 2 levels of data caches (control mappings and pages), so when selecting
#     a value, it must be taken into account that the effective visible cache time when rendering
#     may up to 2x the value set here, or the total of the individual mapping + page caches.
cache.data.expiration=10000

# Low-level cache type-based controls for CMS-related records (Cms* entities); mostly for debugging and emergencies.
# The allow flags are negative controls; set to false to prevent caching.
# Entity/database caching (useCache flag on Delegator methods)
cache.entity.allow=true
# Entity/database caching behind object caches (this should practically always be false) (added 2018-09-18)
cache.entity.behindobjcache.allow=false
# Global CMS data wrapper object caching
cache.obj.global.allow=true
# Local CMS data wrapper object caching 
# NOTE: However these can still get shared between threads, if global also enabled
cache.obj.local.allow=true

# Debug mode
# If true, enables CMS-only verbose logging and some debug-specific behaviors and checks.
debug=false

# If enabled, string-type template attributes which evaluate to missing (or null) will 
# receive their names as values when passed to templates, instead of missing/null.
# NOTE: this only applies to string types (as other types cannot be displayed directly in Freemarker).
# Possible values: never (default), preview, always
render.attributes.useNamesForMissing=never

# Attribute expansion language/syntax, system default (for any unset).
# Possible values: NONE (current default), FLEXIBLE (${map1.field1}), SIMPLE ({{map1.field1}})
render.attributes.expandLang.default=NONE

# Live render exception security mode default. 
# Possible values: RETHROW (default if omitted - most secure), DEBUG, BLANK
# If not specified, this will be taken from general.properties render.global.exception.mode.
# RETHROW: secure mode - aborts render
# DEBUG: same as preview mode (INSECURE, DO NOT USE)
# BLANK: FTL exceptions will not abort render, but render nothing; other exceptions are treated as RETHROW (may be considered insecure in some applications)
# NOTE: web.xml file settings will override this.
render.live.exception.mode=RETHROW

# Live render exception security mode for user directives.
# If specified, this overrides render.live.exception.mode, for user directives only.
render.live.exception.directive.mode=BLANK
# SPECIAL: controls nested groovy or template errors thrown from WITHIN @cmsAsset and equivalent calls
# RECOMMENDED: RETHROW (or value of render.live.exception.mode) - secure - otherwise high chance of swallowing important nested errors
# and allowing screen renders that should be prevented
render.live.exception.directive.nested.mode=RETHROW
# Specific directive overrides
render.live.exception.directive.url.mode=
render.live.exception.directive.asset.mode=

# Whether the template editor should use tabs instead of spaces.
# FIXME: 2018-06-04: currently this is only half-functional - codemirror only interprets
# this for existing spaces, not newly-inserted ones. Please leave this true until this is resolved
# in a sane way (https://github.com/codemirror/CodeMirror/issues/988).
cms.editor.indentWithTabs=true

# Persisted access token expiry and half-life, in seconds (default expiry 24h, half-life 6h)
# Expiry is how long the token can be accessed; half-life is the time after which a new token is generated and should be lower than expiry
cms.access.token.expiry=86400
cms.access.token.halfLife=21600

# Global default CMS WebSite configuration values (com.ilscipio.scipio.cms.control.CmsWebSiteConfig)
# These are generally applied to any CMS-enabled websites that do not set these to non-empty values
# in their web.xml files, on a per-setting basis; EXCEPTION: defaultServletPath and defaultXxxServletPath
# are not inherited like the others, due to fallback behavior.
webSiteConfig.defaults.allowPreviewMode=false
webSiteConfig.defaults.previewModeParamName=cmsPreviewMode
# NOTE: this is an emergency fallback
webSiteConfig.defaults.defaultServletPath=/control
webSiteConfig.defaults.defaultSourceServletPath=
webSiteConfig.defaults.defaultForwardServletPath=
webSiteConfig.defaults.defaultTargetServletPath=
webSiteConfig.defaults.requestServletPath=
webSiteConfig.defaults.setResponseBrowserNoCacheCmsPage=false
webSiteConfig.defaults.setResponseBrowserNoCacheScreen=false
webSiteConfig.defaults.setResponseBrowserNoCache=false
webSiteConfig.defaults.alwaysUseDefaultForwardServletPath=false
webSiteConfig.defaults.defaultForwardExtraPathInfo=true
webSiteConfig.defaults.defaultSourceFromContextRoot=true
webSiteConfig.defaults.defaultForwardFromContextRoot=true
webSiteConfig.defaults.mappingsIndexableDefault=true
webSiteConfig.defaults.useDefaultCmsPage=false
webSiteConfig.defaults.defaultCmsPageId=
webSiteConfig.defaults.primaryPathFromContextRootDefault=true
# TODO: REVIEW: unclear whether we really want this setting true here...
webSiteConfig.defaults.applyPrimaryPathFromContextRootDefaultAtStorage=true
webSiteConfig.defaults.controlRootAlias=false

# Cache prewarm HttpClient configuration (pooling), timeout in ms
cache.prewarm.connect.pooling=true
cache.prewarm.connect.maxConnections=10000
cache.prewarm.connect.maxConnectionsPerHost=10000
cache.prewarm.connect.connectTimeout=10000
cache.prewarm.connect.socketTimeout=10000
cache.prewarm.connect.connectionRequestTimeout=10000
cache.prewarm.connect.expectContinueEnabled=true
cache.prewarm.connect.trustSelfCert=true
cache.prewarm.connect.trustAnyHost=true
cache.prewarm.connect.trustAllCerts=true

# Bing search (reuses prewarm cache pool)
bing.default.indexnowUrl=https://www.bing.com/indexnow
bing.default.indexnow.enabled=false
bing.default.indexnow.apiKey=
# Uncomment when needed or use it as template by replacing ScipioShop with the desired productStoreId
#bing.ScipioShop.indexnow.enabled=false
#bing.ScipioShop.indexnow.apiKey=