##
## Start your application server with the system property
## "system.properties.load" set to true to load the external file called
## system.properties. This is given as a convenient way to ensure all properties
## are set for deployment. When the server starts, the portal will load
## system.properties and then system-ext.properties.
##
## Start your application server with the system property
## "system.properties.final" set to true if the properties of system.properties
## override all similar command line properties. If set to false, the properties
## of system.properties will be set if and only if those properties are not
## currently set.
##
## Some application servers require you to set the "file.encoding" and
## "user.timezone" on startup regardless of system.properties because the
## application server reads these properties before system.properties is ever
## loaded.
##

##
## Java
##

#
# The file encoding must be set to UTF8 in order for the
# internationalization to work correctly.
#
file.encoding=UTF8

#
# Java uses the underlying operating system to generate images. If you are
# using Unix and do not start the portal in a X Windows session, then Java
# will not know how to generate images and you'll get lots of nasty
# exceptions. Setting this property to true will fix that. Sometimes this
# property cannot be set dynamically when the server starts and you'll need
# to edit your start script to include this as a system property.
#
java.awt.headless=true

#
# Set the default language.
#
user.country=US
user.language=en

#
# The time zone must be set GMT so that the portal knows how to properly
# translate time across time zones.
#
#user.timezone=GMT



#force java to use the system provided xerces implementations
javax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl


##
## XSS (Cross Site Scripting)
##

#
# Set the pattern to strip text of XSS hacks.
#
#com.liferay.util.Xss.regexp.pattern=.*(?i)<[\s]*/?[\s]*script.*?|.*<[\s]*/?[\s]*iframe.*?|.*<[\s]*/?[\s]*frame.*?|.*<[\s]*/?[\s]*meta.*?|<.*?javascript:|<[\s]*?body.*?onload|.*<[\s]*/?[\s]*embed.*?|.*<[\s]*/?[\s]*object.*?|.*<[\s]*a[\s]*href[^>]*javascript[\s]*:[^(^)^>]*[(][^)]*[)][^>]*>[^<]*(<[\s]*/[\s]*a[^>]*>).*|.*?javascript:.*
#More strict pattern
com.liferay.util.Xss.regexp.pattern=.*(?i)<[\s]*/?[\s]*script.*?|.*<[\s]*/?[\s]*iframe.*?|.*<[\s]*/?[\s]*frame.*?|.*<[\s]*/?[\s]*meta.*?|<.*?javascript:|<[\s]*?body.*?onload|.*<[\s]*/?[\s]*embed.*?|.*<[\s]*/?[\s]*object.*?|.*<[\s]*a[\s]*href[^>]*javascript[\s]*:[^(^)^>]*[(][^)]*[)][^>]*>[^<]*(<[\s]*/[\s]*a[^>]*>).*|.*?javascript:.*|.*<.*(;|=).*?|.*\\{*.\\}.*?

#Vanity URl valid pattern
HTTPVanityURL.regexp.pattern=^/?([a-zA-Z0-9,.\\-_:'"\u2019\\[\\]() @%\\*]*/?)*$
#User Portlet valid pattern (anything except form-feed, tab, newline, carriage return, >, <)
UserName.regexp.pattern=^(?!.*[>|<|\\t|\\n|\\r|\\f].*)
#Role Portlet valid pattern (anything except form-feed, tab, newline, carriage return, >, <)
RoleName.regexp.pattern=^(?!.*[>|<|\\t|\\n|\\r|\\f].*)


##
## Quartz
##

    #
    # Make threads daemon so the JVM exits cleanly.
    #
    org.quartz.threadPool.makeThreadsDaemons=true

##
## dotCMS properties
##

#
# Set the compression filter encoding
#
com.liferay.filters.compression.CompressionFilter=false
com.liferay.filters.compression.CompressionFilter.encoding=UTF-8

#
# The file encoding must be set to UTF8 in order for the
# internationalization to work correctly.
#
file.encoding=UTF-8

#
# Change this to the client's Timezone
#
#user.timezone=America/New_York


################################
##
##   Velocity Configuration
##
################################

input.encoding=UTF-8
output.encoding=UTF-8

velocimacro.library.autoreload=false
velocimacro.library=VM_global_library.vm,dotCMS_library.vm,dotCMS_library_ext.vm
velocimacro.permissions.allow.inline.to.replace.global=true
directive.parse.max.depth=100
directive.if.tostring.nullcheck=false
# Cache velocity files for 4 seconds
#resource.manager.defaultcache.size=1000
resource.manager.cache.class=com.dotcms.rendering.velocity.services.DotResourceCache
resource.loader=DotResourceLoader
DotResourceLoader.resource.loader.class=com.dotcms.rendering.velocity.services.DotResourceLoader
DotResourceLoader.resource.loader.cache = true
DotResourceLoader.resource.loader.modificationCheckInterval=0

runtime.log.logsystem.class=com.dotmarketing.util.DotVelocityLogger
userdirective=com.dotcms.enterprise.velocity.CacheBlockDirective,com.dotcms.enterprise.velocity.CacheInvalidateLineDirective,com.dotcms.enterprise.velocity.InlineEditLineDirective

eventhandler.methodexception.class=com.dotcms.rendering.velocity.events.MethodExceptionEventHandlerImpl
eventhandler.nullset.class=com.dotcms.rendering.velocity.events.NullSetEventHandlerImpl

runtime.introspector.uberspect=org.apache.velocity.util.introspection.SecureUberspector


com.liferay.util.servlet.UploadServletRequest.max.size=-1

## prevent Tika from hanging on startup
jdk.lang.Process.launchMechanism=fork
