Specify where to get the overridden properties. Updates should not be made on portal.properties or on portal-bundle.properties, but in portal-ext.properties.
The default read order is: portal.properties, portal-bundle.properties, portal-ext.properties, and then portal-setup-wizard.properties.
Defaults:include-and-override=portal-bundle.properties include-and-override=${liferay.home}/portal-bundle.properties include-and-override=portal-ext.properties include-and-override=${liferay.home}/portal-ext.properties include-and-override=portal-setup-wizard.properties include-and-override=${liferay.home}/portal-setup-wizard.properties
Each portal instance can have its own overriden property file following the convention portal-companyWebId.properties. To enable this feature, set the "company-id-properties" system property to true.
To enable:
java ... -Dcompany-id-properties=true
The read order will now be: portal.properties, then portal-ext.properties, and then portal-liferay.com.properties.
Note that not all properties can have different values per company. This functionality is only available for legacy reasons. The preferred way to configure a portal instance is through the Control Panel.
Defaults:include-and-override=portal-${easyconf:companyId}.properties include-and-override=${liferay.home}/portal-${easyconf:companyId}.properties
Additional property files can be used by setting the "external-properties" system property.
A common use case is to keep legacy property values when upgrading to newer versions of Liferay. To enable:
java ... -Dexternal-properties=portal-legacy-5.1.properties
The read order will now be: portal.properties, then portal-ext.properties, and then portal-legacy-5.1.properties.
Defaults:include-and-override=${external-properties} include-and-override=${liferay.home}/${external-properties}
Specify the Liferay home directory.
Defaults:liferay.home=${resource.repositories.root}
This property is available for backwards compatibility. Please set the property "liferay.home" instead.
Defaults:resource.repositories.root=${default.liferay.home}
Set the application server's HTTP port. This value should be different from the value in the property "web.server.http.port". That property refers to the web server, this property refers to the application server. This property should only be set when the application server is sitting behind a web server like Apache. See LPS-17106 for more information.
Defaults:portal.instance.http.port=
Set this property if the application server is served behind a proxy and a prefix needs to be added to the portal servlet context path. This prefix will also be added to static resources served by layout templates, portlets, and themes.
Defaults:portal.proxy.path=
Set this to true to enable programmatic configuration to let the Portlet TCK obtain a URL for each test. This should never be set to true unless you are running the TCK tests.
Defaults:tck.url=false
Set this to true to automatically create tables and populate with default data if the database is empty.
Defaults:schema.run.enabled=true
Input a list of comma delimited class names that implement com.liferay.portal.upgrade.UpgradeProcess. These classes will run on startup to upgrade older data to match with the latest version.
Escape the comma so that the property can be properly interpolated. For example, the property "upgrade.processes.6100" will not properly reference the property "upgrade.processes.default" unless the commas are escaped. See StartupHelper#getUpgradeProcessClassNames(String).
Defaults:upgrade.processes.master=\ com.liferay.portal.upgrade.UpgradeProcess_6_0_0\,\ com.liferay.portal.upgrade.UpgradeProcess_6_0_1\,\ com.liferay.portal.upgrade.UpgradeProcess_6_0_2\,\ com.liferay.portal.upgrade.UpgradeProcess_6_0_3\,\ com.liferay.portal.upgrade.UpgradeProcess_6_0_5\,\ com.liferay.portal.upgrade.UpgradeProcess_6_0_6\,\ com.liferay.portal.upgrade.UpgradeProcess_6_1_0\,\ com.liferay.portal.upgrade.UpgradeProcess_6_1_1\,\ com.liferay.portal.upgrade.UpgradeProcess_6_2_0Defaults:
upgrade.processes.5203=${upgrade.processes.master} upgrade.processes.6000=${upgrade.processes.master} upgrade.processes.6001=${upgrade.processes.master} upgrade.processes.6002=${upgrade.processes.master} upgrade.processes.6003=${upgrade.processes.master} upgrade.processes.6004=${upgrade.processes.master} upgrade.processes.6005=${upgrade.processes.master} upgrade.processes.6006=${upgrade.processes.master} upgrade.processes.6100=${upgrade.processes.master} upgrade.processes.6101=${upgrade.processes.master} upgrade.processes.6102=${upgrade.processes.master} upgrade.processes.6110=${upgrade.processes.master} upgrade.processes.6120=${upgrade.processes.master} upgrade.processes.6130=${upgrade.processes.master} upgrade.processes.6200=${upgrade.processes.master}
If this property is specified with a list of classes, then the portal will use this list of upgrade processes without taking into account any of the other "upgrade.processes.*" property settings.
This property is deprecated and only provided for backwards compatibility.
Defaults:upgrade.processes=
The following are upgrade processes for EE releases.
Defaults:upgrade.processes.5208=\ com.liferay.portal.upgrade.UpgradeProcess_5_2_8_to_6_0_5\,\ com.liferay.portal.upgrade.UpgradeProcess_6_0_6\,\ com.liferay.portal.upgrade.UpgradeProcess_6_1_0\,\ com.liferay.portal.upgrade.UpgradeProcess_6_1_1\,\ com.liferay.portal.upgrade.UpgradeProcess_6_2_0Defaults:
upgrade.processes.5209=\ com.liferay.portal.upgrade.UpgradeProcess_5_2_9_to_6_0_11\,\ com.liferay.portal.upgrade.UpgradeProcess_6_0_12\,\ com.liferay.portal.upgrade.UpgradeProcess_6_0_12_to_6_1_0\,\ com.liferay.portal.upgrade.UpgradeProcess_6_1_1\,\ com.liferay.portal.upgrade.UpgradeProcess_6_2_0Defaults:
upgrade.processes.6010=${upgrade.processes.master}Defaults:
upgrade.processes.6011=\ com.liferay.portal.upgrade.UpgradeProcess_6_0_12\,\ com.liferay.portal.upgrade.UpgradeProcess_6_0_12_to_6_1_0\,\ com.liferay.portal.upgrade.UpgradeProcess_6_1_1\,\ com.liferay.portal.upgrade.UpgradeProcess_6_2_0Defaults:
upgrade.processes.6012=${upgrade.processes.6011}
Set this to true to disable database transaction management during upgrades. This forces autocommit which will speed up the upgrade process.
Defaults:upgrade.database.transactions.disabled=true
Input a list of comma delimited class names that implement com.liferay.portal.integrity.VerifyProcess. These classes will run on startup to verify and fix any integrity problems found in the database.
Defaults:verify.processes=com.liferay.portal.verify.VerifyProcessSuite
Specify the frequency for verifying the integrity of the database.
Constants in VerifyProcess:
public static final int ALWAYS = -1; public static final int NEVER = 0; public static final int ONCE = 1;Defaults:
verify.frequency=1
Set this to true to disable database transaction management during verification. This forces autocommit which will speed up the verify process.
Defaults:verify.database.transactions.disabled=true
Input a list of comma delimited class names that implement com.liferay.portal.convert.ConvertProcess. These classes can be run from within the Admin portlet to convert older data to match a new configuration of the portal.
Defaults:convert.processes=\ com.liferay.portal.convert.ConvertDatabase,\ com.liferay.portal.convert.ConvertDocumentLibrary,\ com.liferay.portal.convert.ConvertDocumentLibraryExtraSettings,\ com.liferay.portal.convert.ConvertWikiCreole
Input a list of comma delimited class names that implement com.liferay.portal.kernel.deploy.auto.AutoDeployListener. These classes are used to process the auto deployment of WARs.
Defaults:auto.deploy.listeners=\ com.liferay.portal.deploy.auto.ExtAutoDeployListener,\ com.liferay.portal.deploy.auto.HookAutoDeployListener,\ com.liferay.portal.deploy.auto.LayoutTemplateAutoDeployListener,\ com.liferay.portal.deploy.auto.LiferayPackageAutoDeployListener,\ com.liferay.portal.deploy.auto.ModuleAutoDeployListener,\ com.liferay.portal.deploy.auto.PortletAutoDeployListener,\ com.liferay.portal.deploy.auto.ThemeAutoDeployListener,\ com.liferay.portal.deploy.auto.WebAutoDeployListener,\ com.liferay.portal.deploy.auto.exploded.tomcat.HookExplodedTomcatListener,\ com.liferay.portal.deploy.auto.exploded.tomcat.LayoutTemplateExplodedTomcatListener,\ com.liferay.portal.deploy.auto.exploded.tomcat.PortletExplodedTomcatListener,\ com.liferay.portal.deploy.auto.exploded.tomcat.ThemeExplodedTomcatListener
Set this to true to enable auto deploy of layout templates, portlets, and themes.
Defaults:auto.deploy.enabled=true
Set the directory to scan for layout templates, portlets, and themes to auto deploy.
Defaults:auto.deploy.deploy.dir=${liferay.home}/deploy
Set the directory where auto deployed WARs are copied to. The application server or servlet container must know to listen on that directory. Different containers have different hot deploy paths. For example, Tomcat listens on "${catalina.base}/webapps" whereas JBoss listens on "${jboss.home.dir}/deploy". Set a blank directory to automatically use the application server specific directory.
Defaults:auto.deploy.dest.dir= auto.deploy.default.dest.dir=../webapps auto.deploy.geronimo.dest.dir=${org.apache.geronimo.home.dir}/deploy auto.deploy.glassfish.dest.dir=${com.sun.aas.instanceRoot}/autodeploy auto.deploy.jboss.dest.dir=${jboss.home.dir}/standalone/deployments auto.deploy.jboss.dest.dir[5]=${jboss.server.home.dir}/deploy auto.deploy.jetty.dest.dir=${jetty.home}/webapps auto.deploy.jonas.dest.dir=${jonas.base}/deploy auto.deploy.resin.dest.dir=${resin.home}/webapps auto.deploy.tomcat.dest.dir=${catalina.base}/webapps auto.deploy.weblogic.dest.dir=${env.DOMAIN_HOME}/autodeploy auto.deploy.websphere.dest.dir=${env.USER_INSTALL_ROOT}/wsadmin-deploy
Set the interval in milliseconds on how often to scan the directory for changes.
Defaults:auto.deploy.interval=3000
Set this to true if deployed WARs are unpacked. Set this to false if your application server has concurrency issues with deploying large WARs.
Defaults:auto.deploy.unpack.war=true
Set this to true if plugins should automatically copy Commons Logging.
Defaults:auto.deploy.copy.commons.logging=true
Set this to true if plugins should automatically copy Log4j.
Defaults:auto.deploy.copy.log4j=true
Set this to true if you want the deployer to rename portlet.xml to portlet-custom.xml. This is only needed when deploying the portal on WebSphere 6.1.x with a version before 6.1.0.7 because WebSphere's portlet container will try to process a portlet at the same time that Liferay is trying to process a portlet.
Defaults:auto.deploy.custom.portlet.xml=false
Set this to 1 if you are using JBoss' PrefixDeploymentSorter. This will append a 1 in front of your WAR name. For example, if you are deploying a portlet called test-portlet.war, it will deploy it to 1test-portlet.war. JBoss now knows to load this portlet after the other WARs have loaded. However, it will remove the 1 from the context path.
Modify /server/default/conf/jboss-service.xml. See org.jboss.deployment.scanner.PrefixDeploymentSorter.
Defaults:auto.deploy.jboss.prefix=
Set the Glassfish settings to enable JSR 88 application deployment.
Defaults:auto.deploy.glassfish.jee.deployment.enabled=false auto.deploy.glassfish.jee.dm.id=deployer:Sun:AppServer::localhost:4848 auto.deploy.glassfish.jee.dm.user=admin auto.deploy.glassfish.jee.dm.passwd=adminadmin auto.deploy.glassfish.jee.df.classname=com.sun.enterprise.deployapi.SunDeploymentFactory
Set the path to Tomcat's configuration directory. This property is used to auto deploy exploded WARs. Tomcat context XML files found in the auto deploy directory will be copied to Tomcat's configuration directory. The context XML file must have a docBase attribute that points to a valid WAR directory.
Defaults:auto.deploy.tomcat.conf.dir=../conf/Catalina/localhost
Set the path to Tomcat's global class loader. This property is only used by Tomcat in a standalone environment.
Defaults:auto.deploy.tomcat.lib.dir=../common/lib/ext
Set the options used when calling the AdminApp.install command.
See http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/topic/com.ibm.websphere.express.doc/info/exp/ae/rxml_adminapp.html#rxml_adminapp__cmd9 for more information.
Defaults:auto.deploy.websphere.wsadmin.app.manager.install.options=-appname ${auto.deploy.websphere.wsadmin.app.name} -contextroot /${plugin.servlet.context.name} -usedefaultbindings
Set the options used when calling the AdminApp.list command.
See http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/topic/com.ibm.websphere.express.doc/info/exp/ae/rxml_adminapp.html#rxml_adminapp__cmd9 for more information.
Defaults:auto.deploy.websphere.wsadmin.app.manager.list.options=
Set the options used when calling the AdminApp.update command.
See http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/topic/com.ibm.websphere.express.doc/info/exp/ae/rxml_adminapp.html#rxml_adminapp__cmd9 for more information.
Defaults:auto.deploy.websphere.wsadmin.app.manager.update.options=-contents ${auto.deploy.dest.dir}/${plugin.servlet.context.name}.war -contextroot /${plugin.servlet.context.name} -operation update -usedefaultbindings
WebSphere 6 and 7 do not support the ability to hot deploy a WAR. The portal will attempt to use the wsadmin script to install a hot deployed plugin at runtime if this property is set. The wsadmin script uses this property to query the WebSphere application manager. Set this property to a blank value to disable this feature.
Defaults:auto.deploy.websphere.wsadmin.app.manager.query=type=ApplicationManager,process=server1,*Examples:
auto.deploy.websphere.wsadmin.app.manager.query=
Set the suffix to be added to the plugin servlet context name in order to identify the WebSphere process it is deployed to. Leave it blank to use the plugin servlet context name only.
Defaults:auto.deploy.websphere.wsadmin.app.name.suffix=
Set the properties file name to use when invoking the wsadmin command. Configure this property to change the the behavior of the wsadmin command, such as connection port or protocol.
Defaults:auto.deploy.websphere.wsadmin.properties.file.name=
Set the URLs of libraries that might be needed to download during the auto deploy process.
Defaults:library.download.url.resin.jar=http://cdn.files.liferay.com/public/quercus/4.0.11/resin.jar library.download.url.script-10.jar=http://cdn.files.liferay.com/public/quercus/3.1.9/script-10.jar
Input a list of comma delimited class names that implement com.liferay.portal.kernel.deploy.hot.HotDeployListener. These classes are used to process the deployment and undeployment of WARs at runtime.
The listeners are invoked in the order defined by this property. PluginPackageHotDeployListener must always be invoked first. SpringHotDeployListener must always be invoked before ServletContextListenerHotDeployListener. MessagingHotDeployListener must always be invoked last.
Defaults:hot.deploy.listeners=\ com.liferay.portal.deploy.hot.PluginPackageHotDeployListener,\ \ com.liferay.portal.deploy.hot.SpringHotDeployListener,\ \ com.liferay.portal.deploy.hot.ServletContextListenerHotDeployListener,\ \ com.liferay.portal.deploy.hot.ExtHotDeployListener,\ com.liferay.portal.deploy.hot.HookHotDeployListener,\ com.liferay.portal.deploy.hot.JSONWebServiceHotDeployListener,\ com.liferay.portal.deploy.hot.LayoutTemplateHotDeployListener,\ com.liferay.portal.deploy.hot.PortletHotDeployListener,\ com.liferay.portal.deploy.hot.SocialHotDeployListener,\ com.liferay.portal.deploy.hot.ThemeHotDeployListener,\ com.liferay.portal.deploy.hot.ThemeLoaderHotDeployListener,\ \ com.liferay.portal.deploy.hot.MessagingHotDeployListener
Set this to true to enable undeploying plugins.
Defaults:hot.undeploy.enabled=true
Set the undeploy interval in milliseconds on how long to wait for the undeploy process to finish.
Defaults:hot.undeploy.interval=0
Set this to true to undeploy a plugin before deploying a new version. This property will only be used if the property "hot.undeploy.enabled" is set to true.
Defaults:hot.undeploy.on.redeploy=false
Input a list of comma delimited class names that implement com.liferay.portal.kernel.deploy.sandbox.SandboxDeployListener. These classes are used to process sandbox style plugins.
Defaults:sandbox.deploy.listeners=\ com.liferay.portal.deploy.sandbox.PortletSandboxDeployListener,\ com.liferay.portal.deploy.sandbox.ThemeSandboxDeployListener
Set this to true to enable sandbox style plugin development.
Defaults:sandbox.deploy.enabled=false
Set the directory to scan for sand box style plugins.
Defaults:sandbox.deploy.dir=${liferay.home}/sandbox
Set the interval in milliseconds on how often to scan the directory for changes.
Defaults:sandbox.deploy.interval=3000
Input a list of comma delimited supported plugin types.
Defaults:plugin.types=portlet,theme,layout-template,hook,web
Input a list of Liferay plugin repositories separated by \n characters.
Defaults:plugin.repositories.trusted= plugin.repositories.untrusted=
Set this property to false to avoid receiving on screen notifications when there is a new version of an installed plugin.
Defaults:plugin.notifications.enabled=false
Input a list of plugin packages ids separated by \n characters. Administrators won't be notified when a new version of these plugins are available. The ids are of the form groupId/artifactId. You can also end the id with an asterisk to match any id that starts with the previous character.
Examples:plugin.notifications.packages.ignored=liferay/sample-jsp-portlet
Set this property to set the default virtual path for all hot deployed portlets. See liferay-portlet-app_6_1_0.dtd and the virtual-path element for more information.
Defaults:portlet.virtual.path=
Set this property to true to validate portlet.xml against the portlet schema.
Defaults:portlet.xml.validate=true
Portlets that have configured liferay-portlet.xml with the element "add-default-resource" set to true will allow those portlets to be dynamically added to any page by any user. This is useful (and necessary) for some portlets that need to be dynamically added to a page, but it can also pose a security risk because it also allows any user to do it.
Set this property to true to add a security check around this behavior. If set to true, then portlets can only be dynamically added to a page if it contains a proper security token. This security token is automatically passed when using a portlet URL from one portlet to another portlet.
Modify the property "portlet.add.default.resource.check.whitelist" to whitelist certain portlets from this security check.
The security check utilizes the implementation set in the property "auth.token.impl".
Defaults:portlet.add.default.resource.check.enabled=true
Set a list of comma delimited portlet ids that will bypass the security check set in the property "portlet.add.default.resource.check.enabled".
Defaults:portlet.add.default.resource.check.whitelist=3,56_INSTANCE_0000,58,82,86,103,113,145,164,166,170
Input a list of comma delimited struts actions that will bypass the security check set in the property "portlet.add.default.resource.check.enabled".
Defaults:portlet.add.default.resource.check.whitelist.actions=\ /journal/rss,\ /language/view
Input a regular expression to ban paths that cannot be used to serve resources in portlets.
Defaults:portlet.resource.id.banned.paths.regexp=.*/(?:META-INF|WEB-INF)/.*
Set this property to true to restrict portlet communication via request attributes. See the property "layout.parallel.render.enable" on how that property affects this property.
Defaults:portlet.container.restrict=true
This property controls how cross layout portlet URLs are invoked. When set to "render", only render URLs will be allowed invocation across different layouts. When set to "all", all portlet URL types will be allowed invocation.
Defaults:portlet.cross.layout.invocation.mode=render
Set this property to specify how events are distributed. If the value is "layout-set", then events will be distributed to all portlets contained in a layout set. If the value is "layout", then events will be distributed to all portlets that are present in a layout.
Defaults:portlet.event.distribution=layout
Set this property to specify how public render parameters are distributed. If the value is "layout-set", then public render parameters will be distributed to all portlets contained in a layout set. This will only work correctly if the property "layout.default.p_l_reset" is set to false. If the value is "layout", then public render parameters will be distributed to all portlets that are present in a layout.
Defaults:portlet.public.render.parameter.distribution=layout
Set the location of the default help content for portlet display templates for each language type.
Defaults:portlet.display.templates.help[ftl]=com/liferay/portlet/portletdisplaytemplate/dependencies/portlet_display_template_help.ftl portlet.display.templates.help[vm]=com/liferay/portlet/portletdisplaytemplate/dependencies/portlet_display_template_help.vm
Input a list of portlet filters that will be applied to all portlets.
Defaults:portlet.filters.system=com.liferay.portlet.ScriptDataPortletFilter
Set this property to true to load the theme's merged CSS files for faster loading for production.
Set this property to false for easier debugging for development. You can also disable fast loading by setting the URL parameter "css_fast_load" to "0".
Defaults:theme.css.fast.load=true
Set this property to true to load the theme's merged image files for faster loading for production.
Set this property to false for easier debugging for development. You can also disable fast loading by setting the URL parameter "images_fast_load" to "0".
Defaults:theme.images.fast.load=true
Set this property to true to allow directly invoked JSPs to be overridden by a different version of the JSP that exists in a theme.
Defaults:theme.jsp.override.enabled=false
Set the theme's shortcut icon.
Defaults:theme.shortcut.icon=favicon.ico
Set this property to set the default virtual path for all hot deployed themes. See liferay-look-and-feel_6_1_0.dtd and the virtual-path element for more information.
Defaults:theme.virtual.path=
Set this with an absolute path to specify where imported theme files from a LAR will be stored. This path will override the file-storage path specified in liferay-theme-loader.xml.
Defaults:theme.loader.storage.path=
Themes can be imported via LAR files. Set this to true if imported themes should use a new theme id on every import. This will ensure that a copy of the old theme is preserved in the theme loader storage path. However, this also means that a lot of themes that are no longer used remain in the file system. It is recommended that you set this to false.
Defaults:theme.loader.new.theme.id.on.import=false
Set this to true to decorate portlets by default.
Defaults:theme.portlet.decorate.default=true
Set this to true to expose sharing icons for portlets by default.
Defaults:theme.portlet.sharing.default=false
Input a list of comma delimited resource action configurations that will be read from the class path.
Defaults:resource.actions.configs=resource-actions/default.xml
This should only be set to false when it is called by Service Builder outside of an application server or servlet container.
Defaults:resource.actions.read.portlet.resources=true
Input a list of comma delimited model hints configurations.
Defaults:model.hints.configs=\ META-INF/portal-model-hints.xml,\ classpath*:META-INF/ext-model-hints.xml,\ META-INF/portlet-model-hints.xml
Set the batch size of database query results returned during the tree rebuilding operation. If set to -1, the results will not be paginated and may result in a larger memory footprint.
Defaults:model.tree.rebuild.query.results.batch.size=10000
Input a list of common delimited method prefixes designated for read-only transactions. Service Builder will use these prefixes to annotate methods that are to run in read-only transactions.
Defaults:service.builder.service.read.only.prefixes=\ fetch,\ get,\ has,\ is,\ load,\ reindex,\ search
Input a list of comma delimited Spring configurations. These will be loaded after the bean definitions specified in the contextConfigLocation parameter in web.xml.
Note that there is a special case for hibernate-spring.xml and jpa-spring.xml. Even though both files are specified, only one will actually load at runtime based on the property "persistence.provider".
Defaults:spring.configs=\ META-INF/base-spring.xml,\ \ META-INF/hibernate-spring.xml,\ META-INF/infrastructure-spring.xml,\ META-INF/management-spring.xml,\ \ META-INF/util-spring.xml,\ \ META-INF/jpa-spring.xml,\ \ META-INF/executor-spring.xml,\ \ META-INF/audit-spring.xml,\ META-INF/cluster-spring.xml,\ META-INF/editor-spring.xml,\ META-INF/jcr-spring.xml,\ META-INF/ldap-spring.xml,\ META-INF/messaging-core-spring.xml,\ META-INF/messaging-misc-spring.xml,\ META-INF/mobile-device-spring.xml,\ META-INF/notifications-spring.xml,\ META-INF/poller-spring.xml,\ META-INF/rules-spring.xml,\ META-INF/scheduler-spring.xml,\ META-INF/search-spring.xml,\ META-INF/workflow-spring.xml,\ \ META-INF/counter-spring.xml,\ META-INF/mail-spring.xml,\ META-INF/portal-spring.xml,\ META-INF/portlet-container-spring.xml,\ META-INF/staging-spring.xml,\ META-INF/virtual-layouts-spring.xml,\ \ META-INF/monitoring-spring.xml,\ \ #META-INF/dynamic-data-source-spring.xml,\ #META-INF/shard-data-source-spring.xml,\ #META-INF/memcached-spring.xml,\ \ classpath*:META-INF/ext-spring.xml
Set the bean name for the Liferay data source.
Defaults:spring.hibernate.data.source=liferayDataSource
Set the bean name for the Liferay session factory.
Defaults:spring.hibernate.session.factory=&liferaySessionFactory
Set the list of portal classes that will be preloaded by the PreloadClassloader and therefore available to a plugin's Hibernate session factory.
Defaults:spring.hibernate.configuration.proxy.factory.preload.classloader.classes=\ javassist.util.proxy.MethodHandler,\ javassist.util.proxy.ProxyObject,\ javassist.util.proxy.RuntimeSupport,\ org.hibernate.proxy.HibernateProxy,\ org.hibernate.proxy.LazyInitializer
Set the list of portal classes that will be preloaded by the PreloadClassloader and therefore available to a plugin's Hibernate session factory.
Defaults:spring.hibernate.session.factory.preload.classloader.classes=\ org.hibernate.engine.jdbc.WrappedBlob
Set this property to false to manually open and close sessions.
Defaults:spring.hibernate.session.delegated=true
Set the provider used for ORM persistence. If this property is set to "jpa", then the properties with the prefix "jpa." will be read. If this property is set to "hibernate", then the properties with the prefix "hibernate." will be read.
Note that this property affects the loading of hibernate-spring.xml or jpa-spring.xml in the property "spring.configs".
Defaults:persistence.provider=hibernateExamples:
persistence.provider=jpa
Input a list of comma delimited Hibernate configurations.
Defaults:hibernate.configs=\ META-INF/mail-hbm.xml,\ META-INF/portal-hbm.xml,\ classpath*:META-INF/ext-hbm.xml
Liferay will automatically detect the Hibernate dialect in com.liferay.portal.spring.PortalHibernateConfiguration. Set this property to manually override the automatically detected dialect.
Examples:hibernate.dialect=
Set the Hibernate connection release mode. You should not modify this unless you know what you're doing. The default setting works best for Spring managed transactions. See the method buildSessionFactory in class org.springframework.orm.hibernate3.LocalSessionFactoryBean and search for the phrase "on_close" to understand how this works.
Examples:hibernate.connection.release_mode=on_close
Set the Hibernate cache region factory. Ehcache is recommended in a clustered environment. See the property "net.sf.ehcache.configurationResourceName" for detailed configuration.
Defaults:hibernate.cache.region.factory_class=com.liferay.portal.dao.orm.hibernate.region.SingletonLiferayEhcacheRegionFactory
This property is used if Hibernate is configured to use Ehcache's region factory.
Defaults:net.sf.ehcache.configurationResourceName=/ehcache/hibernate-clustered.xml
Configure this property if using Ehcache's default replication method for Hibernate's region cache.
Defaults:net.sf.ehcache.configurationResourceName.peerProviderProperties=peerDiscovery=automatic,multicastGroupAddress=${multicast.group.address["hibernate"]},multicastGroupPort=${multicast.group.port["hibernate"]},timeToLive=1
Set other Hibernate cache settings.
Defaults:hibernate.cache.use_query_cache=false hibernate.cache.use_second_level_cache=false hibernate.cache.use_minimal_puts=true hibernate.cache.use_structured_entries=false
Set the JDBC batch size to improve performance.
If you're using Hypersonic, you SHOULD set the batch size to 0 as a workaround for a logging bug in the Hypersonic driver. See LPS-5426 for more information.
If you're using Oracle 9i, you MUST set the batch size to 0 as a workaround for a hanging bug in the Oracle driver. See LEP-1234 for more information.
Defaults:hibernate.jdbc.batch_size=20Examples:
hibernate.jdbc.batch_size=0
Set other miscellaneous Hibernate properties.
Defaults:hibernate.jdbc.use_scrollable_resultset=true hibernate.bytecode.use_reflection_optimizer=true hibernate.show_sql=false
Use the classic query factory until WebLogic and Hibernate 3 can get along. See http://www.hibernate.org/250.html#A23 for more information.
Defaults:hibernate.query.factory_class=org.hibernate.hql.classic.ClassicQueryTranslatorFactory
Set this property to true to enable Hibernate cache monitoring. See LPS-2056 for more information.
Defaults:hibernate.generate_statistics=false
Set this property to "none" to disable the JPA validation. Some application servers have the validation JARs in the global class path which causes conflicts with Hibernate. See LPS-22453 for more information.
Defaults:javax.persistence.validation.mode=none
Input a list of comma delimited JPA configurations.
Defaults:jpa.configs=\ META-INF/mail-orm.xml,\ META-INF/portal-orm.xml
Set the name of the JPA provider.
Defaults:jpa.provider=eclipselinkExamples:
jpa.provider=hibernate jpa.provider=openjpa jpa.provider=toplink
Specify provider specific properties prefixed with "jpa.provider.property."
Defaults:jpa.provider.property.eclipselink.allow-zero-id=trueExamples:
jpa.provider.property.eclipselink.logging.level=FINEST jpa.provider.property.eclipselink.logging.timestamp=true
The LoadTimeWeaver interface is a Spring class that allows JPA ClassTransformer instances to be plugged in a specific manner depending on the environment.
Not all JPA providers require a JVM agent (Hibernate is an example). If your provider does not require an agent or you have other alternatives (such as applying enhancements at build time through a custom compiler or an Ant task), then the loadtime weaver should not be used.
Defaults:jpa.load.time.weaver=org.springframework.instrument.classloading.ReflectiveLoadTimeWeaverExamples:
jpa.load.time.weaver=org.springframework.instrument.classloading.glassfish.GlassFishLoadTimeWeaver jpa.load.time.weaver=org.springframework.instrument.classloading.oc4j.OC4JLoadTimeWeaver jpa.load.time.weaver=org.springframework.instrument.classloading.weblogic.WebLogicLoadTimeWeaver
Specify a specific database platform setting if the JPA provider is not able to detect the database platform.
Valid values for the Hibernate and OpenJPA providers are: DB2, DERBY, HSQL, INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, and SYBASE.
Valid values for the EclipseLink provider are: org.eclipse.persistence.platform.database.DB2MainframePlatform, org.eclipse.persistence.platform.database.DB2Platform, org.eclipse.persistence.platform.database.DerbyPlatform, org.eclipse.persistence.platform.database.HSQLPlatform, org.eclipse.persistence.platform.database.InformixPlatform, org.eclipse.persistence.platform.database.MySQLPlatform, org.eclipse.persistence.platform.database.OraclePlatform, org.eclipse.persistence.platform.database.PostgreSQLPlatform, org.eclipse.persistence.platform.database.SQLServerPlatform, or org.eclipse.persistence.platform.database.SybasePlatform.
Check with JPA provider's documentation for details and all possible values.
Examples:jpa.database.platform=
Liferay will automatically detect the database type by initializing DBUtil. You can override the value here if needed. Expected values are: db2, derby, firebird, hypersonic, informix, ingres, interbase, jdatastore, mysql, oracle, postgresql, sap, sqlserver, and sybase.
Examples:jpa.database.type=
Set the JNDI name to lookup the JDBC data source. If none is set, then the portal will attempt to create the JDBC data source based on the properties prefixed with "jdbc.default.".
Examples:jdbc.default.jndi.name=jdbc/LiferayPool
Set the properties used to create the JDBC data source. These properties will only be read if the property "jdbc.default.jndi.name" is not set.
The default settings are configured for an in-memory database called Hypersonic that is not recommended for production use. Please change the properties to use another database.
Add dynamic-data-source-spring.xml to the property "spring.configs" to configure the portal to use one database cluster for read calls and another database cluster for write calls. The convention is to create a set of properties prefixed with "jdbc.read." to handle read calls and another set of properties prefixed with "jdbc.write." to handle write calls. These data sources can also be created via JNDI by setting the properties "jdbc.read.jndi.name" and "jdbc.write.jndi.name". Note that these settings, though separate, are a copy of the default settings with the newly overridden values.
DB2
Examples:jdbc.default.driverClassName=com.ibm.db2.jcc.DB2Driver jdbc.default.url=jdbc:db2://localhost:50000/lportal:deferPrepares=false;fullyMaterializeInputStreams=true;fullyMaterializeLobData=true;progresssiveLocators=2;progressiveStreaming=2; jdbc.default.username=db2admin jdbc.default.password=lportal
Derby
Examples:jdbc.default.driverClassName=org.apache.derby.jdbc.EmbeddedDriver jdbc.default.url=jdbc:derby:lportal jdbc.default.username= jdbc.default.password=
Hypersonic
Defaults:jdbc.default.driverClassName=org.hsqldb.jdbcDriver jdbc.default.url=jdbc:hsqldb:${liferay.home}/data/hsql/lportal jdbc.default.username=sa jdbc.default.password=
Ingres
Examples:jdbc.default.driverClassName=com.ingres.jdbc.IngresDriver jdbc.default.url=jdbc:ingres://localhost:II7/lportal jdbc.default.username= jdbc.default.password=
MySQL
Examples:jdbc.default.driverClassName=com.mysql.jdbc.Driver jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false jdbc.default.username= jdbc.default.password=
Oracle
Examples:jdbc.default.driverClassName=oracle.jdbc.driver.OracleDriver jdbc.default.url=jdbc:oracle:thin:@localhost:1521:xe jdbc.default.username=lportal jdbc.default.password=lportal
P6Spy
Examples:jdbc.default.driverClassName=com.p6spy.engine.spy.P6SpyDriver jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false jdbc.default.username= jdbc.default.password=
PostgreSQL
Examples:jdbc.default.driverClassName=org.postgresql.Driver jdbc.default.url=jdbc:postgresql://localhost:5432/lportal jdbc.default.username=sa jdbc.default.password=
SQL Server
Examples:jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver jdbc.default.url=jdbc:jtds:sqlserver://localhost/lportal jdbc.default.username=sa jdbc.default.password=
Sybase
Examples:jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver jdbc.default.url=jdbc:jtds:sybase://localhost:5000/lportal jdbc.default.username=sa jdbc.default.password=
Liferay can use C3PO, DBCP, or Tomcat for connection pooling. See com.liferay.portal.dao.jdbc.util.DataSourceFactoryBean for the actual implementation. It is important to understand the strengths and weaknesses of each provider so that you can choose the best one that fits your deployment scenario. Provider specific properties can also be passed along directly to the provider. For example, the property "jdbc.default.acquireIncrement" is read by C3PO, and the property "jdbc.default.maxActive" is read by DBCP.
The default provider is C3PO.
Defaults:jdbc.default.liferay.pool.provider=c3poExamples:
jdbc.default.liferay.pool.provider=dbcp jdbc.default.liferay.pool.provider=tomcat
The following properties will be read by C3PO if Liferay is configured to use C3PO in the property "jdbc.default.liferay.pool.provider". See http://www.mchange.com/projects/c3p0/index.html#configuration for a list of additional fields used by C3PO for configuring database connections.
Defaults:jdbc.default.acquireIncrement=5 jdbc.default.acquireRetryAttempts=3 jdbc.default.acquireRetryDelay=1000 jdbc.default.connectionCustomizerClassName=com.liferay.portal.dao.jdbc.pool.c3p0.PortalConnectionCustomizer jdbc.default.idleConnectionTestPeriod=60 jdbc.default.maxIdleTime=3600 jdbc.default.maxPoolSize=100 jdbc.default.minPoolSize=10 jdbc.default.numHelperThreads=10Examples:
jdbc.default.transactionIsolation=1
The following properties will be read by both DBCP and Tomcat JDBC Connection Pool if Liferay is configured to use DBCP or Tomcat JDBC Connection Pool in the property "jdbc.default.liferay.pool.provider". See http://commons.apache.org/dbcp/configuration.html and http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html for a list of additional fields used by DBCP or Tomcat JDBC Connection Pool for configuring database connections.
Defaults:jdbc.default.maxActive=100 jdbc.default.minIdle=10 jdbc.default.removeAbandonedTimeout=3600Examples:
jdbc.default.defaultTransactionIsolation=READ_UNCOMMITTED
The following properties will be read by Tomcat JDBC Connection Pool if Liferay is configured to use Tomcat JDBC Connection Pool in the property "jdbc.default.liferay.pool.provider". See http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html for a list of additional fields used by Tomcat JDBC Connection Pool for configuring database connections.
Defaults:jdbc.default.jdbcInterceptors=org.apache.tomcat.jdbc.pool.interceptor.ConnectionState jdbc.default.jmxEnabled=true jdbc.default.fairQueue=true jdbc.default.timeBetweenEvictionRunsMillis=30000 jdbc.default.useEquals=false
Set this property to true to automatically escape wildcards to literal values.
Defaults:custom.sql.auto.escape.wildcards.enabled=false
Input a list of comma delimited custom SQL configurations.
Defaults:custom.sql.configs=custom-sql/default.xml
Some databases do not recognize a NULL IS NULL check. Set the "custom.sql.function.isnull" and "custom.sql.function.isnotnull" properties for your specific database.
There is no need to manually set these properties because com.liferay.portal.spring.PortalHibernateConfiguration already sets it. However, these properties are available so that you can see how you can override it for a database that PortalHibernateConfiguration does not yet know how to auto configure.
DB2
Examples:custom.sql.function.isnull=CAST(? AS VARCHAR(32672)) IS NULL custom.sql.function.isnotnull=CAST(? AS VARCHAR(32672)) IS NOT NULL
MySQL (for testing only)
Examples:custom.sql.function.isnull=IFNULL(?, '1') = '1' custom.sql.function.isnotnull=IFNULL(?, '1') = '0'
Sybase
Examples:custom.sql.function.isnull=CONVERT(VARCHAR,?) IS NULL custom.sql.function.isnotnull=CONVERT(VARCHAR,?) IS NOT NULL
Set this property to true to update database indexes on startup. This will ensure that all necessary indexes are added and that unnecessary indexes are removed. Only indexes that have names that match "LIFERAY_" OR "IX_" will be updated. Make sure that your custom indexes do not match the Liferay pattern to ensure that your custom indexes are not removed as unnecessary indexes.
Defaults:database.indexes.update.on.startup=false
Specify any database vendor specific settings.
MySQL
Set the MySQL engine type. InnoDB is the recommended engine because it provides transactional integrity.
Defaults:database.mysql.engine=InnoDB
Set the transaction isolation level for the Counter service. See "transaction.isolation.portal" for more information. The preferred value is 8 when the transaction manager supports it. If the transaction manager does not support it, (i.e. when using JPA and JpaTransactionManager) set this to -1 to use the database's default isolation level.
Defaults:transaction.isolation.counter=2
Set the definition of the "portal" transaction isolation level. The "portal" transaction isolation level is not a real isolation level. It is just a pointer to a real isolation level that can be configured by setting this property. Set the value to -1 to use the database's default isolation level. Set the value to 2 to use "read committed". Set the value to 1 to use "read uncommitted". Set the value to 4 to use "repeatable read". Set the value to 8 to use "serializable".
Defaults:transaction.isolation.portal=2
Set the transaction manager. It must be a class that extends org.springframework.transaction.support.AbstractPlatformTransactionManager.
The application server specific transaction managers provide XA transactions by leveraging application server specific data sources and thus require additional application server specific configuration. You should not modify this unless you know what you're doing.
Defaults:transaction.manager.impl=com.liferay.portal.spring.hibernate.LastSessionRecorderHibernateTransactionManagerExamples:
transaction.manager.impl=org.springframework.transaction.jta.JtaTransactionManager transaction.manager.impl=org.springframework.transaction.jta.OC4JJtaTransactionManager transaction.manager.impl=org.springframework.transaction.jta.WebLogicJtaTransactionManager transaction.manager.impl=org.springframework.transaction.jta.WebSphereUowTransactionManager
Additional properties that follow the pattern "transaction.manager.property.*" will be read to call the setters on the transaction manager. For example, the property "transaction.manager.property.globalRollbackOnParticipationFailure", will call the setter "setGlobalRollbackOnParticipationFailure" on the transaction manager. The list of available setters depends on the implementation specified in the property "transaction.manager.impl".
"allowCustomIsolationLevels" should be set to true when using the JtaTransactionManager.
Defaults:transaction.manager.property.globalRollbackOnParticipationFailure=falseExamples:
transaction.manager.property.allowCustomIsolationLevels=true
Set this property to true to enable transactional cache. When enabled, changes to caches take effect when transaction commits successfully. Caches rollback when transactions rollback.
Defaults:transactional.cache.enable=true
Set a list of comma delimited transactional portal cache names. The "?" character represents a single character wildcard. The "*" symbol character a multiple character wildcard. The "%" character is used to escape characters.
Defaults:transactional.cache.names=com.liferay.portal.kernel.dao.orm.EntityCache*,com.liferay.portal.kernel.dao.orm.FinderCache*,com.liferay.portal.service.persistence.impl.TableMapper-*,com.liferay.portlet.PortalPreferencesWrapperCacheUtil
Set the database that is to be used for the default company and globally used tables in a sharded environment.
Defaults:shard.default.name=default
Specify an algorithm for selecting a new shard on portal instance creation. Use ManualShardSelector for shard selection via the web interface.
Defaults:shard.selector=com.liferay.portal.dao.shard.RoundRobinShardSelectorExamples:
shard.selector=com.liferay.portal.dao.shard.ManualShardSelector
Set the classpath to the location of the Ehcache config file for internal caches. Edit the file specified in the property "ehcache.multi-vm.config.location" to enable clustered cache.
Defaults:ehcache.single.vm.config.location=/ehcache/liferay-single-vm.xml ehcache.multi.vm.config.location=/ehcache/liferay-multi-vm-clustered.xml
Uncomment the following in a clustered environment.
Defaults:ehcache.multi.vm.config.location.peerProviderProperties=peerDiscovery=automatic,multicastGroupAddress=${multicast.group.address["multi-vm"]},multicastGroupPort=${multicast.group.port["multi-vm"]},timeToLive=1
Input a class name that extends net.sf.ehcache.bootstrap.BootstrapCacheLoaderFactory. This class is used by Ehcache to determine how caches communicate with each other in a clustered environment.
Defaults:ehcache.bootstrap.cache.loader.factory=net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactoryExamples:
ehcache.bootstrap.cache.loader.factory=com.liferay.portal.cache.ehcache.JGroupsBootstrapCacheLoaderFactory
Input a class name that extends net.sf.ehcache.event.CacheEventListenerFactory. This class is used by Ehcache to determine how caches communicate with each other in a clustered environment.
Defaults:ehcache.cache.event.listener.factory=net.sf.ehcache.distribution.RMICacheReplicatorFactoryExamples:
ehcache.cache.event.listener.factory=net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory
Input a class name that extends net.sf.ehcache.distribution.CacheManagerPeerProviderFactory. This class is used by Ehcache to determine how caches communicate with each other in a clustered environment.
Defaults:ehcache.cache.manager.peer.provider.factory=net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactoryExamples:
ehcache.cache.manager.peer.provider.factory=net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory
The Ehcache cache manager internally maintains a scheduled thread pool executor for statistics. The default size of tthe scheduled thread pool executor is set to the number of CPUs. This is too heavy for a server with a lot of processors. Set this property to reduce the scheduled thread pool size.
Defaults:ehcache.cache.manager.statistics.thread.pool.size=1
Set this to true to enable JMX integration in com.liferay.portal.cache.EhcachePortalCacheManager. Set this to false if the portal needs to be reloaded under WebSphere.
Defaults:ehcache.portal.cache.manager.jmx.enabled=true
Set this to true to allow Ehcache to use blocking caches. This improves performance significantly by locking on keys instead of the entire cache. The drawback is that threads can hang if the cache is not used properly. Make sure that all queries that return a miss also immediately populate the cache, or else other threads that are blocked on a query of that same key will continue to hang. Reference Ehcache's BlockingCache for more information. The blocking cache is no longer implemented by Ehcache's BlockingCache, but by Liferay's BlockingPortalCache for better safety and faster performance.
Blocking cache together with transactional cache performs poorly, because transactional cache affects the cache population visibility across transactions. When transactional cache is on, blocking cache most likely does nothing useful unless the transaction window time is short. When transactional cache is off, it is better to turn on blocking cache for better database access performance.
Defaults:ehcache.blocking.cache.allowed=false
Set the socket timeout in milliseconds.
Defaults:ehcache.socket.so.timeout=10000
Set the start port for Ehcache socket. The port number will increase by 1 until it finds an unused port.
Defaults:ehcache.socket.start.port=32454
Set a list of JavaScript files that will be loaded automatically in /html/common/themes/top_js.jsp.
There are two lists of files specified in the properties "javascript.barebone.files" and "javascript.everything.files".
As the name suggests, the barebone list is the minimum list of JavaScript files required for most cases. The everything list includes everything else not listed in the barebone list.
The two lists of files exist for performance reasons because unauthenticated users usually do not utilize all the JavaScript that is available. See the property "javascript.barebone.enabled" for more information on the logic of when the barebone list is used and when the everything list is used and how to customize that logic.
The list of files are also merged and packed for further performance improvements. See the property "javascript.fast.load" for more details.
Specify the list of barebone files.
The ordering of the JavaScript files is important.
The Liferay scripts are grouped in such a way, that the first grouping denotes utility scripts that are used by the second and third groups. The second grouping denotes utility classes that rely on the first group, but does not rely on the second or third group. The third grouping denotes modules that rely on the first and second group.
Defaults:javascript.barebone.files=\ \ # # YUI core # \ aui/aui/aui.js,\ aui/aui-base-html5-shiv/aui-base-html5-shiv.js,\ \ # # Liferay module definitions # \ liferay/browser_selectors.js,\ liferay/modules.js,\ \ # # AUI sandbox # \ liferay/aui_sandbox.js,\ \ # # YUI modules # \ aui/arraylist-add/arraylist-add.js,\ aui/arraylist-filter/arraylist-filter.js,\ aui/arraylist/arraylist.js,\ aui/array-extras/array-extras.js,\ aui/array-invoke/array-invoke.js,\ aui/attribute-base/attribute-base.js,\ aui/attribute-complex/attribute-complex.js,\ aui/attribute-core/attribute-core.js,\ aui/attribute-observable/attribute-observable.js,\ aui/attribute-extras/attribute-extras.js,\ aui/base-base/base-base.js,\ aui/base-pluginhost/base-pluginhost.js,\ aui/classnamemanager/classnamemanager.js,\ aui/datatype-xml-format/datatype-xml-format.js,\ aui/datatype-xml-parse/datatype-xml-parse.js,\ aui/dom-base/dom-base.js,\ aui/dom-core/dom-core.js,\ aui/dom-screen/dom-screen.js,\ aui/dom-style/dom-style.js,\ aui/event-base/event-base.js,\ aui/event-custom-base/event-custom-base.js,\ aui/event-custom-complex/event-custom-complex.js,\ aui/event-delegate/event-delegate.js,\ aui/event-focus/event-focus.js,\ aui/event-hover/event-hover.js,\ aui/event-key/event-key.js,\ aui/event-mouseenter/event-mouseenter.js,\ aui/event-mousewheel/event-mousewheel.js,\ aui/event-outside/event-outside.js,\ aui/event-resize/event-resize.js,\ aui/event-simulate/event-simulate.js,\ aui/event-synthetic/event-synthetic.js,\ aui/intl/intl.js,\ aui/io-base/io-base.js,\ aui/io-form/io-form.js,\ aui/io-queue/io-queue.js,\ aui/io-upload-iframe/io-upload-iframe.js,\ aui/io-xdr/io-xdr.js,\ aui/json-parse/json-parse.js,\ aui/json-stringify/json-stringify.js,\ aui/node-base/node-base.js,\ aui/node-core/node-core.js,\ aui/node-event-delegate/node-event-delegate.js,\ aui/node-event-simulate/node-event-simulate.js,\ aui/node-focusmanager/node-focusmanager.js,\ aui/node-pluginhost/node-pluginhost.js,\ aui/node-screen/node-screen.js,\ aui/node-style/node-style.js,\ aui/oop/oop.js,\ aui/plugin/plugin.js,\ aui/pluginhost-base/pluginhost-base.js,\ aui/pluginhost-config/pluginhost-config.js,\ aui/querystring-stringify-simple/querystring-stringify-simple.js,\ aui/queue-promote/queue-promote.js,\ aui/selector-css2/selector-css2.js,\ aui/selector-css3/selector-css3.js,\ aui/selector-native/selector-native.js,\ aui/selector/selector.js,\ aui/widget-base/widget-base.js,\ aui/widget-htmlparser/widget-htmlparser.js,\ aui/widget-skin/widget-skin.js,\ aui/widget-uievents/widget-uievents.js,\ aui/yui-throttle/yui-throttle.js,\ \ # # Alloy core # \ aui/aui-base-core/aui-base-core.js,\ aui/aui-base-lang/aui-base-lang.js,\ \ # # Alloy modules # \ aui/aui-classnamemanager/aui-classnamemanager.js,\ aui/aui-component/aui-component.js,\ aui/aui-debounce/aui-debounce.js,\ aui/aui-delayed-task-deprecated/aui-delayed-task-deprecated.js,\ aui/aui-event-base/aui-event-base.js,\ aui/aui-event-input/aui-event-input.js,\ aui/aui-form-validator/aui-form-validator.js,\ aui/aui-node-base/aui-node-base.js,\ aui/aui-node-html5/aui-node-html5.js,\ aui/aui-selector/aui-selector.js,\ aui/aui-timer/aui-timer.js,\ \ # # Liferay base utility scripts # \ liferay/dependency.js,\ liferay/events.js,\ liferay/language.js,\ liferay/liferay.js,\ liferay/util.js,\ \ # # Liferay utility scripts # \ liferay/portal.js,\ liferay/portlet.js,\ liferay/portlet_sharing.js,\ liferay/workflow.js,\ \ # # Liferay modules # \ liferay/form.js,\ liferay/form_placeholders.js,\ liferay/icon.js,\ liferay/menu.js,\ liferay/notice.js,\ liferay/poller.js
Specify the list of everything files (everything else not already in the list of barebone files).
Defaults:javascript.everything.files=\ \ # # YUI modules # \ aui/async-queue/async-queue.js,\ aui/base-build/base-build.js,\ aui/cookie/cookie.js,\ aui/event-touch/event-touch.js,\ aui/overlay/overlay.js,\ aui/querystring-stringify/querystring-stringify.js,\ aui/widget-child/widget-child.js,\ aui/widget-position-align/widget-position-align.js,\ aui/widget-position-constrain/widget-position-constrain.js,\ aui/widget-position/widget-position.js,\ aui/widget-stack/widget-stack.js,\ aui/widget-stdmod/widget-stdmod.js,\ \ # # Alloy modules # \ aui/aui-aria/aui-aria.js,\ aui/aui-io-plugin-deprecated/aui-io-plugin-deprecated.js,\ aui/aui-io-request/aui-io-request.js,\ aui/aui-loading-mask-deprecated/aui-loading-mask-deprecated.js,\ aui/aui-overlay-base-deprecated/aui-overlay-base-deprecated.js,\ aui/aui-overlay-context-deprecated/aui-overlay-context-deprecated.js,\ aui/aui-overlay-manager-deprecated/aui-overlay-manager-deprecated.js,\ aui/aui-overlay-mask-deprecated/aui-overlay-mask-deprecated.js,\ aui/aui-parse-content/aui-parse-content.js,\ \ # # Liferay modules # \ liferay/address.js,\ liferay/dockbar.js,\ liferay/layout_exporter.js,\ liferay/session.js,\ \ # # Deprecated JS # \ liferay/deprecated.js
Set this property to false to always load JavaScript files listed in the property "javascript.everything.files". Set this to true to sometimes load "javascript.barebone.files" and sometimes load "javascript.everything.files".
The default logic is coded in com.liferay.portal.events.ServicePreAction in such a way that unauthenticated users get the list of barebone JavaScript files whereas authenticated users get both the list of barebone JavaScript files and the list of everything JavaScript files.
Defaults:javascript.barebone.enabled=true
Set this property to true to load the packed version of files listed in the properties "javascript.barebone.files" or "javascript.everything.files".
Set this property to false for easier debugging for development. You can also disable fast loading by setting the URL parameter "js_fast_load" to "0".
Defaults:javascript.fast.load=true
Input a list of comma delimited properties that are valid bundle ids for the JavaScript minifier.
Defaults:javascript.bundle.ids=\ javascript.barebone.files,\ javascript.everything.files
Define a bundle directory for each property listed in "javascript.bundle.ids".
Defaults:javascript.bundle.dir[javascript.barebone.files]=/html/js javascript.bundle.dir[javascript.everything.files]=/html/js
Define the bundle dependencies using any property listed in "javascript.bundle.ids".
Defaults:javascript.bundle.dependencies[javascript.everything.files]=javascript.barebone.files
Set this to true to enable the display of JavaScript logging.
Defaults:javascript.log.enabled=false
Set the default SQL ids for common objects.
Defaults:sql.data.com.liferay.portal.model.Country.country.id=19 sql.data.com.liferay.portal.model.Region.region.id=5 sql.data.com.liferay.portal.model.ListType.account.address=10000 sql.data.com.liferay.portal.model.ListType.account.email.address=10004 sql.data.com.liferay.portal.model.ListType.contact.email.address=11003 sql.data.com.liferay.portal.model.ListType.organization.status=12017
Set the maximum parameters that a SQL transaction query can contain. Some databases do not allow for more than 2000 parameters in a query.
Defaults:sql.data.max.parameters=1000
Set the strategy for non-serializable wrapping on Weblogic. If set to true, the wrapping is done for all objects. If set to false, no wrapping is done, but Weblogic must be configured not serializae request attributes.
Defaults:weblogic.request.wrap.non.serializable=true
company.default.name=Liferay
This sets the default web id. Omniadmin users must belong to the company with this web id.
Defaults:company.default.web.id=liferay.com
This sets the default home URL of the portal.
Defaults:company.default.home.url=/web/guest
This sets the default locale of the portal, overriding the properties "user.language" and "user.country" specified in system.properties.
Examples:company.default.locale=en_US
This sets the default time zone of the portal.
Defaults:company.default.time.zone=UTC
Set this to the appropriate encryption algorithm to be used for company level encryption algorithms (except password encryption which is defined via the property "passwords.encryption.algorithm").
If you change this setting, you may need to also change the property "company.encryption.key.size" to configure the desired encryption key size.
For more details about encryption keys, see the Java Cryptography Extension documentation.
Defaults:company.encryption.algorithm=AESExamples:
company.encryption.algorithm=Blowfish company.encryption.algorithm=DES company.encryption.algorithm=DESede
Set this to define the size used for the company wide encryption key. If you change this setting, you may need to also change the property "company.encryption.algorithm" to ensure the algorithm supports your key size. Most encryption algorithm implementations do not support key sizes stronger than 128. Only those with unlimited strength cryptography support stronger keys.
For more details about supported key sizes for encryption keys, see the Java Cryptography Extension documentation.
Defaults:company.encryption.key.size=128Examples:
company.encryption.key.size=56 company.encryption.key.size=168 company.encryption.key.size=256 company.encryption.key.size=384 company.encryption.key.size=512
The login field is prepopulated with the company's domain name if the login is unpopulated and user authentication is based on email addresses. Set this to false to disable the behavior.
Defaults:company.login.prepopulate.domain=true
The portal can authenticate users based on their email address, screen name, or user id.
Defaults:company.security.auth.type=emailAddressExamples:
company.security.auth.type=screenName company.security.auth.type=userId
Set this to true to ensure users login with https. If this is set to true and you want your HTTP session to contain your credentials after logging in, then the property "session.enable.phishing.protection" must be set to false or your credentials will only be available in the HTTPS session.
Defaults:company.security.auth.requires.https=false
Set this to true to allow users to select the "remember me" feature to automatically login to the portal.
Defaults:company.security.auto.login=true
Set this to the maximum age (in number of seconds) of the browser cookie that enables the "remember me" feature. A value of 31536000 signifies lifespan of one year. A value of -1 signifies a lifespan of a browser session.
Rather than setting this to 0, set the property "company.security.auto.login" to false to disable the "remember me" feature.
Defaults:company.security.auto.login.max.age=31536000
Set this to true to allow users to autocomplete the login form based on their previously entered values.
Defaults:company.security.login.form.autocomplete=true
Set this to true to allow users to ask the portal to send them their password.
Defaults:company.security.send.password=true
Set this to true to allow users to ask the portal to send them a password reset link.
Defaults:company.security.send.password.reset.link=true
Set this to true to allow strangers to create accounts and register themselves on the portal.
Defaults:company.security.strangers=true
Enter a friendly URL of a page that will be used to create new accounts whenever the user clicks the "create account" link in the login portlet. This allows providing custom portlets to create accounts. By default, the portal's create account will be used.
Examples:company.security.strangers.url=/create_account
Set this to true if strangers can create accounts with email addresses that match the company mail suffix. This property is not used unless "company.security.strangers" is also set to true.
Defaults:company.security.strangers.with.mx=true
Set this to true if strangers who create accounts need to be verified via email.
Defaults:company.security.strangers.verify=false
Set this to true to allow site administrators to use their own logo instead of the enterprise logo.
Defaults:company.security.site.logo=true
Input a list of sections that will be included as part of the company settings form.
Defaults:company.settings.form.configuration=general,authentication,users,mail-host-names,email-notifications,content-sharing company.settings.form.identification=addresses,phone-numbers,additional-email-addresses,websites company.settings.form.miscellaneous=display-settings,analytics,google-appsExamples:
company.settings.form.configuration=general,authentication,users,mail-host-names,email-notifications,content-sharing,recycle-bin
Input a list of sections that will be included as part of the company authentication settings form.
Defaults:company.settings.form.authentication=general,ldap,cas,facebook,ntlm,open-id,open-sso,siteminder
Set this to false if users cannot be deleted.
Defaults:users.delete=true
Set this to true when you want the validation to allow for creation of numeric screen names.
Defaults:users.screen.name.allow.numeric=false
Set this to true to always autogenerate user screen names even if the user gives a specific user screen name. If this is set to true, the LDAP importer will fetch users by their email address even if the property "company.security.auth.type" is set to screenName.
Defaults:users.screen.name.always.autogenerate=false
Input a class name that implements com.liferay.portal.security.auth.ScreenNameGenerator. This class will be called to generate user screen names.
Defaults:users.screen.name.generator=com.liferay.portal.security.auth.DefaultScreenNameGenerator
Input a class name that implements com.liferay.portal.security.auth.ScreenNameValidator. This class will be called to validate user screen names.
Defaults:users.screen.name.validator=com.liferay.portal.security.auth.DefaultScreenNameValidatorExamples:
users.screen.name.validator=com.liferay.portal.security.auth.LiberalScreenNameValidator
Set this to false if you want to be able to create users without an email address. An email address will be automatically assigned to a user based on the property "users.email.address.auto.suffix".
Defaults:users.email.address.required=true
Set the suffix of the email address that will be automatically generated for a user that does not have an email address. This property is not used unless the property "users.email.address.required" is set to false. The autogenerated email address will be the user id plus the specified suffix.
Defaults:users.email.address.auto.suffix=@no-emailaddress.com
Input a class name that implements com.liferay.portal.security.auth.EmailAddressGenerator. This class will be called to generate an email address for a user that does not specify an email address. This class will only be used if the property "users.email.address.required" is set to false.
Defaults:users.email.address.generator=com.liferay.portal.security.auth.DefaultEmailAddressGenerator
Input a class name that implements com.liferay.portal.security.auth.EmailAddressValidator. This class will be called to validate user email addresses.
Defaults:users.email.address.validator=com.liferay.portal.security.auth.DefaultEmailAddressValidatorExamples:
users.email.address.validator=com.liferay.portal.security.auth.LiberalEmailAddressValidator
Set this to true if you want the last name to be required when creating users.
Defaults:users.last.name.required=false
Input a class name that implements com.liferay.portal.security.auth.FullNameGenerator. This class will be called to generate a full name from the user's first, middle, and last names.
Defaults:users.full.name.generator=com.liferay.portal.security.auth.DefaultFullNameGeneratorExamples:
users.full.name.generator=com.liferay.portal.security.auth.FamilyNameFirstFullNameGenerator
Input a class name that implements com.liferay.portal.security.auth.FullNameValidator. This class will be called to validate the user's first, middle, and last names.
Defaults:users.full.name.validator=com.liferay.portal.security.auth.DefaultFullNameValidator
Set the maximum file size for user portraits. A value of 0 for the maximum file size can be used to indicate unlimited file size. However, the maximum file size allowed is set in the property "com.liferay.portal.upload.UploadServletRequestImpl.max.size".
Defaults:users.image.max.size=307200
Set the maximum user portrait height and width in pixels. A value of 0 indicates no restrictions on user portrait dimensions.
Defaults:users.image.max.height=120 users.image.max.width=100
Set this to true to record last login information for a user.
Defaults:users.update.last.login=true
Input a list of sections that will be included as part of the user form when adding a user.
Defaults:users.form.add.main=details,organizations,personal-site users.form.add.identification= users.form.add.miscellaneous=
Input a list of sections that will be included as part of the user form when updating a user.
Defaults:users.form.update.main=details,password,organizations,sites,user-groups,roles,personal-site,categorization users.form.update.identification=addresses,phone-numbers,additional-email-addresses,websites,instant-messenger,social-network,sms,open-id users.form.update.miscellaneous=announcements,display-settings,comments,custom-fields
Input a list of sections that will be included as part of the user form when updating a user in the My Account portlet.
Defaults:users.form.my.account.main=details,password,organizations,sites,user-groups,roles,categorization users.form.my.account.identification=addresses,phone-numbers,additional-email-addresses,websites,instant-messenger,social-network,sms,open-id users.form.my.account.miscellaneous=announcements,display-settings,comments,custom-fields
Set the allowed user list views.
Defaults:users.list.views=tree,flat-user-groups
Set this to true to enable reminder queries that are used to help reset a user's password.
Defaults:users.reminder.queries.enabled=true users.reminder.queries.custom.question.enabled=true
Set this to false to enable users without a reminder query to reset their password.
Defaults:users.reminder.queries.required=false
Input a list of questions used for reminder queries.
Defaults:users.reminder.queries.questions=what-is-your-primary-frequent-flyer-number,what-is-your-library-card-number,what-was-your-first-phone-number,what-was-your-first-teacher's-name,what-is-your-father's-middle-name
Set this to false to disable the user indexer.
Defaults:users.indexer.enabled=true
Set this to true to search users from the index. Set this to false to search users from the database. Note that setting this to false will disable the ability to search users based on Expando attributes. This setting is not used unless the property "users.indexer.enabled" is set to true.
Defaults:users.search.with.index=true
Set a property with the prefix "users.update.user.name." and a suffix with the class name that should be updated whenever a user's name has changed.
Defaults:users.update.user.name.com.liferay.portlet.messageboards.model.MBMessage=true
Input a list of user attributes that will be included when exporting users to a CSV file. You can include custom fields by adding the prefix "expando:" to the attribute name.
Defaults:users.export.csv.fields=fullName,emailAddress
Set the friendly URL to a user's profile page. If none is specified, the portal will query the user's first public page at runtime.
The following variables can be used: ${liferay:screenName} and ${liferay:userId}.
Examples:users.profile.friendly.url=/web/${liferay:screenName}/profile
Input a list of comma delimited system group names that will exist in addition to the standard system groups. When the server starts, the portal checks to ensure all system groups exist. Any missing system group will be created by the portal.
Defaults:system.groups=
Input a list of comma delimited system role names that will exist in addition to the standard system roles. When the server starts, the portal checks to ensure all system roles exist. Any missing system role will be created by the portal.
The standard system roles are: Administrator, Guest, Power User, and User. These roles cannot be removed or renamed.
Defaults:system.roles=
Set the description of the Administrator system role.
Defaults:system.role.Administrator.description=Administrators are super users who can do anything.
Set the description of the Guest system role.
Defaults:system.role.Guest.description=Unauthenticated users always have this role.
Set the description of the Owner system role.
Defaults:system.role.Owner.description=This is an implied role with respect to the objects users create.
Set the description of the Power User system role.
Defaults:system.role.Power.User.description=Power Users have their own personal site.
Set the description of the User system role.
Defaults:system.role.User.description=Authenticated users should be assigned this role.
Input a list of comma delimited system organization role names that will exist in addition to the standard system organization roles. When the server starts, the portal checks to ensure all system organization roles exist. Any missing system organization role will be created by the portal.
The standard system organization roles are: Organization Administrator, Organization Member, and Organization Owner. These roles cannot be removed or renamed.
Defaults:system.organization.roles=
Set the description of the Organization Administrator system organization role.
Defaults:system.organization.role.Organization.Administrator.description=Organization Administrators are super users of their organization but cannot make other users into Organization Administrators.
Set the description of the Organization Member system organization role.
Defaults:system.organization.role.Organization.User.description=All users who belong to an organization have this role within that organization.
Set the description of the Organization Owner system organization role.
Defaults:system.organization.role.Organization.Owner.description=Organization Owners are super users of their organization and can assign organization roles to users.
Input a list of comma delimited system site role names that will exist in addition to the standard system site roles. When the server starts, the portal checks to ensure all system site roles exist. Any missing system site role will be created by the portal.
The standard system site roles are: Site Administrator, Site Member, and Site Owner. These roles cannot be removed or renamed.
Defaults:system.site.roles=
Set the description of the Site Administrator system site role.
Defaults:system.site.role.Site.Administrator.description=Site Administrators are super users of their site but cannot make other users into Site Administrators.
Set the description of the Site Member system site role.
Defaults:system.site.role.Site.Member.description=All users who belong to a site have this role within that site.
Set the description of the Site Owner system site role.
Defaults:system.site.role.Site.Owner.description=Site Owners are super users of their site and can assign site roles to users.
Omniadmin users can administer the portal's core functionality: gc, shutdown, etc. Omniadmin users must belong to the default company.
Multiple portal instances might be deployed on one application server, but not all of the administrators should have access to this core functionality. Input the ids of users who are omniadmin users.
Leave this field blank if users who belong to the right company and have the Administrator role are allowed to administer the portal's core functionality.
Defaults:omniadmin.users=
Set this to true if all users are required to agree to the terms of use.
Defaults:terms.of.use.required=true
Specify the group id and the article id of the Journal article that will be displayed as the terms of use. The default text will be used if no Journal article is specified.
Defaults:terms.of.use.journal.article.group.id= terms.of.use.journal.article.id=
Input a list of group class names that will trigger a complex SQL query to delegate filtering in the database tier. A group class name corresponds to the className column in the Group_ table. Filtering in memory at the application tier after a simple SQL query can be much better on performance.
Defaults:groups.complex.sql.class.names=com.liferay.portal.model.User
Specify subtypes of roles if you want to be able to search for roles using your custom criteria.
Defaults:roles.site.subtypes= roles.organization.subtypes= roles.regular.subtypes=
Set this to true when you want the validation to allow for creation of roles with numeric names.
Defaults:roles.name.allow.numeric=false
organizations.types=regular-organization,locationDefaults:
organizations.rootable[regular-organization]=true organizations.children.types[regular-organization]=regular-organization,location organizations.country.enabled[regular-organization]=false organizations.country.required[regular-organization]=falseDefaults:
organizations.rootable[location]=false organizations.country.enabled[location]=true organizations.country.required[location]=trueExamples:
organizations.children.types[location]=
Input a list of sections that will be included as part of the organization form when adding an organization.
Defaults:organizations.form.add.main=details,organization-site organizations.form.add.identification= organizations.form.add.miscellaneous=
Input a list of sections that will be included as part of the organization form when updating an organization.
Defaults:organizations.form.update.main=details,organization-site,categorization organizations.form.update.identification=addresses,phone-numbers,additional-email-addresses,websites,services organizations.form.update.miscellaneous=comments,reminder-queries,custom-fields
Set this property to false if you want any administrator of an organization to be able to assign any user to that organization. By default, he will only be able to assign the users of the organizations and suborganizations that he can manage.
Defaults:organizations.assignment.strict=true
Set this property to true if you want users to only be members of the organizations to which they are assigned explicitly. By default, they will also become implicit members of the ancestors of those organizations. For example, if a user belongs to Liferay Spain, he will implicitly be a member of the ancestors Liferay Europe and Liferay Global and will be able to access their private pages.
Defaults:organizations.membership.strict=false
Set this to false to disable the organization indexer.
Defaults:organizations.indexer.enabled=true
Set this to true to search organizations from the index. Set this to false to search organizations from the database. Note that setting this to false will disable the ability to search organizations based on Expando attributes. This setting is not used unless the property "organizations.indexer.enabled" is set to true.
Defaults:organizations.search.with.index=true
Set this to true when you want the validation to allow for creation of user groups with numeric names.
Defaults:user.groups.name.allow.numeric=false
Set this to true to enable the legacy behavior of copying user group pages to user personal sites. This behavior is deprecated and is likely to be removed and replaced with a different scheme in future releases.
Defaults:user.groups.copy.layouts.to.user.personal.site=false
Set this to false to disable the user group indexer.
Defaults:user.groups.indexer.enabled=true
Set this to true to search user groups from the index. Set this to false to search user groups from the database. Note that setting this to false will disable the ability to search user groups based on Expando attributes. This setting is not used unless the property "user.groups.indexer.enabled" is set to true.
Defaults:user.groups.search.with.index=true
Set this to true to verify membership policies every time the server starts or when a membership policy hook is deployed.
Defaults:membership.policy.auto.verify=false
Input a class name that implements com.liferay.portal.security.membershippolicy.OrganizationMembershipPolicy. This class will be called whenever a user is added or removed from an organization or when a user is assigned or unassigned to a organization role or when a new organization is added or updated.
Defaults:membership.policy.organizations=com.liferay.portal.security.membershippolicy.DummyOrganizationMembershipPolicy
Input a class name that implements com.liferay.portal.security.membershippolicy.RoleMembershipPolicy. This class will be called whenever a user is assign or unassigned from a regular role or when a a new role is added or updated.
Defaults:membership.policy.roles=com.liferay.portal.security.membershippolicy.DummyRoleMembershipPolicy
Input a class name that implements com.liferay.portal.security.membershippolicy.SiteMembershipPolicy. This class will be called whenever a user is added or removed from a site or when a user is assigned or unassigned to a site role or a new site is added or updated.
Defaults:membership.policy.sites=com.liferay.portal.security.membershippolicy.DefaultSiteMembershipPolicyExamples:
membership.policy.sites=com.liferay.portal.security.membershippolicy.DummySiteMembershipPolicy
Input a class name that implements com.liferay.portal.security.membershippolicy.UserGroupsMembershipPolicy. This class will be called whenever a user is added or removed from a user group or a new user group is added or updated.
Defaults:membership.policy.user.groups=com.liferay.portal.security.membershippolicy.DummyUserGroupMembershipPolicy
Specify the available locales. Messages corresponding to a specific language are specified in properties files with file names matching that of content/Language_*.properties. These values can also be overridden in properties files with file names matching that of content/Language-ext_*.properties. Use a comma to separate each entry.
If there is more than one locale for the same language, the first one in the list will be used when a translation is requested in another locale of the same language but a translated value cannot be found. For example, if there are two locales such us pt_BR and pt_PT (in this order), any key not found in pt_PT will be looked for in pt_BR.
Language codes follow the ISO 639-1 standard. Content for each locale must be UTF-8 encoded.
See the following links, which specify language and country codes:
http://www.loc.gov/standards/iso639-2/php/code_list.php http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.htmlDefaults:
locales=ar_SA,eu_ES,bg_BG,ca_AD,ca_ES,zh_CN,zh_TW,hr_HR,cs_CZ,da_DK,nl_NL,nl_BE,en_US,en_GB,en_AU,et_EE,fi_FI,fr_FR,fr_CA,gl_ES,de_DE,el_GR,iw_IL,hi_IN,hu_HU,in_ID,it_IT,ja_JP,ko_KR,lo_LA,lt_LT,nb_NO,fa_IR,pl_PL,pt_BR,pt_PT,ro_RO,ru_RU,sr_RS,sr_RS_latin,sl_SI,sk_SK,es_ES,sv_SE,tr_TR,uk_UA,vi_VN
Specify the locales that are in beta. Go to http://translate.liferay.com to participate in the translation efforts.
Defaults:locales.beta=ar_SA,eu_ES,bg_BG,ca_AD,zh_TW,hr_HR,cs_CZ,da_DK,nl_NL,nl_BE,en_GB,en_AU,et_EE,gl_ES,el_GR,hi_IN,in_ID,it_IT,ko_KR,lo_LA,lt_LT,nb_NO,fa_IR,pl_PL,pt_PT,ro_RO,ru_RU,sr_RS,sr_RS_latin,sl_SI,sk_SK,sv_SE,tr_TR,uk_UA,vi_VN
Specify the locales that are enabled by default.
Defaults:locales.enabled=ca_ES,zh_CN,en_US,fi_FI,fr_FR,de_DE,iw_IL,hu_HU,ja_JP,pt_BR,es_ES
Set this to true if unauthenticated users get their preferred language from the Accept-Language header. Set this to false if unauthenticated users get their preferred language from their company.
Defaults:locale.default.request=false
Set this to 0 if the locale is not automatically prepended to a URL. This means that each URL could potentially point to many different languages. For example, the URL http://localhost:8080/web/guest/home could then be viewed by users in many different languages.
Set this to 1 if the locale is automatically prepended to a URL when the requested locale is not the default locale. This means that each URL points to just one language. For example, the URL http://localhost:8080/web/guest/home would point to the default language. The URL http://localhost:8080/zh/web/guest/home and http://localhost:8080/zh_CN/web/guest/home would both point to the Chinese language.
In cases where the prepended locale is "zh" and not the complete locale "zh_CN", then the full locale returned will be based on the order in which the locales appear in the property "locales". If "zh_CN" appears before "zh_TW", then "zh" will be a short hand for "zh_TW".
The default language is set in system.properties with the properties "user.country" and "user.language".
Set this to 2 if the locale is automatically prepended to every URL. This means that each URL points to just one language.
Set this to 3 if the locale is automatically prepended to a URL when the requested locale is not the default user locale. In the case of guest users, the behavior is the same as having a value of 1.
Note that each language requires an entry in the property "locales" and a servlet mapping in web.xml for the I18n Servlet.
Defaults:locale.prepend.friendly.url.style=3
Set this to true to disable language translations. When a translation is requested for the key "first-name", instead of returning "First Name" in English (or in its relevant locale), it will return "first-name".
Defaults:translations.disabled=false
Specify the available time zones. The specified ids must match those from the class java.util.TimeZone.
Defaults:time.zones=\ Pacific/Midway,\ Pacific/Honolulu,\ America/Anchorage,\ America/Los_Angeles,\ America/Denver,\ America/Chicago,\ America/New_York,\ America/Caracas,\ America/Puerto_Rico,\ America/St_Johns,\ America/Sao_Paulo,\ America/Noronha,\ Atlantic/Azores,\ UTC,\ Europe/Lisbon,\ Europe/Paris,\ Europe/Istanbul,\ Asia/Jerusalem,\ Asia/Baghdad,\ Asia/Tehran,\ Asia/Dubai,\ Asia/Kabul,\ Asia/Karachi,\ Asia/Calcutta,\ Asia/Katmandu,\ Asia/Dhaka,\ Asia/Rangoon,\ Asia/Saigon,\ Asia/Shanghai,\ Asia/Tokyo,\ Asia/Seoul,\ Australia/Darwin,\ Australia/Sydney,\ Pacific/Guadalcanal,\ Pacific/Auckland,\ Pacific/Enderbury,\ Pacific/Kiritimati
Set this to false if the system does not allow users to modify the look and feel.
Defaults:look.and.feel.modifiable=true
Set the default layout template id.
Defaults:default.layout.template.id=2_columns_ii
Set the default theme id for regular themes.
Defaults:default.regular.theme.id=classic
Set the default color scheme id for regular themes.
Defaults:default.regular.color.scheme.id=01
Set the default theme id for wap themes. This property is not used unless the property "mobile.device.styling.wap.enabled" is set to true.
This property is deprecated and only provided for backwards compatibility.
Defaults:default.wap.theme.id=mobile
Set the default color scheme id for wap themes. This property is not used unless the property "mobile.device.styling.wap.enabled" is set to true.
This property is deprecated and only provided for backwards compatibility.
Defaults:default.wap.color.scheme.id=01
Set this to true if you want a change in the theme selection of the public or private group to automatically be applied to the other (i.e. if public and private group themes should always be the same).
Defaults:theme.sync.on.group=false
Portlets that have been configured to use private request attributes in liferay-portlet.xml may still want to share some request attributes. This property allows you to configure which request attributes will be shared. Set a comma delimited list of attribute names that will be shared when the attribute name starts with one of the specified attribute names. For example, if you set the value to "hello_,world_", then all attribute names that start with "hello_" or "world_" will be shared.
Defaults:request.shared.attributes=LIFERAY_SHARED_
Set the maximum number of key value pairs that can be stored in the session via SessionClicks. See LPS-20096 for more information.
Defaults:session.clicks.max.allowed.values=1024
Set the maximum size of key and value terms that can be stored in the session via SessionClicks. See LPS-20096 for more information.
Defaults:session.clicks.max.size.terms=1024
Specify the delimiter for parsing compound session ids.
This addresses an issue with Weblogic and all application servers where the application server appends a unique JVM code to the session id. See LPS-18587.
Set a blank delimiter for the portal to attempt to detect a delimiter based on the application server.
Defaults:session.id.delimiter= session.id.weblogic.delimiter=!
Specify the maximum number of sessions allowed. A value of 0 or less than 0 means there is no limit. A value greater than 0 limits the number of sessions by invalidating newer sessions.
This property is not used unless the session max allowed filter is enabled.
Defaults:session.max.allowed=0
Specify the number of minutes before a session expires. This value is always overridden by the value set in web.xml.
Defaults:session.timeout=30
Specify the number of minutes before a warning is sent to the user informing the user of the session expiration. Specify 0 to disable any warnings.
Defaults:session.timeout.warning=1
Set the auto-extend mode to true to avoid having to ask the user whether to extend the session or not. Instead, it will be automatically extended. The purpose of this mode is to keep the session open as long as the user's browser is open with a portal page loaded. It is recommended to use this setting along with a smaller "session.timeout", such as 5 minutes, for better performance.
Defaults:session.timeout.auto.extend=false
Set this to true if the user is redirected to the default page when the session expires.
Defaults:session.timeout.redirect.on.expire=false
Portlets that have been configured to use private session attributes in liferay-portlet.xml may still want to share some session attributes. This property allows you to configure which session attributes will be shared. Set a comma delimited list of attribute names that will be shared when the attribute name starts with one of the specified attribute names. For example, if you set the value to "hello_,world_", then all attribute names that start with "hello_" or "world_" will be shared.
Note that this property is used to specify the sharing of session attributes from the portal to the portlet. This is not used to specify session sharing between portlet WARs or from the portlet to the portal.
Defaults:session.shared.attributes=COMPANY_,LIFERAY_SHARED_,org.apache.struts.action.LOCALE,PORTLET_RENDER_PARAMETERS_,PUBLIC_RENDER_PARAMETERS_POOL_,USER_
Explicitly exclude attributes that are shared from the portal to portlets.
Defaults:session.shared.attributes.excludes=USER_PASSWORD
Set this to true to store the user's password in the session.
Defaults:session.store.password=false
Set this to false to disable all persistent cookies. Features like automatically logging in will not work.
Defaults:session.enable.persistent.cookies=true
Set this to true to enable sessions when cookies are disabled. See LEP-4787. This behavior is configurable because enabling it can break certain setups.
Defaults:session.enable.url.with.session.id=false
The login process sets several cookies if persistent cookies are enabled. Set this property to set the domain of those cookies.
Examples:session.cookie.domain=
Set this to true to use the full hostname for cookie domain values. By default the domain is trimmed to use only the root domain to allow cross domain logins.
Defaults:session.cookie.use.full.hostname=false
Set this to true to invalidate the session when a user logs into the portal. This helps prevent phishing. Set this to false if you need the guest user and the authenticated user to have the same session.
Set this to false if the property "company.security.auth.requires.https" is set to true and you want to maintain the same credentials across HTTP and HTTPS sessions.
Defaults:session.enable.phishing.protection=true
Set a comma delimited list of attribute names that will be copied to the new session when the property "session.enable.phishing.protection" is set to true.
Defaults:session.phishing.protected.attributes=HTTPS_INITIAL,LAST_PATH
Set this to true to test whether users have cookie support before allowing them to sign in. This test will always fail if "tck.url" is set to true because that property disables session cookies.
Defaults:session.test.cookie.support=true
Set this to true to allow com.liferay.portal.kernel.servlet.SerializableSessionAttributeListener to test if an added session variable is serializable. Unserializable values stored into the session will cause a session to not replicate if session replication was enabled by the application server.
Defaults:session.verify.serializable.attribute=true
Set this to true to disable sessions. Doing this will use cookies to remember the user across requests. This is useful if you want to scale very large sites where the user may be sent to a different server for each request. The drawback to this approach is that you must not rely on the API for sessions provided by the servlet and portlet specs.
This feature is only available for Tomcat and requires that you set Tomcat's Manager class to "com.liferay.support.tomcat.session.SessionLessManagerBase".
Setting this to true will forcibly set "layout.ajax.render.enable" to false since ajax rendering requires sessions to be enabled.
Defaults:session.disabled=false
Input a list of comma delimited class names that extend com.liferay.portal.struts.SessionAction. These classes will run at the specified event.
Servlet session create event
Defaults:servlet.session.create.events=com.liferay.portal.events.SessionCreateAction
Servlet session destroy event
Defaults:servlet.session.destroy.events=com.liferay.portal.events.SessionDestroyAction,com.liferay.portal.events.ChannelSessionDestroyAction
Set this to true to track user clicks in memory for the duration of a user's session. Setting this to true allows you to view all live sessions in the Admin portlet.
Defaults:session.tracker.memory.enabled=true
Set this to true to track user clicks in the database after a user's session is invalidated. Setting this to true allows you to generate usage reports from the database. Use this cautiously because this will store a lot of usage data.
Defaults:session.tracker.persistence.enabled=false
Set this to true to convert the tracked paths to friendly URLs.
Defaults:session.tracker.friendly.paths.enabled=false
Enter a list of comma delimited paths that should not be tracked.
Defaults:session.tracker.ignore.paths=\ /portal/render_portlet,\ \ /document_library/get_file
Set this to false to disable JAAS security checks. Disabling JAAS speeds up login. JAAS must be disabled if administrators are to be able to impersonate other users.
Defaults:portal.jaas.enable=false
JAAS can authenticate users based on their email address, screen name, user id, or login as determined by the property "company.security.auth.type".
Defaults:portal.jaas.auth.type=userIdExamples:
portal.jaas.auth.type=emailAddress portal.jaas.auth.type=screenName portal.jaas.auth.type=login
By default, com.liferay.portal.security.jaas.PortalLoginModule loads the correct JAAS login module based on what application server or servlet container the portal is deployed on. Set a JAAS implementation class to override this behavior.
Examples:portal.jaas.impl=
Some JAAS login modules only work with a plain text password. Set this property to true to pass plain text passwords to JAAS.
Defaults:portal.jaas.plain.password=false
The JAAS process may pass in an encrypted password and the authentication will only succeed if there is an exact match. Set this property to false to relax that behavior so the user can input an unencrypted password.
Defaults:portal.jaas.strict.password=false
Set this to true to enable administrators to impersonate other users.
Defaults:portal.impersonation.enable=true
Set the configuration values for the JNDI context. Any property prefixed with "jndi.environment." will be passed to the JNDI context as an environment variable. The valid values are those specified in javax.naming.Context.
Examples:jndi.environment.java.naming.security.credentials= jndi.environment.java.naming.security.principal=
Set this property to "default" to use the default security manager configured by the application server. A security manager will not be used if the application server did not configure one.
Set this property to "liferay" to use Liferay's security manager if the application server has not configured a security manager.
Defaults:portal.security.manager.strategy=default
Set the PACL policy checker to use for checking a security manager permission.
Defaults:portal.security.manager.pacl.policy.checker[com.liferay.portal.kernel.security.pacl.permission.PortalHookPermission]=com.liferay.portal.security.pacl.checker.PortalHookChecker portal.security.manager.pacl.policy.checker[com.liferay.portal.kernel.security.pacl.permission.PortalMessageBusPermission]=com.liferay.portal.security.pacl.checker.PortalMessageBusChecker portal.security.manager.pacl.policy.checker[com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission]=com.liferay.portal.security.pacl.checker.PortalRuntimeChecker portal.security.manager.pacl.policy.checker[com.liferay.portal.kernel.security.pacl.permission.PortalServicePermission]=com.liferay.portal.security.pacl.checker.PortalServiceChecker portal.security.manager.pacl.policy.checker[java.awt.AWTPermission]=com.liferay.portal.security.pacl.checker.AWTChecker portal.security.manager.pacl.policy.checker[java.io.FilePermission]=com.liferay.portal.security.pacl.checker.FileChecker portal.security.manager.pacl.policy.checker[java.io.SerializablePermission]=com.liferay.portal.security.pacl.checker.DefaultRejectChecker portal.security.manager.pacl.policy.checker[java.lang.RuntimePermission]=com.liferay.portal.security.pacl.checker.RuntimeChecker portal.security.manager.pacl.policy.checker[java.lang.reflect.ReflectPermission]=com.liferay.portal.security.pacl.checker.ReflectChecker portal.security.manager.pacl.policy.checker[java.net.NetPermission]=com.liferay.portal.security.pacl.checker.NetChecker portal.security.manager.pacl.policy.checker[java.net.SocketPermission]=com.liferay.portal.security.pacl.checker.SocketChecker portal.security.manager.pacl.policy.checker[java.security.SecurityPermission]=com.liferay.portal.security.pacl.checker.SecurityChecker portal.security.manager.pacl.policy.checker[java.sql.SQLPermission]=com.liferay.portal.security.pacl.checker.DefaultRejectChecker portal.security.manager.pacl.policy.checker[java.util.PropertyPermission]=com.liferay.portal.security.pacl.checker.PropertyChecker portal.security.manager.pacl.policy.checker[javax.management.MBeanPermission]=com.liferay.portal.security.pacl.checker.MBeanChecker portal.security.manager.pacl.policy.checker[javax.management.MBeanServerPermission]=com.liferay.portal.security.pacl.checker.MBeanChecker portal.security.manager.pacl.policy.checker[javax.management.MBeanTrustPermission]=com.liferay.portal.security.pacl.checker.MBeanChecker portal.security.manager.pacl.policy.checker[javax.management.remote.SubjectDelegationPermission]=com.liferay.portal.security.pacl.checker.MBeanChecker portal.security.manager.pacl.policy.checker[javax.net.ssl.SSLPermission]=com.liferay.portal.security.pacl.checker.DefaultRejectCheckerExamples:
portal.security.manager.pacl.policy.checker[java.lang.management.ManagementPermission]=com.liferay.portal.security.pacl.checker.DefaultAcceptChecker portal.security.manager.pacl.policy.checker[java.security.AllPermission]= portal.security.manager.pacl.policy.checker[java.security.UnresolvedPermission]= portal.security.manager.pacl.policy.checker[java.util.logging.LoggingPermission]=com.liferay.portal.security.pacl.checker.DefaultAcceptChecker portal.security.manager.pacl.policy.checker[javax.security.auth.AuthPermission]=com.liferay.portal.security.pacl.checker.DefaultAcceptChecker portal.security.manager.pacl.policy.checker[javax.security.auth.PrivateCredentialPermission]=com.liferay.portal.security.pacl.checker.DefaultAcceptChecker portal.security.manager.pacl.policy.checker[javax.security.auth.kerberos.DelegationPermission]=com.liferay.portal.security.pacl.checker.DefaultAcceptChecker portal.security.manager.pacl.policy.checker[javax.security.auth.kerberos.ServicePermission]=com.liferay.portal.security.pacl.checker.DefaultAcceptChecker portal.security.manager.pacl.policy.checker[javax.sound.sampled.AudioPermission]=com.liferay.portal.security.pacl.checker.DefaultAcceptChecker
Set the default read paths used by com.liferay.portal.security.pacl.checker.FileChecker.
Defaults:portal.security.manager.file.checker.default.read.paths[glassfish]=\ ${liferay.web.portal.dir}html/common/-,\ ${liferay.web.portal.dir}html/taglib/-Defaults:
portal.security.manager.file.checker.default.read.paths[geronimo]=\ ${org.apache.geronimo.home.dir}/var/shared/-Defaults:
portal.security.manager.file.checker.default.read.paths[jetty]=\ ${liferay.web.portal.dir},\ ${liferay.web.portal.dir}html/common/-,\ ${liferay.web.portal.dir}html/taglib/-Defaults:
portal.security.manager.file.checker.default.read.paths[resin]=\ ${resin.home}ext-lib/-,\ ${liferay.web.portal.dir},\ ${liferay.web.portal.dir}html/common/-,\ ${liferay.web.portal.dir}html/taglib/-Defaults:
portal.security.manager.file.checker.default.read.paths[weblogic]=\ ${auto.deploy.installed.dir}/${plugin.servlet.context.name}/-,\ ${auto.deploy.installed.dir}/ROOT/html/common/-,\ ${auto.deploy.installed.dir}/ROOT/html/taglib/-Defaults:
portal.security.manager.file.checker.default.read.paths[websphere]=\ ${liferay.web.portal.dir}html/common/-,\ ${liferay.web.portal.dir}html/taglib/-,\ ${liferay.web.portal.dir}WEB-INF/classes,\ ${liferay.web.portal.dir}WEB-INF/classes/html/common/-,\ ${liferay.web.portal.dir}WEB-INF/classes/html/taglib/-
Set the list of classes that will be preloaded by the PreloadClassloader to be made available to plugins when the portal security manager is enabled. These classes will be exempt from the security checks that result from class loading.
Defaults:portal.security.manager.preload.classloader.classes=\ org.aopalliance.aop.Advice,\ org.springframework.aop.Advisor,\ org.springframework.aop.SpringProxy,\ org.springframework.aop.TargetSource,\ org.springframework.aop.framework.Advised,\ org.springframework.aop.framework.AopConfigException,\ org.springframework.jmx.export.MBeanExporter
Set the values used to connect to an LDAP store.
Defaults:ldap.factory.initial=com.sun.jndi.ldap.LdapCtxFactory ldap.referral=follow
Settings for com.liferay.portal.security.auth.LDAPAuth can be configured from the Admin portlet. It provides out-of-the-box support for the Apache Directory Server, Microsoft Active Directory Server, Novell eDirectory, and OpenLDAP. The default settings are for the Apache Directory Server.
The LDAPAuth class must be specified in the property "auth.pipeline.pre" to be executed.
Encryption is implemented by com.liferay.util.Encryptor.provider.class in system.properties.
Defaults:ldap.auth.enabled=false ldap.auth.required=false
Set the page size for directory servers that support paging. This value needs to be 1000 or less for the Microsoft Active Directory Server.
Defaults:ldap.page.size=1000
Set the number of values to return in each query to a multivalued attribute for directory servers that support range retrieval. The range size must be 1000 or less for Windows 2000 and 1500 or less for Windows Server 2003.
Defaults:ldap.range.size=1000
Set either bind or password-compare for the LDAP authentication method. Bind is preferred by most vendors so that you don't have to worry about encryption strategies.
Defaults:ldap.auth.method=bindExamples:
ldap.auth.method=password-compare
Set the password encryption to use for comparing passwords during import and to use for encrypting passwords during export. Comparing passwords during import will only be used when the property "ldap.auth.method" is set to password-compare. If the encryption is set to NONE, which is the default value, passwords are considered as plain text. The SHA-512 algorithm is currently unsupported.
Defaults:ldap.auth.password.encryption.algorithm=NONEExamples:
ldap.auth.password.encryption.algorithm=BCRYPT ldap.auth.password.encryption.algorithm=MD2 ldap.auth.password.encryption.algorithm=MD5 ldap.auth.password.encryption.algorithm=SHA ldap.auth.password.encryption.algorithm=SHA-256 ldap.auth.password.encryption.algorithm=SHA-384 ldap.auth.password.encryption.algorithm=SSHA ldap.auth.password.encryption.algorithm=UFC-CRYPT
You can write your own class that implements com.liferay.portal.security.ldap.AttributesTransformer to transform the LDAP attributes before a user or group is imported to the LDAP store.
Defaults:ldap.attrs.transformer.impl=com.liferay.portal.security.ldap.DefaultAttributesTransformer
Specify the settings for LDAP connections. Any property prefixed with "ldap.connection." will be passed to the LDAP context as an environment variable.
To enable LDAP connection pooling, you have to set "ldap.connection.com.sun.jndi.ldap.connect.pool" to true and provide additional JVM system properties via the JVM start-up options via:
java ... -Dcom.sun.jndi.ldap.connect.pool.maxsize=50 -Dcom.sun.jndi.ldap.connect.pool.timeout=10000
See the following link:
http://docs.oracle.com/javase/6/docs/technotes/guides/jndi/jndi-ldap.html#POOLDefaults:
ldap.connection.com.sun.jndi.ldap.connect.pool=true ldap.connection.com.sun.jndi.ldap.connect.timeout=500 ldap.connection.com.sun.jndi.ldap.read.timeout=15000
Settings for importing users and groups from LDAP to the portal.
Defaults:ldap.import.enabled=false ldap.import.on.startup=false ldap.import.interval=10
Set either user or group for import method. If set to user, the portal imports all users and the groups associated with those users. If set to group, the portal imports all groups and the users associated with those groups. This value should be set based on how your LDAP server stores group membership information.
Defaults:ldap.import.method=userExamples:
ldap.import.method=group
Set the lock expiration time for LDAP import. By default, the expiration time is 1 day.
Defaults:ldap.import.lock.expiration.time=86400000
If set to true, the group filter will be applied, but only to groups in the specified base DN. If set to false, the filter will not be applied and all groups that are associated with the imported users will be imported regardless of the base DN.
Defaults:ldap.import.group.search.filter.enabled=true
Specify whether group DN lookups will be cached during LDAP import and login. If set to true, this will speed up LDAP import and login, but updates to group attributes will not be recognized until the cache entry expires. The cache size and timeout may be configured in the configuration file specifed in the property "ehcache.single.vm.config.location".
Defaults:ldap.import.group.cache.enabled=true
Set this to true if the portal should automatically create a role per group imported from LDAP. The role will be assigned to the group so that users can automatically inherit that role when they are assigned to the group.
Defaults:ldap.import.create.role.per.group=false
Set these values to be a portion of the error message returned by the appropriate directory server to allow the portal to recognize messages from the LDAP server. The default values will work for Fedora DS.
Defaults:ldap.error.password.age=age ldap.error.password.expired=expired ldap.error.password.history=history ldap.error.password.not.changeable=not allowed to change ldap.error.password.syntax=syntax ldap.error.password.trivial=trivial ldap.error.user.lockout=retry limit
Set this to true to use LDAP's password policy instead of the portal password policy.
If set to true, it is possible that portal generated passwords will not match the LDAP policy. See the "passwords.regexptoolkit.*" properties for details on configuring RegExpToolkit in generating these passwords.
Defaults:ldap.password.policy.enabled=false
Set this to false when the LDAP user's password should not be imported to the Liferay user.
Defaults:ldap.import.user.password.enabled=true
Set this to true to autogenerate passwords for users imported from LDAP.
This property is only in use if the property "ldap.import.user.password.enabled" is set to false.
If an LDAP password policy is enabled (see the property "ldap.password.policy.enabled"), the password will be generated using RegExpToolkit. Set the "auth.pipeline.enable.liferay.check" property to false to disable password checking by the portal's internal authentication (which is not compatible with LDAP), and set the "auth.pipeline.pre" property to com.liferay.portal.security.auth.LDAPAuth so that password checking will be delegated to the LDAPAuth authenticator.
Note that enabling LDAP export, by setting the "ldap.export.enabled" property to true, may lead to overwriting the LDAP user's password with an autogenerated password.
Defaults:ldap.import.user.password.autogenerated=false
Set either screenName or plain text as the default password for the imported LDAP user. Setting the value to screenName will use the user's screen name as the password for the imported LDAP user. Setting the value to any other plain text value will use that value as the password for the imported LDAP user.
This property is only in use if the properties "ldap.import.user.password.enabled" and "ldap.import.user.password.autogenerated" are both set to false.
Defaults:ldap.import.user.password.default=testExamples:
ldap.import.user.password.default=screenName
Settings for exporting users from the portal to LDAP. This allows a user to modify his first name, last name, etc. in the portal and have that change pushed to the LDAP server. This setting is not used unless the property "ldap.auth.enabled" is set to true.
Defaults:ldap.export.enabled=false
Set this to true if groups and their associations should be exported from the portal to LDAP. This setting is not used unless the property "ldap.auth.enabled" is set to true.
Defaults:ldap.export.group.enabled=true
Set the values used to connect to an LDAP store.
The list of properties must end with a subsequent integer (0, 1, etc.) and it is assumed that the list has reached an end when the pattern or replacement is not set.
Examples:ldap.base.provider.url.0=ldap://localhost:10389 ldap.base.dn.0=dc=example,dc=com ldap.security.principal.0=uid=admin,ou=system ldap.security.credentials.0=secret
Active Directory stores information about the user account as a series of bit fields in the UserAccountControl attribute.
If you want to prevent disabled accounts from logging into the portal you need to use a search filter similar to the following: (&(objectclass=person)(userprincipalname=@email_address@)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))
See the following links:
http://support.microsoft.com/kb/305144/ http://support.microsoft.com/?kbid=269181Examples:
ldap.auth.search.filter.0=(mail=@email_address@)
When importing and exporting users, the portal will use this mapping to connect LDAP user attributes and portal contact attributes.
See com.liferay.portal.model.ContactModel for a list of attributes.
Examples:ldap.contact.mappings.0=aimSn=\nbirthday=\nfacebookSn=\nicqSn=\njabberSn=\njobTitle=\nmsnSn=\nmySpaceSn=\nskypeSn=\nsmsSn=\ntwitterSn=\nymSn=
When importing and exporting users, the portal will use this mapping to connect LDAP user attributes and portal contact's custom attributes.
Examples:ldap.contact.custom.mappings.0=
When a user is exported to LDAP and the user does not exist, the user will be created with the following default object classes.
Examples:ldap.user.default.object.classes.0=top,person,inetOrgPerson,organizationalPerson
When importing and exporting users, the portal will use this mapping to connect LDAP user attributes and portal user attributes.
See com.liferay.portal.model.UserModel for a list of attributes.
Examples:ldap.user.mappings.0=emailAddress=mail\nfirstName=givenName\ngroup=groupMembership\njobTitle=title\nlastName=sn\npassword=userPassword\nscreenName=cn\nuuid=uuid\n
When importing and exporting users, the portal will use this mapping to connect LDAP user attributes and portal user's custom attributes.
Examples:ldap.user.custom.mappings.0=
Set the user attributes that are controlled from the portal. When adding or updating a user from LDAP, these attributes will be skipped.
Defaults:ldap.user.ignore.attributes=Examples:
ldap.user.ignore.attributes=aimSn,comments,facebookId,facebookSn,firstName,greeting,icqSn,jabberSn,jobTitle,languageId,lastName,middleName,msnSn,mySpaceSn,openId,prefixId,reminderQueryAnswer,reminderQueryQuestion,skypeSn,smsSn,suffixId,timeZoneId,twitterSn,ymSn
When a group is exported to LDAP and the group does not exist, the group will be created with the following default object classes.
Examples:ldap.group.default.object.classes.0=top,groupOfUniqueNames
When importing groups, the portal will use this mapping to connect LDAP group attributes and portal user group attributes.
Examples:ldap.group.mappings.0=description=description\ngroupName=cn\nuser=uniqueMember
Settings for importing users and groups from LDAP to the portal. These settings are not used unless the property "ldap.import.enabled" is set to true.
Examples:ldap.import.user.search.filter.0=(objectClass=inetOrgPerson) ldap.import.group.search.filter.0=(objectClass=groupOfUniqueNames)
New users and groups will be created at the specified DN. This will only be active if the property "ldap.auth.enabled" and "ldap.export.enabled" are set to true.
Examples:ldap.users.dn.0=ou=users,dc=example,dc=com ldap.groups.dn.0=ou=groups,dc=example,dc=com
Set this to true to require a password when using basic authentication. Only set this to false if additional security measures are in place to ensure users have been properly authenticated.
Defaults:basic.auth.password.required=true
Set this to true to enable CAS single sign on. NTLM will work only if LDAP authentication is also enabled and the authentication is made by screen name. If set to true, then the property "auto.login.hooks" must contain a reference to the class com.liferay.portal.security.auth.CASAutoLogin and the filter com.liferay.portal.servlet.filters.sso.cas.CASFilter must be referenced in web.xml.
Defaults:cas.auth.enabled=false
A user may be authenticated from CAS and not yet exist in the portal. Set this to true to automatically import users from LDAP if they do not exist in the portal.
Defaults:cas.import.from.ldap=false
Set the default values for the required CAS URLs. Set either "cas.server.name" or "cas.service.url". Setting "cas.server.name" allows deep linking. See LEP-4423.
Defaults:cas.login.url=https://localhost:8443/cas-web/login cas.logout.url=https://localhost:8443/cas-web/logout cas.server.name=localhost:8080 cas.server.url=https://localhost:8443/cas-web cas.service.url= cas.no.such.user.redirect.url=http://localhost:8080Examples:
cas.service.url=http://localhost:8080/c/portal/login
Set this to true to log out the user from CAS when the portal session expires.
Defaults:cas.logout.on.session.expiration=false
facebook.connect.auth.enabled=false facebook.connect.app.id= facebook.connect.app.secret= facebook.connect.graph.url=https://graph.facebook.com facebook.connect.oauth.auth.url=https://graph.facebook.com/oauth/authorize facebook.connect.oauth.redirect.url=http://localhost:8080/c/login/facebook_connect_oauth facebook.connect.oauth.token.url=https://graph.facebook.com/oauth/access_token facebook.connect.verified.account.required=false
Set this to true to enable NTLM single sign on. NTLM will work only if LDAP authentication is also enabled and the authentication is made by screen name. If set to true, then the property "auto.login.hooks" must contain a reference to the class com.liferay.portal.security.auth.NtlmAutoLogin and the filter com.liferay.portal.servlet.filters.sso.ntlm.NtlmFilter must be referenced in web.xml.
Negotiate flags are set according to the the client's requested capabilities and the server's ServerCapabilities.
See the following link:
http://msdn.microsoft.com/en-us/library/cc717152%28v=PROT.10%29.aspxDefaults:
ntlm.auth.enabled=false ntlm.auth.domain.controller=127.0.0.1 ntlm.auth.domain.controller.name=EXAMPLE ntlm.auth.domain=EXAMPLE ntlm.auth.negotiate.flags=0x600FFFFF ntlm.auth.service.account=LIFERAY$@EXAMPLE.COM ntlm.auth.service.password=test
See http://jcifs.samba.org/src/docs/ntlmhttpauth.html for more available properties.
Defaults:jcifs.netbios.cachePolicy=30 jcifs.smb.client.soTimeout=35000
Set this to true to enable OpenId authentication. If set to true, then the property "auto.login.hooks" must contain a reference to the class com.liferay.portal.security.auth.OpenIdAutoLogin.
Defaults:open.id.auth.enabled=trueDefaults:
open.id.providers=yahooDefaults:
open.id.ax.schema[default]=email,firstname,lastname open.id.ax.type.email[default]=http://schema.openid.net/contact/email open.id.ax.type.firstname[default]=http://schema.openid.net/namePerson/first open.id.ax.type.lastname[default]=http://schema.openid.net/namePerson/lastDefaults:
open.id.ax.schema[yahoo]=email,fullname open.id.ax.type.email[yahoo]=http://axschema.org/contact/email open.id.ax.type.fullname[yahoo]=http://axschema.org/namePerson open.id.url[yahoo]=open.login.yahooapis.com
open.sso.auth.enabled=false
Set this to true if you want to import the users from LDAP after successful login through OpenSSO. The LDAP settings need to be configured properly in the LDAP section. If this is set to false, the users will be created from OpenSSO provided data.
Defaults:open.sso.ldap.import.enabled=falseDefaults:
open.sso.login.url=http://openssohost.example.com:8080/opensso/UI/Login?goto=http://portalhost.example.com:8080/c/portal/login open.sso.logout.url=http://openssohost.example.com:8080/opensso/UI/Logout?goto=http://portalhost.example.com:8080/web/guest/home open.sso.service.url=http://openssohost.example.com:8080/opensso open.sso.screen.name.attr=uid open.sso.email.address.attr=mail open.sso.first.name.attr=givenname open.sso.last.name.attr=sn
Set this to true to log a user out of OpenSSO when the portal session expires.
Defaults:open.sso.logout.on.session.expiration=false
Set this to true to automatically import users from LDAP if they do not exist in the portal. The property "auto.login.hooks" must contain a reference to the class com.liferay.portal.security.auth.RequestHeaderAutoLogin to enable request header authentication.
Defaults:request.header.auth.import.from.ldap=false
Input a list of comma delimited IPs that can automatically authenticate via request headers. Input a blank list to allow any IP to automatically authenticate via request headers. SERVER_IP will be replaced with the IP of the host server.
Defaults:request.header.auth.hosts.allowed=
Input a list of comma delimited init parameters that should never be set in the request header by the header filter.
Defaults:request.header.ignore.init.params=url-regex-ignore-pattern,url-regex-pattern
Set this to true to enable CA SiteMinder single sign on. If set to true, then the property "auto.login.hooks" must contain a reference to the class com.liferay.portal.security.auth.SiteMinderAutoLogin and the "logout.events.post" must have a reference to com.liferay.portal.events.SiteMinderLogoutAction for logout to work.
Defaults:siteminder.auth.enabled=false
A user may be authenticated from SiteMinder and not yet exist in the portal. Set this to true to automatically import users from LDAP if they do not exist in the portal.
Defaults:siteminder.import.from.ldap=false
Set this to the name of the user header that SiteMinder passes to the portal.
Defaults:siteminder.user.header=SM_USER
Input a list of comma delimited class names that implement com.liferay.portal.security.auth.Authenticator. These classes will run before or after the portal authentication begins.
The Authenticator class defines the constant values that should be used as return codes from the classes implementing the interface. If authentication is successful, return SUCCESS; if the user exists but the passwords do not match, return FAILURE; and if the user does not exist on the system, return DNE.
In the pre-authentication pipeline, if you want to skip password checking by the internal portal authentication, the authenticator should return SKIP_LIFERAY_CHECK. This is needed if passwords are not imported to the portal.
Constants in Authenticator:
public static final int DNE = 0; public static final int FAILURE = -1; public static final int SKIP_LIFERAY_CHECK = 2; public static final int SUCCESS = 1;
In case you have several classes in the authentication pipeline, all of them have to return SKIP_LIFERAY_CHECK or SUCCESS if you want the user to be able to login. If one of the authenticators returns DNE OR FAILURE, the login fails.
Under certain circumstances, you might want to keep the information in the portal database in sync with an external database or an LDAP server. This can easily be achieved by implementing a class via LDAPAuth that updates the information stored in the portal user database whenever a user signs in.
Each portal instance can be configured at run time to either authenticate based on user ids or email addresses. See the Admin portlet for more information.
Available authenticators are:
com.liferay.portal.security.auth.LDAPAuth
See the LDAP properties to configure the behavior of the LDAPAuth class.
Defaults:auth.pipeline.pre=com.liferay.portal.security.auth.LDAPAuthExamples:
auth.pipeline.post=
Set this to true to enable password checking by the internal portal authentication. If set to false, you're essentially delegating password checking to the authenticators configured in "auth.pipeline.pre" and "auth.pipeline.post" settings.
Defaults:auth.pipeline.enable.liferay.check=true
Input a list of comma delimited class names that implement com.liferay.portal.security.auth.AuthFailure. These classes will run when a user has a failed login or when a user has reached the maximum number of failed logins.
Defaults:auth.failure=com.liferay.portal.security.auth.LoginFailure auth.max.failures=com.liferay.portal.security.auth.LoginMaxFailures
Set the following to true if users are allowed to have simultaneous logins from different sessions. This property is not used unless the property "live.users.enabled" is set to true.
Defaults:auth.simultaneous.logins=true
Set this to true if users are forwarded to the last visited path upon successful login. If set to false, users will be forwarded to their default layout page.
Defaults:auth.forward.by.last.path=true
The login page reads a redirect by a parameter named "redirect". If this property is set to true, then users will be redirected to the given redirect path upon successful login. If the user does not have permission to view that page, then the rule set by the property "auth.forward.by.last.path" will apply.
You can set the redirect manually from another application by appending the "redirect" parameter in a url that looks like this: /c/portal/login?redirect=%2Fgroup%2Femployees%2Fcalendar. This url will redirect the user to the path "/group/employees/calendar" upon successful login.
Defaults:auth.forward.by.redirect=true
Enter a list of comma delimited paths that can be considered part of the last visited path.
Defaults:auth.forward.last.paths=/document_library/get_file
Enter a URL that will be used to login portal users whenever needed. By default, the portal's login page is used.
Examples:auth.login.url=/web/guest/home
Set this to true to prompt a guest user to login when attempting to access a protected page resource in the portal. By setting this value to false, the portal will inform all users that a requested resource is not found if they have no entitlements to view the resource. The portal will not prompt for login even if the user is a guest user. This behavior complies with OWASP best practices.
Defaults:auth.login.prompt.enabled=true
Enter a friendly URL of a page that will be used to login portal users whenever the user is navigating a site and authentication is needed. By default, the portal's login page or the URL set in the property "auth.login.url" is used.
Defaults:auth.login.site.url=/login
Enter the name of the login portlet used in a page identified by the URL of the previous property (if one has been set). This will allow the portlet to have access to the redirect parameter and forward the user to the page he was trying to access, when necessary. You should leave the default value unless you have your own custom login portlet.
Defaults:auth.login.portlet.name=58
Set this to true to disable any users from logging into the portal. Preventing users from logging into the portal provides a read-only version of the portal that can be used to minimize site outages during upgrades.
Defaults:auth.login.disabled=false auth.login.disabled.path=/portal/login_disabled
Enter a list of comma delimited paths that do not require authentication.
Defaults:auth.public.paths=\ /asset/get_categories,\ \ /blogs/find_entry,\ /blogs/rss,\ /blogs/trackback,\ \ /blogs_aggregator/rss,\ \ /bookmarks/find_entry,\ /bookmarks/find_folder,\ /bookmarks/open_entry,\ \ /document_library/find_file_entry,\ /document_library/find_folder,\ /document_library/get_file,\ \ /flags/edit_flag,\ \ /iframe/proxy,\ \ /image_gallery_display/find_folder,\ /image_gallery_display/find_image,\ \ /journal/find_folder,\ /journal/get_article,\ /journal/get_articles,\ /journal/get_latest_article_content,\ /journal/rss,\ /journal/view_article_content,\ /journal_articles/view_article_content,\ \ /layouts_admin/robots,\ /layouts_admin/sitemap,\ \ /login/facebook_connect_oauth,\ \ /message_boards/find_category,\ /message_boards/find_message,\ /message_boards/find_thread,\ /message_boards/get_message_attachment,\ /message_boards/rss,\ \ /my_sites/view,\ \ /polls/view_chart,\ \ /portal/emoticons,\ /portal/expire_session,\ /portal/extend_session,\ /portal/extend_session_confirm,\ /portal/json_service,\ /portal/license,\ /portal/logout,\ /portal/open_id_request,\ /portal/open_id_response,\ /portal/portlet_url,\ /portal/session_click,\ /portal/session_tree_js_click,\ /portal/status,\ \ /search/open_search,\ /search/open_search_description.xml,\ \ /shopping/notify,\ \ /wiki/find_page,\ /wiki/get_page_attachment,\ /wiki/rss
Input a list of comma delimited class names that implement com.liferay.portal.security.auth.AuthVerifier. These classes are used to verify whether a request is authenticated or not.
Each authentication verifier can have custom properties set via the property prefix "auth.verifier." and the authentication verifier's simple class name. All property suffixes are stripped of their prefix and passed directly to the authentication verifier. For example, the property "auth.verifier.BasicAuthHeaderAutoLogin.hosts.allowed" is passed to BasicAuthHeaderAutoLogin as "hosts.allowed".
The expected property suffixes are "hosts.allowed" and "urls". See the property "json.service.auth.token.hosts.allowed" for the accepted values for the property suffix "hosts.allowed".
The property suffix "urls.includes" denotes the valid URLs that apply to an authentication verifier.
The property suffix "urls.excludes" denotes URLs that will not be handled even if they match the patterns set in "urls.includes".
Defaults:auth.verifier.pipeline=com.liferay.portal.security.auth.BasicAuthHeaderAutoLogin,com.liferay.portal.security.auth.DigestAuthenticationAuthVerifier,com.liferay.portal.security.auth.ParameterAutoLogin,com.liferay.portal.security.auth.PortalSessionAuthVerifier,com.liferay.portal.security.auth.TunnelingServletAuthVerifier
BasicAuthHeaderAutoLogin
Defaults:auth.verifier.BasicAuthHeaderAutoLogin.hosts.allowed= auth.verifier.BasicAuthHeaderAutoLogin.urls.includes=/api/*,/xmlrpc/* auth.verifier.BasicAuthHeaderAutoLogin.urls.excludes=/api/liferay/do
DigestAuthenticationAuthVerifier
Defaults:auth.verifier.DigestAuthenticationAuthVerifier.hosts.allowed= auth.verifier.DigestAuthenticationAuthVerifier.urls.includes=N/A
ParameterAutoLogin
Defaults:auth.verifier.ParameterAutoLogin.hosts.allowed= auth.verifier.ParameterAutoLogin.urls.includes=N/A
PortalSessionAuthVerifier
Defaults:auth.verifier.PortalSessionAuthVerifier.hosts.allowed= auth.verifier.PortalSessionAuthVerifier.urls.includes=\ /api/json/*,\ /api/jsonws/*,\ /c/portal/json_service/*
TunnelingServletAuthVerifier
Defaults:auth.verifier.TunnelingServletAuthVerifier.hosts.allowed=255.255.255.255 auth.verifier.TunnelingServletAuthVerifier.urls.includes=/api/liferay/do
Set this to true to enable authentication token security checks. The checks can be disabled for specific actions via the property "auth.token.ignore.actions" or for specific portlets via the init parameter "check-auth-token" in portlet.xml.
Defaults:auth.token.check.enabled=true
Set the authentication token class. This class must implement com.liferay.portal.security.auth.AuthToken. This class is used to prevent CSRF attacks. See http://issues.liferay.com/browse/LPS-8399 for more information.
Defaults:auth.token.impl=com.liferay.portal.security.auth.SessionAuthToken
Input a list of comma delimited struts actions that will not be checked for an authentication token.
Defaults:auth.token.ignore.actions=\ /asset/rss,\ \ /asset_publisher/edit_article_discussion,\ /asset_publisher/edit_entry_discussion,\ /asset_publisher/edit_file_entry_discussion,\ /asset_publisher/edit_page_discussion,\ \ /blogs/edit_entry,\ /blogs/edit_entry_discussion,\ /blogs/rss,\ /blogs/trackback,\ \ /blogs_aggregator/edit_entry,\ /blogs_aggregator/edit_entry_discussion,\ /blogs_aggregator/rss,\ \ /document_library/edit_file_entry,\ /document_library/edit_file_entry_discussion,\ \ /document_library_display/edit_file_entry,\ /document_library_display/edit_file_entry_discussion,\ \ /journal/edit_article_discussion,\ /journal/rss,\ \ /journal_content/edit_article_discussion,\ \ /image_gallery_display/edit_file_entry,\ /image_gallery_display/edit_image,\ \ /login/create_account,\ /login/login,\ \ /message_boards/edit_discussion,\ /message_boards/edit_message,\ /message_boards/rss,\ \ /my_sites/view,\ \ /page_comments/edit_page_discussion,\ \ /shopping/edit_order_discussion,\ \ /software_catalog/edit_product_entry_discussion,\ \ /wiki/edit_page,\ /wiki/edit_page_attachment,\ /wiki/edit_page_discussion,\ /wiki/get_page_attachment,\ /wiki/rss,\ \ /wiki_admin/edit_page_attachment,\ \ /wiki_display/edit_page_attachment,\ /wiki_display/edit_page_discussion
Set a list of comma delimited origins that will not be checked for an authentication token.
Examples:auth.token.ignore.origins=\ com.liferay.portal.action.JSONServiceAction:com.liferay.portlet.expando.service.ExpandoValueServiceUtil#getJSONData,\ com.liferay.portal.jsonwebservice.JSONWebServiceServiceAction:/classname/,\ com.liferay.portal.jsonwebservice.JSONWebServiceServiceAction:/user/get-user-by-email-address,\ com.liferay.portlet.asset.action.GetCategoriesAction,\ com.liferay.portlet.portletconfiguration.action.GetLookAndFeelAction
Set a list of comma delimited portlet ids that will not be checked for an authentication token.
Defaults:auth.token.ignore.portlets=82
Set the shared secret that is used for requests where it is not possible to generate an authentication token (i.e. WSRP).
Examples:auth.token.shared.secret=
Input a list of comma delimited class names that implement com.liferay.portal.security.auth.AutoLogin. These classes will run in consecutive order for all unauthenticated users until one of them returns a valid user id and password combination. If no valid combination is returned, then the request continues to process normally. If a valid combination is returned, then the portal will automatically login that user with the returned user id and password combination.
For example, com.liferay.portal.security.auth.RememberMeAutoLogin reads from a cookie to automatically log in a user who previously logged in while checking on the "Remember Me" box.
This interface allows deployers to easily configure the portal to work with other SSO servers. See com.liferay.portal.security.auth.CASAutoLogin for an example of how to configure the portal with Yale's SSO server.
Defaults:auto.login.hooks=com.liferay.portal.security.auth.CASAutoLogin,com.liferay.portal.security.auth.FacebookAutoLogin,com.liferay.portal.security.auth.NtlmAutoLogin,com.liferay.portal.security.auth.OpenIdAutoLogin,com.liferay.portal.security.auth.OpenSSOAutoLogin,com.liferay.portal.security.auth.RememberMeAutoLogin,com.liferay.portal.security.auth.SiteMinderAutoLogin
Set the hosts that will be ignored for auto login.
Defaults:auto.login.ignore.hosts=
Set the paths that will be ignored for auto login.
Defaults:auto.login.ignore.paths=
To use SSO with MAC, post to a URL like:
http://localhost:8080/c/portal/login?cmd=already-registered&login=&password=
Pass the MAC in the password field. Make sure the MAC gets URL encoded because it might contain characters not allowed in a URL.
SSO with MAC also requires that you set the following property in system.properties:
com.liferay.util.servlet.SessionParameters=false
See the following links:
http://issues.liferay.com/browse/LEP-1288 http://en.wikipedia.org/wiki/Message_authentication_code
Set this to true to enable SSO with MAC.
Defaults:auth.mac.allow=false
Set the algorithm to use for MAC encryption.
Defaults:auth.mac.algorithm=MD5
Set the shared key used to generate the MAC.
Defaults:auth.mac.shared.key=
Set the following encryption algorithm to designate the password encryption algorithm to migrate from. This is only necessary if upgrading from a release prior to 6.2 or if you wish to switch password encryption algorithms when there are existing users with passwords in the portal.
Examples:passwords.encryption.algorithm.legacy=BCRYPT passwords.encryption.algorithm.legacy=MD2 passwords.encryption.algorithm.legacy=MD5 passwords.encryption.algorithm.legacy=NONE passwords.encryption.algorithm.legacy=SHA passwords.encryption.algorithm.legacy=SHA-256 passwords.encryption.algorithm.legacy=SHA-384 passwords.encryption.algorithm.legacy=SSHA passwords.encryption.algorithm.legacy=UFC-CRYPT
Set the following encryption algorithm to encrypt passwords. The default algorithm is PBKDF2WithHmacSHA1/160/128000, generating 160 bit hashes using 128,000 rounds.
It is possible to decrease the rounds value in case of slow production hardware, but be aware that 128,000 is the recommended value for 2014 by OWASP.
If set to NONE, passwords are stored in the database as plain text.
Defaults:passwords.encryption.algorithm=PBKDF2WithHmacSHA1/160/128000Examples:
passwords.encryption.algorithm=BCRYPT/10 passwords.encryption.algorithm=MD2 passwords.encryption.algorithm=MD5 passwords.encryption.algorithm=NONE passwords.encryption.algorithm=SHA passwords.encryption.algorithm=SHA-256 passwords.encryption.algorithm=SHA-384 passwords.encryption.algorithm=SSHA passwords.encryption.algorithm=UFC-CRYPT
Digested passwords are encoded via base64 or hex encoding. The default is base64.
Defaults:passwords.digest.encoding=base64Examples:
passwords.digest.encoding=hex
Input a class name that implements com.liferay.portal.security.pwd.Toolkit. This class will be called to generate and validate passwords.
Defaults:passwords.toolkit=com.liferay.portal.security.pwd.PasswordPolicyToolkitExamples:
passwords.toolkit=com.liferay.portal.security.pwd.RegExpToolkit
If you choose to use com.liferay.portal.security.pwd.PasswordPolicyToolkit as your password toolkit, you can choose either static or dynamic password generation. Static is set through the property "passwords.passwordpolicytoolkit.static" and dynamic uses the class com.liferay.util.PwdGenerator to generate the password. If you are using LDAP password syntax checking, you will also have to use the static generator so that you can guarantee that passwords obey its rules.
Defaults:passwords.passwordpolicytoolkit.generator=dynamic passwords.passwordpolicytoolkit.static=iheartliferayExamples:
passwords.passwordpolicytoolkit.generator=static
Set the character sets for password validation.
Defaults:passwords.passwordpolicytoolkit.charset.lowercase=abcdefghjkmnpqrstuvwxyz passwords.passwordpolicytoolkit.charset.numbers=0123456789 passwords.passwordpolicytoolkit.charset.symbols=_.!@$*=-? passwords.passwordpolicytoolkit.charset.uppercase=ABCDEFGHJKLMNPQRSTUVWXYZ
If you choose to use com.liferay.portal.security.pwd.RegExpToolkit as your password toolkit, set the regular expression pattern that will be used to generate and validate passwords.
Note that \ is replaced with \\ to work in Java.
The first pattern ensures that passwords must have at least 4 valid characters consisting of digits or letters.
The second pattern ensures that passwords must have at least 8 valid characters consisting of digits or letters.
Defaults:passwords.regexptoolkit.pattern=(?=.{4})(?:[a-zA-Z0-9]*)Examples:
passwords.regexptoolkit.pattern=(?=.{8})(?:[a-zA-Z0-9]*)
Set the length and key for generating passwords.
Defaults:passwords.regexptoolkit.charset=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz passwords.regexptoolkit.length=8Examples:
passwords.regexptoolkit.charset=0123456789 passwords.regexptoolkit.length=4
Set the properties of the default password policy.
Defaults:passwords.default.policy.allow.dictionary.words=true passwords.default.policy.changeable=true passwords.default.policy.change.required=true passwords.default.policy.check.syntax=false passwords.default.policy.expireable=false passwords.default.policy.grace.limit=0 passwords.default.policy.history=false passwords.default.policy.history.count=6 passwords.default.policy.lockout=false passwords.default.policy.lockout.duration=0 passwords.default.policy.max.age=8640000 passwords.default.policy.max.failure=3 passwords.default.policy.min.age=0 passwords.default.policy.min.alphanumeric=0 passwords.default.policy.min.length=6 passwords.default.policy.min.lowercase=0 passwords.default.policy.min.numbers=1 passwords.default.policy.min.symbols=0 passwords.default.policy.min.uppercase=1 passwords.default.policy.name=Default Password Policy passwords.default.policy.regex=(?=.{4})(?:[a-zA-Z0-9]*) passwords.default.policy.reset.failure.count=600 passwords.default.policy.reset.ticket.max.age=86400 passwords.default.policy.warning.time=86400
Set the default permission checker class used by com.liferay.portal.security.permission.PermissionCheckerFactory to check permissions for actions on objects. This class can be overriden with a custom class that implements com.liferay.portal.security.permission.PermissionChecker.
Defaults:permissions.checker=com.liferay.portal.security.permission.AdvancedPermissionCheckerExamples:
permissions.checker=com.liferay.portal.security.permission.SimplePermissionChecker
Set the default permissions list filter class. This class must implement com.liferay.portal.kernel.security.permission.PermissionsListFilter. This is used if you want to filter the list of permissions before it is actually persisted. For example, if you want to make sure that all users who create objects never have the UPDATE action, then you can filter that list and remove any permissions that have the UPDATE action before it is persisted.
Defaults:permissions.list.filter=com.liferay.portal.security.permission.PermissionsListFilterImpl
Set this to true to configure permission caching to block. See the property "ehcache.blocking.cache.allowed" for more information.
Defaults:permissions.object.blocking.cache=false
Configure this threshold to indicate when to use the custom SQL finder to check resource permissions.
Defaults:permissions.role.resource.permission.query.threshold=10
The permissions cache uses a thread local map to store the most frequently accessed items to lower the number of queries to the underlying cache. Set the maximum map size to 0 to disable the thread level cache.
Defaults:permissions.thread.local.cache.max.size=100
Set this to true to enable inline SQL permission checks.
Defaults:permissions.inline.sql.check.enabled=true
Configure this threshold to indicate when to pass in the resource block ids directly to the inline SQL statement and when to use a subselect to determine the resource block ids.
Defaults:permissions.inline.sql.resource.block.query.threshhold=100
Set this to true to use permission checking when reading custom attributes by default.
Defaults:permissions.custom.attribute.read.check.by.default=true
Set this to true to use permission checking when writing custom attributes by default.
Defaults:permissions.custom.attribute.write.check.by.default=true
Set the following to true to automatically check the view permission on parent categories or folders when checking the permission on a specific item.
For example, if set to true, to be able to have access to a document, a user must have the view permission on the document's folder and all its parent folders. Or, to have access to a comment, a user must have the view permission on the comments's category and all its parent categories.
Defaults:permissions.view.dynamic.inheritance=true
Set the following to true to enable propagation of permissions between models.
For example, when setting the permissions on a a specific Wiki node, if you assign a role a permission (e.g. DELETE), then the assignment of that permission is also propagated to all Wiki pages that belong to that Wiki node.
The actual logic of how permissions are propagated among models is specified per portlet. See liferay-portlet.xml's use of the element "permission-propagator".
Defaults:permissions.propagation.enabled=false
Set this to true if resources should assume that all users have the Guest role. Set this to false if resources will not assume that all users have the Guest role and, thus, do not automatically inherit permissions that belong to the Guest role.
Setting this property to false may require users to grant permissions to roles like Site Member and User.
Defaults:permissions.check.guest.enabled=true
Set the maximum number of captcha checks per portlet session. Set this value to 0 to always check. Set this value to a number less than 0 to never check. Unauthenticated users will always be checked on every request if captcha checks is enabled.
Defaults:captcha.max.challenges=1
Set whether or not to use captcha checks for the following actions.
Defaults:captcha.check.portal.create_account=true captcha.check.portal.send_password=true captcha.check.portlet.message_boards.edit_category=false captcha.check.portlet.message_boards.edit_message=false
Set the engine used to generate captchas. reCAPTCHA uses an external service that must be configured independently but provides an audible alternative which makes the captcha accessible to the visually impaired. See https://www.google.com/recaptcha/admin/create for details.
Defaults:captcha.engine.impl=com.liferay.portal.captcha.simplecaptcha.SimpleCaptchaImplExamples:
captcha.engine.impl=com.liferay.portal.captcha.recaptcha.ReCaptchaImpl
reCAPTCHA
Defaults:captcha.engine.recaptcha.key.private= captcha.engine.recaptcha.key.public= captcha.engine.recaptcha.url.script=http://www.google.com/recaptcha/api/challenge?k= captcha.engine.recaptcha.url.noscript=http://www.google.com/recaptcha/api/noscript?k= captcha.engine.recaptcha.url.verify=http://www.google.com/recaptcha/api/verify
SimpleCaptcha
Set the height and width for captcha images generated by SimpleCaptcha.
Defaults:captcha.engine.simplecaptcha.height=50 captcha.engine.simplecaptcha.width=150
Input a list of comma delimited class names that implement nl.captcha.backgrounds.BackgroundProducer. These classes will be randomly used by SimpleCaptcha to generate a background for a captcha image.
Defaults:captcha.engine.simplecaptcha.background.producers=nl.captcha.backgrounds.FlatColorBackgroundProducer,nl.captcha.backgrounds.GradiatedBackgroundProducer,nl.captcha.backgrounds.SquigglesBackgroundProducer,nl.captcha.backgrounds.TransparentBackgroundProducer
Input a list of comma delimited class names that implement nl.captcha.gimpy.GimpyRenderer. These classes will be randomly used by SimpleCaptcha to gimp a captcha image.
Defaults:captcha.engine.simplecaptcha.gimpy.renderers=nl.captcha.gimpy.BlockGimpyRenderer,nl.captcha.gimpy.DropShadowGimpyRenderer,nl.captcha.gimpy.FishEyeGimpyRenderer,nl.captcha.gimpy.RippleGimpyRenderer,nl.captcha.gimpy.ShearGimpyRendererExamples:
captcha.engine.simplecaptcha.gimpy.renderers=nl.captcha.gimpy.RippleGimpyRenderer
Input a list of comma delimited class names that implement nl.captcha.noise.NoiseProducer. These classes will be randomly used by SimpleCaptcha to add noise to a captcha image.
Defaults:captcha.engine.simplecaptcha.noise.producers=nl.captcha.noise.CurvedLineNoiseProducer,nl.captcha.noise.StraightLineNoiseProducerExamples:
captcha.engine.simplecaptcha.noise.producers=nl.captcha.noise.CurvedLineNoiseProducer
Input a list of comma delimited class names that implement nl.captcha.text.producer.TextProducer. These classes will be randomly used by SimpleCaptcha to generate text for a captcha image.
Defaults:captcha.engine.simplecaptcha.text.producers=com.liferay.portal.captcha.simplecaptcha.PinNumberTextProducerExamples:
captcha.engine.simplecaptcha.text.producers=com.liferay.portal.captcha.simplecaptcha.DictionaryWordTextProducer,com.liferay.portal.captcha.simplecaptcha.PinNumberTextProducer,nl.captcha.text.producer.DefaultTextProducer,nl.captcha.text.producer.FiveLetterFirstNameTextProducer
Input a list of comma delimited class names that implement nl.captcha.text.renderer .WordRenderer. These classes will be randomly used by SimpleCaptcha to render text for a captcha image.
Defaults:captcha.engine.simplecaptcha.word.renderers=nl.captcha.text.renderer.DefaultWordRendererExamples:
captcha.engine.simplecaptcha.word.renderers=nl.captcha.text.renderer.ColoredEdgesWordRenderer,nl.captcha.text.renderer.DefaultWordRenderer
Input a list of comma delimited class names that extend com.liferay.portal.struts.SimpleAction. These classes will run at the specified event.
Global startup event that runs once when the portal initializes.
Defaults:global.startup.events=com.liferay.portal.events.GlobalStartupAction,com.liferay.portal.events.CryptoStartupAction
Application startup event that runs once for every web site instance of the portal that initializes.
Defaults:application.startup.events=com.liferay.portal.events.AddDefaultDataAction,com.liferay.portal.events.AppStartupAction,com.liferay.portal.events.ChannelHubAppStartupActionExamples:
application.startup.events=com.liferay.portal.events.AppStartupAction,com.liferay.portal.events.SampleAppStartupAction
Input a list of comma delimited class names that extend com.liferay.portal.struts.SimpleAction. These classes will run at the specified event.
Global shutdown event that runs once when the portal shuts down.
Defaults:global.shutdown.events=com.liferay.portal.events.GlobalShutdownAction
Application shutdown event that runs once for every web site instance of the portal that shuts down.
Defaults:application.shutdown.events=com.liferay.portal.events.AppShutdownAction,com.liferay.portal.events.ChannelHubAppShutdownAction
Programmatically kill the Java process on shutdown. This is a workaround for a bug in Tomcat and Linux where the process hangs on forever.
See http://issues.liferay.com/browse/LEP-2048 for more information.
Defaults:shutdown.programmatically.exit=false
Input a list of comma delimited class names that extend com.liferay.portal.kernel.events.Action. These classes will run before or after the specified event.
Servlet service event (the pre-service events have an associated error page and will forward to that page if an exception is thrown during excecution of the events). The pre-service events process before Struts processes the request. The post-service events process after Struts processes the request.
Defaults:servlet.service.events.pre=com.liferay.portal.events.ServicePreAction,com.liferay.portal.events.DeviceServicePreAction,com.liferay.portal.events.ThemeServicePreAction servlet.service.events.pre.error.page=/common/error.jsp servlet.service.events.post=com.liferay.portal.events.ServicePostActionExamples:
servlet.service.events.pre=com.liferay.portal.events.LogMemoryUsageAction,com.liferay.portal.events.LogThreadCountAction,com.liferay.portal.events.ServicePreAction,com.liferay.portal.events.DeviceServicePreAction,com.liferay.portal.events.ThemeServicePreAction servlet.service.events.pre=com.liferay.portal.events.LogSessionIdAction,com.liferay.portal.events.ServicePreAction,com.liferay.portal.events.DeviceServicePreAction,com.liferay.portal.events.ThemeServicePreAction servlet.service.events.pre=com.liferay.portal.events.ServicePreAction,com.liferay.portal.events.DeviceServicePreAction,com.liferay.portal.events.ThemeServicePreAction,com.liferay.portal.events.RandomLayoutAction servlet.service.events.pre=com.liferay.portal.events.ServicePreAction,com.liferay.portal.events.DeviceServicePreAction,com.liferay.portal.events.ThemeServicePreAction,com.liferay.portal.events.RandomLookAndFeelAction servlet.service.events.pre=com.liferay.portal.events.ServicePreAction,com.liferay.portal.events.DeviceServicePreAction,com.liferay.portal.events.ThemeServicePreAction,com.liferay.portal.events.SecureRequestAction
Login event
Defaults:login.events.pre=com.liferay.portal.events.LoginPreAction login.events.post=com.liferay.portal.events.ChannelLoginPostAction,com.liferay.portal.events.DefaultLandingPageAction,com.liferay.portal.events.LoginPostAction
Logout event
Defaults:logout.events.pre=com.liferay.portal.events.LogoutPreAction logout.events.post=com.liferay.portal.events.LogoutPostAction,com.liferay.portal.events.DefaultLogoutPageAction,com.liferay.portal.events.SiteMinderLogoutActionExamples:
logout.events.post=com.liferay.portal.events.LogoutPostAction,com.liferay.portal.events.GarbageCollectorAction
Set the default landing page path for logged in users relative to the server path. This is the page users are automatically redirected to after logging in. For example, if you want the default landing page to be http://localhost:8080/web/guest/login, set this to /web/guest/login. To activate this feature, set auth.forward.by.last.path to true. To customize the behavior, see com.liferay.portal.events.DefaultLandingPageAction in the "login.events.post" property above.
The following variables can be used: ${liferay:screenName} and ${liferay:userId}.
Defaults:default.landing.page.path=Examples:
default.landing.page.path=/web/guest/login default.landing.page.path=/user/${liferay:screenName}/home
Set the default logout page path for users relative to the server path. This is the page users are automatically redirected to after logging out. For example, if you want the default logout page to be http://localhost:8080/web/guest/logout, set this to /web/guest/logout. To activate this feature, set auth.forward.by.last.path to true. To customize the behavior, see com.liferay.portal.events.DefaultLogoutPageAction in the "logout.events.post" property above.
Defaults:default.logout.page.path=Examples:
default.logout.page.path=/web/guest/logout
The Guest group must have at least one public page. The settings for the initial public page are specified in the following properties.
If you need to add more than one page, set the property "default.guest.public.layouts.lar" to specifiy a LAR file instead.
For even more complex behavior, override the addDefaultGuestPublicLayouts method in com.liferay.portal.service.impl.GroupLocalServiceImpl.
Set the name of the public layout.
Defaults:default.guest.public.layout.name=Welcome
Set the layout template id of the public layout.
Defaults:default.guest.public.layout.template.id=2_columns_ii
Set the portlet ids for the columns specified in the layout template.
Defaults:default.guest.public.layout.column-1=58 default.guest.public.layout.column-2=47 default.guest.public.layout.column-3= default.guest.public.layout.column-4=
Set the friendly url of the public layout.
Defaults:default.guest.public.layout.friendly.url=/home
Set the regular theme id for the public layout.
Examples:default.guest.public.layout.regular.theme.id=classic
Set the regular color scheme id for the public layout.
Examples:default.guest.public.layout.regular.color.scheme.id=01
Set the wap theme id for the public layout. This property is not used unless the property "mobile.device.styling.wap.enabled" is set to true.
This property is deprecated and only provided for backwards compatibility.
Examples:default.guest.public.layout.wap.theme.id=mobile
Set the wap color scheme for the public layout. This property is not used unless the property "mobile.device.styling.wap.enabled" is set to true.
This property is deprecated and only provided for backwards compatibility.
Examples:default.guest.public.layout.wap.color.scheme.id=01
Specify a LAR file that can be used to create the guest public layouts. If this property is set, the previous layout properties will be ignored.
Examples:default.guest.public.layouts.lar=${liferay.home}/deploy/default_guest_public.lar
If the properties "layout.user.private.layouts.enabled" and "layout.user.private.layouts.auto.create" are both set to true, then users will have private layouts and they will be automatically created. The settings below are used for the creation of the initial private pages.
If you need to add more than one page, set the property "default.user.private.layouts.lar" to specifiy a LAR file instead.
For even more complex behavior, override the addDefaultUserPrivateLayouts method in com.liferay.portal.events.ServicePreAction.
Set the name of the private layout.
Defaults:default.user.private.layout.name=Welcome
Set the layout template id of the private layout.
Defaults:default.user.private.layout.template.id=2_columns_ii
Set the portlet ids for the columns specified in the layout template.
Defaults:default.user.private.layout.column-1=82,23,11 default.user.private.layout.column-2=29 default.user.private.layout.column-3= default.user.private.layout.column-4=
Set the friendly url of the private layout.
Defaults:default.user.private.layout.friendly.url=/home
Set the regular theme id for the private layout.
Examples:default.user.private.layout.regular.theme.id=classic
Set the regular color scheme id for the private layout.
Examples:default.user.private.layout.regular.color.scheme.id=01
Set the wap theme id for the private layout. This property is not used unless the property "mobile.device.styling.wap.enabled" is set to true.
This property is deprecated and only provided for backwards compatibility.
Examples:default.user.private.layout.wap.theme.id=mobile
Set the wap color scheme for the private layout. This property is not used unless the property "mobile.device.styling.wap.enabled" is set to true.
This property is deprecated and only provided for backwards compatibility.
Examples:default.user.private.layout.wap.color.scheme.id=01
Specify a LAR file that can be used to create the user private layouts. If this property is set, the previous layout properties will be ignored.
Examples:default.user.private.layouts.lar=${liferay.home}/deploy/default_user_private.lar
If the properties "layout.user.public.layouts.enabled" and "layout.user.public.layouts.auto.create" are both set to true, then users will have public layouts and they will be automatically created. The settings below are used for the creation of the initial public pages.
If you need to add more than one page, set the property "default.user.public.layouts.lar" to specify a LAR file instead.
For even more complex behavior, override the addDefaultUserPublicLayouts method in com.liferay.portal.events.ServicePreAction.
Set the name of the public layout.
Defaults:default.user.public.layout.name=Welcome
Set the layout template id of the public layout.
Defaults:default.user.public.layout.template.id=2_columns_ii
Set the portlet ids for the columns specified in the layout template.
Defaults:default.user.public.layout.column-1=82,3 default.user.public.layout.column-2=33 default.user.public.layout.column-3= default.user.public.layout.column-4=
Set the friendly url of the public layout.
Defaults:default.user.public.layout.friendly.url=/home
Set the regular theme id for the public layout.
Examples:default.user.public.layout.regular.theme.id=classic
Set the regular color scheme id for the public layout.
Examples:default.user.public.layout.regular.color.scheme.id=01
Set the wap theme id for the public layout. This property is not used unless the property "mobile.device.styling.wap.enabled" is set to true.
This property is deprecated and only provided for backwards compatibility.
Examples:default.user.public.layout.wap.theme.id=mobile
Set the wap color scheme for the public layout. This property is not used unless the property "mobile.device.styling.wap.enabled" is set to true.
This property is deprecated and only provided for backwards compatibility.
Examples:default.user.public.layout.wap.color.scheme.id=01
Specify a LAR file that can be used to create the user public layouts. If this property is set, the previous layout properties will be ignored.
Examples:default.user.public.layouts.lar=${liferay.home}/deploy/default_user_public.lar
Set the default admin password.
Defaults:default.admin.password=test
Set the default admin screen name prefix.
Defaults:default.admin.screen.name=test
Set the default admin email address prefix.
Defaults:default.admin.email.address.prefix=test
Set the default admin first name.
Defaults:default.admin.first.name=Test
Set the default admin middle name.
Defaults:default.admin.middle.name=
Set the default admin last name.
Defaults:default.admin.last.name=Test
Set the list of layout types. The display text of each of the layout types is set in content/Language.properties and prefixed with "layout.types.".
You can create new layout types and specify custom settings for each layout type. End users input dynamic values as designed in the edit page. End users see the layout as designed in the view page. The generated URL can reference properties set in the edit page. Parentable layouts can contain child layouts. You can also specify a comma delimited list of configuration actions that will be called for your layout when it is updated or deleted.
Defaults:layout.types=portlet,panel,embedded,url,link_to_layout
Input a list of sections that will be included as part of the layout form when adding a layout.
Defaults:layout.form.add=details
Input a list of sections that will be included as part of the layout form when updating a layout.
Defaults:layout.form.update=details,seo,look-and-feel,javascript,custom-fields,advanced,mobile-device-rules
Input a list of sections that will be included as part of the layout set form when updating a layout set.
Defaults:layout.set.form.update=look-and-feel,logo,javascript,advanced,mobile-device-rules
Set whether or not private layouts are enabled. Set whether or not private layouts should be auto created if a user has no private layouts. If private layouts are not enabled, then the property "layout.user.private.layouts.auto.create" is assumed to be false.
Defaults:layout.user.private.layouts.enabled=true layout.user.private.layouts.auto.create=true
Set this to true if users must have the Power User role to have private pages.
Defaults:layout.user.private.layouts.power.user.required=false
Set whether or not public layouts are enabled. Set whether or not public layouts should be auto created if a user has no public layouts. If public layouts are not enabled, then the property "layout.user.public.layouts.auto.create" is assumed to be false.
Defaults:layout.user.public.layouts.enabled=true layout.user.public.layouts.auto.create=true
Set this to true if users must have the Power User role to have public pages.
Defaults:layout.user.public.layouts.power.user.required=false
Default settings layouts.
Defaults:layout.edit.page=/portal/layout/edit/portlet.jsp layout.view.page=/portal/layout/view/portlet.jsp layout.url=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}&p_v_l_s_g_id=${liferay:pvlsgid} layout.url.friendliable=true layout.parentable=true layout.sitemapable=true layout.first.pageable=trueExamples:
layout.configuration.action.update= layout.configuration.action.delete=
Settings for portlet layouts are inherited from the default settings.
Examples:layout.edit.page[portlet]=/portal/layout/edit/portlet.jsp layout.view.page[portlet]=/portal/layout/view/portlet.jsp layout.url[portlet]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}&p_v_l_s_g_id=${liferay:pvlsgid} layout.url.friendliable[portlet]=true layout.parentable[portlet]=true layout.configuration.action.update[portlet]= layout.configuration.action.delete[portlet]=
Settings for panel layouts.
Defaults:layout.edit.page[panel]=/portal/layout/edit/panel.jsp layout.view.page[panel]=/portal/layout/view/panel.jsp layout.url[panel]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}&p_v_l_s_g_id=${liferay:pvlsgid} layout.url.friendliable[panel]=true layout.parentable[panel]=true layout.first.pageable[panel]=true
Settings for control_panel layouts.
Defaults:layout.edit.page[control_panel]=/portal/layout/edit/control_panel.jsp layout.view.page[control_panel]=/portal/layout/view/control_panel.jsp layout.url[control_panel]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}&p_v_l_s_g_id=${liferay:pvlsgid} layout.url.friendliable[control_panel]=true layout.parentable[control_panel]=true layout.first.pageable[control_panel]=true
Settings for embedded layouts.
Defaults:layout.edit.page[embedded]=/portal/layout/edit/embedded.jsp layout.view.page[embedded]=/portal/layout/view/embedded.jsp layout.url[embedded]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}&p_v_l_s_g_id=${liferay:pvlsgid} layout.url.friendliable[embedded]=true layout.parentable[embedded]=false layout.sitemapable[embedded]=true layout.first.pageable[embedded]=trueExamples:
layout.configuration.action.update[embedded]= layout.configuration.action.delete[embedded]=
Settings for article layouts.
Defaults:layout.edit.page[article]=/portal/layout/edit/article.jsp layout.view.page[article]=/portal/layout/view/article.jsp layout.url.friendliable[article]=true layout.url[article]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}&p_v_l_s_g_id=${liferay:pvlsgid} layout.parentable[article]=false layout.sitemapable[article]=true layout.first.pageable[article]=true layout.configuration.action.update[article]=com.liferay.portal.model.LayoutTypeArticleConfigurationUpdateAction layout.configuration.action.delete[article]=com.liferay.portal.model.LayoutTypeArticleConfigurationDeleteAction
Settings for URL layouts.
Defaults:layout.edit.page[url]=/portal/layout/edit/url.jsp layout.view.page[url]= layout.url[url]=${url} layout.url.friendliable[url]=true layout.parentable[url]=false layout.sitemapable[url]=false layout.first.pageable[url]=falseExamples:
layout.configuration.action.update[url]= layout.configuration.action.delete[url]=
Settings for page layouts.
Defaults:layout.edit.page[link_to_layout]=/portal/layout/edit/link_to_layout.jsp layout.view.page[link_to_layout]= layout.url[link_to_layout]=${liferay:mainPath}/portal/layout?p_v_l_s_g_id=${liferay:pvlsgid}&groupId=${liferay:groupId}&privateLayout=${privateLayout}&layoutId=${linkToLayoutId} layout.url.friendliable[link_to_layout]=true layout.parentable[link_to_layout]=true layout.sitemapable[link_to_layout]=false layout.first.pageable[link_to_layout]=falseExamples:
layout.configuration.action.update[link_to_layout]= layout.configuration.action.delete[link_to_layout]=
Specify static portlets that cannot be moved and will always appear on every layout. Static portlets will take precedence over portlets that may have been dynamically configured for the layout.
For example, if you want the Hello World portlet to always appear at the start of the iteration of the first column for user layouts, set the property "layout.static.portlets.start.column-1[user]" to "47". If you want the Hello World portlet to always appear at the end of the second column for user layouts, set the property "layout.static.portlets.end.column-2[user]" to "47". You can input a list of comma delimited portlet ids to specify more than one portlet. If the portlet is instanceable, add the suffix "_INSTANCE_abcd" to the portlet id, where "abcd" is any random alphanumeric string.
The static portlets are fetched based on the properties controlled by custom filters using EasyConf. By default, the available filters are user, community, and organization.
Examples:layout.static.portlets.start.column-1[user]=3,6 layout.static.portlets.end.column-1[user]=14 layout.static.portlets.start.column-2[user]=71_INSTANCE_abcd,7 layout.static.portlets.end.column-2[user]=34,70 layout.static.portlets.start.column-3[user]= layout.static.portlets.end.column-3[user]=
It is also possible to set static portlets based on the layout's friendly URL.
Examples:layout.static.portlets.start.column-1[user][/home]=3,6 layout.static.portlets.end.column-2[regular-site][/home]=14
Set the static portlets for the pages of regular sites.
Examples:layout.static.portlets.start.column-1[regular-site]= layout.static.portlets.end.column-1[regular-site]= layout.static.portlets.start.column-2[regular-site]= layout.static.portlets.end.column-2[regular-site]= layout.static.portlets.start.column-3[regular-site]= layout.static.portlets.end.column-3[regular-site]=
Set the static portlets for the pages of organization sites.
Examples:layout.static.portlets.start.column-1[organization]= layout.static.portlets.end.column-1[organization]= layout.static.portlets.start.column-2[organization]= layout.static.portlets.end.column-2[organization]= layout.static.portlets.start.column-3[organization]= layout.static.portlets.end.column-3[organization]=
Set the static portlets that will appear for every layout. See /html/portal/layout/view/common.jspf for the logic of when these portlets will be shown. For example, these portlets will only show for layouts that can contain portlets and are not in a pop up state.
Defaults:layout.static.portlets.all=
Set the private group, private user, and public servlet mapping for com.liferay.portal.servlet.FriendlyURLServlet. This value must match the servlet mapping set in web.xml.
For example, if the private group pages are mapped to "/group" and the group's friendly URL is set to "/guest" and the layout's friendly URL is set to "/company/community", then the friendly URL for the page will be http://www.liferay.com/group/guest/company/community. Private group pages map to a site's private pages and are only available to authenticated users with the proper permissions.
For example, if the public pages are mapped to "/web" and the group or user's friendly URL is set to "/guest" and the layout's friendly URL is set to "/company/community", then the friendly URL for the page will be http://www.liferay.com/web/guest/company/community. Public pages are available to unauthenticated users.
The friendly URL's for users, groups, and layouts can be set during runtime.
Defaults:layout.friendly.url.private.group.servlet.mapping=/group layout.friendly.url.private.user.servlet.mapping=/user layout.friendly.url.public.servlet.mapping=/web
Redirect to this resource if the user requested a friendly URL that does not exist. Leave it blank to display nothing.
Note: For backward compatibility, this overrides the property "layout.show.http.status" for the 404 status code.
Examples:layout.friendly.url.page.not.found=/html/portal/404.html
Set the reserved keywords that cannot be used in a friendly URL.
Defaults:layout.friendly.url.keywords=\ _vti_*,\ api*,\ c,\ combo,\ delegate,\ display_chart*,\ dtd,\ elqNow,\ facebook,\ google_gadget,\ group,\ html,\ image,\ language,\ lucene,\ netvibes,\ o,\ osgi,\ page,\ pbhs,\ poller,\ private,\ public,\ rest,\ robots.txt,\ sharepoint*,\ sitemap.xml,\ software_catalog*,\ tunnel-web,\ wap,\ web,\ webdav*,\ widget,\ xmlrpc
Set this to true if guest users should see the maximize window icon.
Defaults:layout.guest.show.max.icon=false
Set this to true if guest users should see the minimize window icon.
Defaults:layout.guest.show.min.icon=false
Set this to true if users are shown that they do not have access to a portlet. The portlet init parameter "show-portlet-access-denied" will override this setting.
Defaults:layout.show.portlet.access.denied=true
Set this to true if users are shown that a portlet is inactive. The portlet init parameter "show-portlet-inactive" will override this setting.
Defaults:layout.show.portlet.inactive=true
Set this to true if the portal should show HTTP status codes like 404 if the requested page is not found.
Defaults:layout.show.http.status=true
Set the default layout template id used when creating layouts.
Defaults:layout.default.template.id=2_columns_ii
Set this to false to disable ajax rendering. You can also disable it on a per request basis by setting the attribute key com.liferay.portal.util.WebKeys.PORTLET_AJAXABLE_RENDER to the Boolean.FALSE in a pre service event or by setting the URL parameter "p_p_ajax" to "0". See the property "session.disabled" on how that property effects this property.
Defaults:layout.ajax.render.enable=true
Set this to false to disable server side parallel rendering. You can also disable it on a per request basis by setting the attribute key com.liferay.portal.util.WebKeys.PORTLET_PARALLEL_RENDER to the Boolean.FALSE in a pre service event or by setting the URL parameter "p_p_parallel" to "0".
Set this to true to forcibly set the property "portlet.container.restrict" to true, as server side parallel rendering requires restricted request attributes.
This feature is only available for Tomcat and will be ignored when the portal is running in other environments.
Defaults:layout.parallel.render.enable=true
Set this to false to disable timing out the core thread that is used for server side parallel rendering. This means that after launching, the thread pool will keep the core thread alive until it is shut down. Set this to true to allow the core thread to time out like any other thread. This is conceptually the same as setting the core thread count to 0 since it removes the core thread's special privilege of timing out.
Defaults:layout.parallel.render.thread.pool.allow.core.thread.timeout=true
Set the number of core threads used for server side parallel rendering.
Defaults:layout.parallel.render.thread.pool.core.thread.count=0
Set the time in seconds to keep a thread alive for server side parallel rendering.
Defaults:layout.parallel.render.thread.pool.keep.alive.time=600
Set the maximum size of the task queue for server side parallel rendering. An unbounded queue size will never trigger RejectedExecutionHandler. Under heavy load, this will lead to massive memory usage. A bounded queue size with a proper RejectedExecutionHandler can help the server perform graceful degradation.
Defaults:layout.parallel.render.thread.pool.max.queue.size=100
Set the maximum number of threads used for server side parallel rendering.
Defaults:layout.parallel.render.thread.pool.max.thread.count=20
Set the timeout time for server side parallel rendering. On timeout, all pending portlets will fail back to ajax loading or trigger an error message depending on whether the portlets are ajaxable.
This timeout is an int value rather than long to avoid some atomic set race condition. The Integer.MAX_VALUE is more than enough for a reasonable timeout.
Defaults:layout.parallel.render.timeout=5000
Set the name of a class that implements com.liferay.portal.util.LayoutClone. This class is used to remember maximized and minimized states on shared pages. The default implementation persists the state in the browser session.
Defaults:layout.clone.impl=com.liferay.portal.util.SessionLayoutClone
Set this to true to cache the content of layout templates. This is recommended because it improves performance for production servers. Setting it to false is useful during development if you need to make a lot of changes.
Defaults:layout.template.cache.enabled=true
Set the default value for the "p_l_reset" parameter. If set to true, render parameters are cleared when different pages are hit. This is not the behavior promoted by the portlet specification, but is the one that most end users seem to prefer.
Defaults:layout.default.p_l_reset=true
Set this to true to enable comments for pages.
Defaults:layout.comments.enabled=true
Set this to true to remember maximized window states across different pages.
Defaults:layout.remember.maximized.window.state=false
Set the initial number of child pages to display in the Manage Pages tree. Set this to -1 to show all.
Defaults:layout.manage.pages.initial.children=20
Set this to true to enable the propagation of changes to a page from its page template by default.
Defaults:layout.prototype.link.enabled.default=true
In the case that a page template would fail to merge, make sure that we prevent repeated attempts that will inevitably fail by setting a fail threshold.
Defaults:layout.prototype.merge.fail.threshold=3
Set the number of seconds we should expect a lock to last before we recognize that an error occured and some other process should be able to attempt to take it over.
Defaults:layout.prototype.merge.lock.max.time=300
In the case that a site template would fail to merge, make sure that we prevent repeated attempts that will inevitably fail by setting a fail threshold.
Defaults:layout.set.prototype.merge.fail.threshold=3
Set the number of seconds we should expect a lock to last before we recognize that an error occured and some other process should be able to attempt to take it over.
Defaults:layout.set.prototype.merge.lock.max.time=600
Set this to true if calling setParameter on a portlet URL appends the parameter value versus replacing it. There is some disagreement in the interpretation of the JSR 168 spec among portlet developers over this specific behavior. Liferay Portal successfully passes the portlet TCK tests whether this value is set to true or false.
See http://issues.liferay.com/browse/LEP-426 for more information.
Defaults:portlet.url.append.parameters=false
Set this to true to allow portlet URLs to generate with an anchor tag.
Defaults:portlet.url.anchor.enable=false
JSR 286 specifies that portlet URLs are escaped by default. Set this to false to provide for better backwards compatibility.
If this is set to true, but a specific portlet application requires that its portlet URLs not be escaped by default, then modify portlet.xml and set the container runtime option "javax.portlet.escapeXml" to false.
Defaults:portlet.url.escape.xml=false
Set a list of comma delimited reserved parameters that will not be added to refresh URL.
Defaults:portlet.url.refresh.url.reserved.parameters=password,password1,password2,pop3Password,properties--jdbc.default.password,settings--google.apps.password,smtpPassword,settings--ldap.security.credentials
Set this to true to allow portlet URLs to be generated using /c/portal/portlet_url. Enabling can pose a security risk.
Defaults:portlet.url.generate.by.path.enabled=false
Set this to true to validate portlet preferences on startup.
Defaults:preference.validate.on.startup=false
Set this property to "ip" or "domain" for the redirect security method. If set to "domain", the portal will only redirect users to domains listed in the property "redirect.url.domain.allowed". If set to "ip", the portal will only redirect to domains whose IP address resolve to an IP address listed in the property "redirect.url.ip.allowed".
Defaults:redirect.url.security.mode=ipExamples:
redirect.url.security.mode=domain
Input a list of comma delimited domains which the portal is allowed to redirect to. Input a blank list to allow any domain.
Defaults:redirect.url.domains.allowed=
Input a list of comma delimited IPs which the portal is allowed to redirect to. Input a blank list to allow any IP. SERVER_IP will be replaced with the IP of the host server.
Defaults:redirect.url.ips.allowed=127.0.0.1,SERVER_IP
Input the custom Struts request processor that will be used by Struts based portlets. The custom class must extend com.liferay.portal.struts.PortletRequestProcessor and have the same constructor.
Defaults:struts.portlet.request.processor=com.liferay.portal.struts.PortletRequestProcessor
Set this to true if the Image servlet will automatically scale an image based on the request "height" and "width" parameters.
Defaults:image.auto.scale=false
Set the location of the default spacer image that is used for missing images. This image must be available in the class path.
Defaults:image.default.spacer=com/liferay/portal/dependencies/spacer.gif
Set the location of the default company logo image that is used for missing company logo images. This image must be available in the class path.
Defaults:image.default.company.logo=com/liferay/portal/dependencies/company_logo.png
Set the location of the default organization logo image that is used for missing organization logo images. This image must be available in the class path.
Defaults:image.default.organization.logo=com/liferay/portal/dependencies/organization_logo.png
Set the locations of the default user portrait images that are used for missing user portrait images. This image must be available in the class path.
Defaults:image.default.user.female.portrait=com/liferay/portal/dependencies/user_female_portrait.png image.default.user.male.portrait=com/liferay/portal/dependencies/user_male_portrait.png
In versions prior to 6.1, the Image Gallery portlet supported persisting images via com.liferay.portal.image.DatabaseHook, com.liferay.portal.image.DLHook, or com.liferay.portal.image.FileSystemHook. Since 6.1, only DLHook is supported.
Set this property to the hook implementation to trigger automatic data migration during an upgrade.
Examples:image.hook.impl=com.liferay.portal.image.DatabaseHook image.hook.impl=com.liferay.portal.image.DLHook image.hook.impl=com.liferay.portal.image.FileSystemHook
This is a legacy property used by the FileSystemHook to allow data migration from other hooks.
Defaults:image.hook.file.system.root.dir=${liferay.home}/data/images
You can configure individual JSP pages to use a specific implementation of the available WYSIWYG editors: bbcode, ckeditor, ckeditor_bbcode, ckeditor_creole, fckeditor, simple, tinymce, or tinymce_simple.
Defaults:editor.wysiwyg.default=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.announcements.edit_entry.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.asset_publisher.configuration.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.blogs.configuration.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.blogs.edit_entry.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.bookmarks.configuration.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.document_library.configuration.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.invitation.configuration.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.journal.configuration.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.journal.edit_article_content.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.journal.edit_article_content_xsd_el.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.login.configuration.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.mail.edit.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.mail.edit_message.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.message_boards.configuration.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.message_boards.edit_message.bb_code.jsp=ckeditor_bbcode editor.wysiwyg.portal-web.docroot.html.portlet.message_boards.edit_message.html.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.portal_settings.email_notifications.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.shopping.configuration.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.wiki.edit.creole.jsp=ckeditor_creole editor.wysiwyg.portal-web.docroot.html.portlet.wiki.edit.html.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.portlet.wiki.edit.mediawiki.jsp=simple
Set the following fields to false so users cannot see them. Some company policies require gender and birthday information to always be hidden.
Defaults:field.enable.com.liferay.portal.model.Contact.male=true field.enable.com.liferay.portal.model.Contact.birthday=true field.enable.com.liferay.portal.model.Organization.status=false
Input a list of comma delimited user types. Users that match one of these user types have permission to edit all of their own fields. Valid user types are "user-with-mx" and "user-without-mx". A value of "user-with-mx" is a user who has an email address that matches the company mail suffix, and "user-without-mx" is a user who does not have an email address that matches the company mail suffix.
Defaults:field.editable.user.types=user-with-mx,user-without-mx
Input a list of comma delimited role names. Users associated with one of these roles have permission to edit all of their own fields.
Defaults:field.editable.roles=administrator
Input a list of comma delimited domain names. Users with an email address that match one of these domain names have permission to edit all of their own fields.
Examples:field.editable.domains=
Input a list of comma delimited domain names. Users with an email address that match one of these domain names have permission to edit the specified field.
Examples:field.editable.domains[birthday]= field.editable.domains[emailAddress]= field.editable.domains[firstName]= field.editable.domains[gender]= field.editable.domains[jobTitle]= field.editable.domains[lastName]= field.editable.domains[middleName]= field.editable.domains[portrait]= field.editable.domains[prefix]= field.editable.domains[screenName]= field.editable.domains[suffix]=
Input a list of comma delimited extensions for which the content disposition header has to be set to "inline".
Defaults:mime.types.content.disposition.inline=flv,gif,jpg,pdf,png,swf,wmv
Input a list of comma delimited MIME types that are optimized for displaying images on the Internet. One of the use cases for this property is to limit the image file types that a user can upload as a company logo, organization logo, software catalog screenshot, or user portrait.
Defaults:mime.types.web.images=image/gif,image/jpeg,image/pjpeg,image/png,image/x-png
Enter an Amazon access key id and an Amazon associate tag. This is made available only for personal use. Please see the Amazon license at http://www.amazon.com for more information.
Examples:amazon.access.key.id= amazon.associate.tag= amazon.secret.access.key=
Set this to true if you want the portal to force the browser cache to be disabled. It will only disable the cache for the rendered HTML response. It will not have an impact on static content or other resources.
Defaults:browser.cache.disabled=false
Set this true if you want to disable the cache for authenticated users. This property is not read when the property "browser.cache.signed.in.disabled" is true. This is useful to ensure that authenticated users cannot go to the sign in page by clicking on the back button in their browsers.
Defaults:browser.cache.signed.in.disabled=false
Enter which versions of IE your browser should emulate to render the portal. Enter "edge" to always use IE's latest standards rendering mode.
Defaults:browser.compatibility.ie.versions=IE=edge
Enter a URL to automatically launch a browser to that URL when the portal has fully initialized. Enter a blank URL to disable this feature.
Defaults:browser.launcher.url=http://localhost:8080
Enter the the portlet id used in the Control Panel Home.
Defaults:control.panel.home.portlet.id=190
Set the name of the layout.
Defaults:control.panel.layout.name=Control Panel
Set the friendly URL of the layout.
Defaults:control.panel.layout.friendly.url=/manage
Set the theme of the layout.
Defaults:control.panel.layout.regular.theme.id=controlpanel
Set the maximum number of sites that will be shown in the navigation menus. A large value might cause performance problems if the number of sites a user can administer is very large.
Defaults:control.panel.navigation.max.sites=100
Set the name of a class that implements com.liferay.portlet.ControlPanelEntry. This class denotes the default value of of the element "control-panel-entry-class" in liferay-portlet.xml and is called by the Control Panel to decide whether the portlet should be shown to a specific user in a specific context.
Defaults:control.panel.default.entry.class=com.liferay.portlet.DefaultControlPanelEntry
Set the AIM login and password by which the system will use AIM to communicate with users.
Defaults:aim.login= aim.password=
Due to a bug in JOscarLib 0.3b1, you must set the full path to the ICQ jar.
See the following posts:
http://sourceforge.net/projects/ooimlib/forums/forum/166562/topic/843299?message=1972697 http://sourceforge.net/projects/ooimlib/forums/forum/166562/topic/843299?message=1990487Defaults:
icq.jar=C:/Java/orion-2.0.7/lib/icq.jar
Set the ICQ login and password by which the system will use ICQ to communicate with users.
Defaults:icq.login= icq.password=
Set the MSN login and password by which the system will use MSN to communicate with users.
Defaults:msn.login= msn.password=
Set the YM login and password by which the system will use YM to communicate with users.
Defaults:ym.login= ym.password=
Set this to true to enable spell checking the query.
Defaults:index.search.collated.spell.check.result.enabled=true
Set the limit for considering the returned results as valid. When this threshold is not met, the most relevant spell checked query will be displayed.
Defaults:index.search.collated.spell.check.result.scores.threshold=50
Set this to true to enable highlighting of search results.
Defaults:index.search.highlight.enabled=true
Set the fragment size returned from the search result highlighter
Defaults:index.search.highlight.fragment.size=80
Set the number of lines for the snippet returned by a search engine.
Defaults:index.search.highlight.snippet.size=3
Set the limit for results used when performing index searches.
Defaults:index.search.limit=10000
Set this to true to enable indexing of related queries based on successful searches.
Defaults:index.search.query.indexing.enabled=true
Set the limit for considering the returned results as valid. When this threshold is met, the query will be indexed as related query.
Defaults:index.search.query.indexing.threshold=50
Set the location of the query suggestion dictionary files for specific locales. Specify a comma delimited list of files if a locale has more than one dictionary file. A group id (e.g. 123456) can also be added to specify a dictionary that only applies to one group.
Examples:index.search.query.suggestion.dictionary[en_US]=com/liferay/portal/search/lucene/dependencies/querysuggestions/en_US.txt index.search.query.suggestion.dictionary[es_ES]=com/liferay/portal/search/lucene/dependencies/querysuggestions/es_ES.txt index.search.query.suggestion.dictionary[en_US][123456]=com/liferay/portal/search/lucene/dependencies/querysuggestions/en_US_123456.txt
Set this to true to enable query suggestion if insufficient scoring or no results are returned for the user's original query.
Defaults:index.search.query.suggestion.enabled=true
Set the maximum number of query suggestions.
Defaults:index.search.query.suggestion.max=5
Set the limit of the search result score for triggering query suggestions. Setting this to 0 will ignore scoring thresholds and only suggest queries if no results are returned for the original search query.
Defaults:index.search.query.suggestion.scores.threshold=0
Set this to true to enable scoring of results.
Defaults:index.search.scoring.enabled=true
Set the location of the spell checker dictionary files for specific locales. Specify a comma delimited list of files if a locale has more than one dictionary file. A group id (e.g. 123456) can also be added to specify a dictionary that only applies to one group.
Defaults:index.search.spell.checker.dictionary[en_US]=com/liferay/portal/search/lucene/dependencies/spellchecker/en_US.txt index.search.spell.checker.dictionary[es_ES]=com/liferay/portal/search/lucene/dependencies/spellchecker/es_ES.txtExamples:
index.search.spell.checker.dictionary[en_US][123456]=com/liferay/portal/search/lucene/dependencies/spellchecker/en_US_123456.txt
Specify the locales supported by the spell checker. This is used by the search engine's spell checker when determining whether to execute spell checking for a particular language.
Defaults:index.search.spell.checker.supported.locales=en_US,es_ES
Set the search engine for each indexer implementation by assigning the search engine id. The search engine ids are defined in the spring configuration files. The default engine id is SYSTEM_ENGINE and will be used as the default for all indexers unless configured to use something else.
Examples:index.search.engine.id[com.liferay.portlet.journal.util.JournalArticleIndexerIndexer]=SYSTEM_ENGINE
Set the limit for results used when performing index searches that are subsequently filtered by permissions.
Defaults:index.filter.search.limit=5000
Set this to true if you want to avoid any writes to the index. This is useful in some clustering environments where there is a shared index and only one node of the cluster updates it.
Defaults:index.read.only=false
Set this to true if you want to index your entire library of files on startup. This property is available so that automated test environments index on startup. Do not set this to true on production systems or else your index will be indexed on every startup.
Defaults:index.on.startup=false
Set this to true to add a delay before indexing on startup. A delay may be necessary if a lot of plugins need to be loaded and reindexed. This property is only valid if "index.on.startup" is set to true.
Defaults:index.on.startup.delay=60
Set this to true if you want to index your entire library of files after an upgrade. Only set this property to false if you are running a small upgrade and you do not need to reindex everything.
Defaults:index.on.upgrade=true
Set this to true if you want the indexing on startup to be executed on a separate thread to speed up execution.
Defaults:index.with.thread=true
Set the date format used for storing dates as text in the index.
Defaults:index.date.format.pattern=yyyyMMddHHmmss
Set this to true if you want to compress index files before they are dumped.
Defaults:index.dump.compression.enabled=true
Enter a list of comma delimited field names that will be copied to an untokenized field for sorting.
Defaults:index.sortable.text.fields=firstName,jobTitle,lastName,name,screenName,title
Set the maximum length for sortable keyword fields before they are truncated.
Defaults:index.sortable.text.fields.truncated.length=255
Set the maximum number of clauses to allow in a boolean query. The default is 1024.
Examples:lucene.boolean.query.clause.max.size=1024
Designate whether Lucene stores indexes in a file system or in RAM.
Defaults:lucene.store.type=fileExamples:
lucene.store.type=ram
When using file store, turning this flag on will tell Lucene to use MMapDirectory rather than using the default selection (SimpleFSDirectory for Windows and NIOFSDirectory for Linux). It only makes sense to use MMapDirectory for 64-bit JVM with a lot of memory. On a 32-bit JVM, if the index files are huge, this could easily lead to an out of memory for non-heap memory.
Defaults:lucene.store.type.file.force.mmap=false
Set the directory where Lucene indexes are stored. This is only referenced if Lucene stores indexes in the file system.
Defaults:lucene.dir=${liferay.home}/data/lucene/
Input a class name that extends com.liferay.portal.search.lucene.LuceneFileExtractor. This class is called by Lucene to extract text from complex files so that they can be properly indexed.
Defaults:lucene.file.extractor=com.liferay.portal.search.lucene.LuceneFileExtractor
The file extractor can sometimes return text that is not valid for Lucene. This property expects a regular expression. Any character that does not match the regular expression will be replaced with a blank space. Set an empty regular expression to disable this feature.
Defaults:lucene.file.extractor.regexp.strip=Examples:
lucene.file.extractor.regexp.strip=[\\d\\w]
Set how often index updates will be committed. Set the batch size to configure how many consecutive updates will trigger a commit. If the value is 0, then the index will be committed on every update. Set the time interval in milliseconds to configure how often to commit the index. The time interval is not read unless the batch size is greater than 0 because the time interval works in conjunction with the batch size to guarantee that the index is committed after a specified time interval. Set the time interval to 0 to disable committing the index by a time interval.
Defaults:lucene.commit.batch.size=0 lucene.commit.time.interval=0
Set the maximum number of tokens generated by the analyzer while indexing.
Defaults:lucene.analyzer.max.tokens=10000
Set Lucene's buffer size in megabytes. Higher numbers mean indexing goes faster but uses more memory.
Defaults:lucene.buffer.size=16
Set Lucene's merge factor. Higher numbers mean indexing goes faster but uses more memory. The default value from Lucene is 10. This should never be set to a number lower than 2.
Defaults:lucene.merge.factor=10
Input a class name that extends org.apache.lucene.index.MergePolicy. Lucene uses this class to determine the sequence of primitive merge operations. Note that the property "lucene.merge.factor" is not only used by LogDocMergePolicy.
Defaults:lucene.merge.policy=org.apache.lucene.index.LogDocMergePolicyExamples:
lucene.merge.policy=org.apache.lucene.index.LogByteSizeMergePolicy lucene.merge.policy=org.apache.lucene.index.NoMergePolicy lucene.merge.policy=org.apache.lucene.index.TieredMergePolicy lucene.merge.policy=org.apache.lucene.index.UpgradeIndexMergePolicy
Input a class name that extends org.apache.lucene.index.MergeScheduler. Lucene uses this class to execute merges based on the policy set in the property "lucene.merge.policy".
Defaults:lucene.merge.scheduler=org.apache.lucene.index.ConcurrentMergeSchedulerExamples:
lucene.merge.scheduler=org.apache.lucene.index.NoMergeScheduler lucene.merge.scheduler=org.apache.lucene.index.SerialMergeScheduler
Set this to true if you want the portal to replicate an index write across all members of the cluster. This is useful in some clustered environments where you wish each server instance to have its own copy of the Lucene search index. This is only relevant when using the default Lucene indexing engine.
Defaults:lucene.replicate.write=false
Specify the Lucene cluster index loading synchronization timeout in milliseconds.
Defaults:lucene.cluster.index.loading.sync.timeout=60000
Set the multi value map property to 0 to store the map in memory and 1 to store the map in the file system.
Defaults:multi.value.map.com.liferay.portal.convert.ConvertPermissionAlgorithm.convertResourcePermission=0 multi.value.map.com.liferay.portal.convert.ConvertPermissionAlgorithm.convertRoles=0
Set a comma delimited list of supported databases.
Defaults:setup.database.types=db2,derby,hypersonic,ingres,mysql,oracle,postgresql,sqlserver,sybaseDefaults:
setup.database.driverClassName[db2]=com.ibm.db2.jcc.DB2Driver setup.database.driverClassName[derby]=org.apache.derby.jdbc.EmbeddedDriver setup.database.driverClassName[hypersonic]=org.hsqldb.jdbcDriver setup.database.driverClassName[ingres]=com.ingres.jdbc.IngresDriver setup.database.driverClassName[mysql]=com.mysql.jdbc.Driver setup.database.driverClassName[oracle]=oracle.jdbc.driver.OracleDriver setup.database.driverClassName[postgresql]=org.postgresql.Driver setup.database.driverClassName[sqlserver]=net.sourceforge.jtds.jdbc.Driver setup.database.driverClassName[sybase]=net.sourceforge.jtds.jdbc.DriverDefaults:
setup.database.jar.name[com.mysql.jdbc.Driver]=mysql.jar setup.database.jar.url[com.mysql.jdbc.Driver]=http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.23/mysql-connector-java-5.1.23.jarDefaults:
setup.database.url[db2]=jdbc:db2://localhost:50000/lportal:deferPrepares=false;fullyMaterializeInputStreams=true;fullyMaterializeLobData=true;progresssiveLocators=2;progressiveStreaming=2; setup.database.url[derby]=jdbc:derby:lportal setup.database.url[hypersonic]=jdbc:hsqldb:${liferay.home}/data/hsql/lportal setup.database.url[ingres]=jdbc:ingres://localhost:II7/lportal setup.database.url[mysql]=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false setup.database.url[oracle]=jdbc:oracle:thin:@localhost:1521:xe setup.database.url[postgresql]=jdbc:postgresql://localhost:5432/lportal setup.database.url[sqlserver]=jdbc:jtds:sqlserver://localhost/lportal setup.database.url[sybase]=jdbc:jtds:sybase://localhost:5000/lportal
Set this property to true if the Setup Wizard should be displayed the first time the portal is started.
Defaults:setup.wizard.enabled=true
source.forge.mirrors=\ http://downloads.sourceforge.net,\ # Redirect http://internap.dl.sourceforge.net,\ # San Jose, CA http://superb-east.dl.sourceforge.net,\ # McLean, Virginia http://superb-west.dl.sourceforge.net,\ # Seattle, Washington http://easynews.dl.sourceforge.net,\ # Phoenix, AZ http://kent.dl.sourceforge.net,\ # Kent, UK http://ufpr.dl.sourceforge.net,\ # Curitiba, Brazil http://belnet.dl.sourceforge.net,\ # Brussels, Belgium http://switch.dl.sourceforge.net,\ # Lausanne, Switzerland http://mesh.dl.sourceforge.net,\ # Duesseldorf, Germany http://ovh.dl.sourceforge.net,\ # Paris, France http://dfn.dl.sourceforge.net,\ # Berlin, Germany http://heanet.dl.sourceforge.net,\ # Dublin, Ireland http://garr.dl.sourceforge.net,\ # Bologna, Italy http://surfnet.dl.sourceforge.net # Amsterdam, The Netherlands http://jaist.dl.sourceforge.net,\ # Ishikawa, Japan http://nchc.dl.sourceforge.net,\ # Tainan, Taiwan http://optusnet.dl.sourceforge.net # Sydney, Australia
You can add a listener for a specific class by setting the property "value.object.listener" with a list of comma delimited class names that implement com.liferay.portal.model.ModelListener. These classes are pooled and reused and must be thread safe.
Defaults:value.object.listener.com.liferay.portal.model.Contact=com.liferay.portal.model.ContactListener value.object.listener.com.liferay.portal.model.Layout=com.liferay.portal.model.LayoutListener,com.liferay.portal.service.impl.LayoutSetPrototypeLayoutListener value.object.listener.com.liferay.portal.model.LayoutSet=com.liferay.portal.model.LayoutSetListener,com.liferay.portal.service.impl.LayoutSetPrototypeLayoutSetListener value.object.listener.com.liferay.portal.model.PortletPreferences=com.liferay.portal.model.PortletPreferencesListener value.object.listener.com.liferay.portal.model.User=com.liferay.portal.model.UserListener value.object.listener.com.liferay.portal.model.UserGroup=com.liferay.portal.model.UserGroupListener
Value objects are cached at three levels. They first level is "entity", the second level is "finder", and the third level is "Hibernate".
The entity level cache stores a value object's primary key to the value object itself.
The finder level cache stores the many paths that return a value object and the many paths that return a list of value objects. The finder level cache only caches primary keys and is further helped by the entity level cache that caches the value object to the primary key.
The Hibernate level cache is provided by the "hibernate.cache.provider_class" property.
Set this to true to enable entity level caching.
Defaults:value.object.entity.cache.enabled=true
Set this to true to configure entity level caching to block. See the property "ehcache.blocking.cache.allowed" for more information.
Defaults:value.object.entity.blocking.cache=true
The entity level cache uses a thread local map to store the most frequently accessed items to lower the number of queries to the underlying cache. Set the maximum map size to 0 to disable the thread level cache.
Defaults:value.object.entity.thread.local.cache.max.size=100
Entity level caching for a specific type of value object can be configured by using a property name that includes the value object's class name.
Defaults:value.object.entity.cache.enabled.com.liferay.portal.model.Layout=true value.object.entity.cache.enabled.com.liferay.portal.model.User=true
Set this to true to enable finder level caching.
Defaults:value.object.finder.cache.enabled=true
Set this to true to configure finder level caching to block. See the property "ehcache.blocking.cache.allowed" for more information.
Defaults:value.object.finder.blocking.cache=true
The finder level cache uses a thread local map to store the most frequently accessed items to lower the number of queries to the underlying cache. Set the maximum map size to 0 to disable the thread level cache.
Defaults:value.object.finder.thread.local.cache.max.size=100
Finder level caching for a specific type of value object can be configured by using a property name that includes the value object's class name. Mapping tables can also be specified to configure the caching of value object relationships.
Defaults:value.object.finder.cache.enabled.com.liferay.portal.model.Layout=true value.object.finder.cache.enabled.com.liferay.portal.model.User=true value.object.finder.cache.enabled.Users_Roles=true
audit.message.com.liferay.portal.model.Layout.VIEW=falseDefaults:
audit.message.scheduler.job=false
Buffered incrementing provides logic to batch together requests for writing view count increments to the database. Minimizing these database hits can improve overall performance.
Buffered incrementing only applies to service methods annotated with the @BufferedIncrement(...) annotation. By default, it is used with methods that increment view counters for Message Boards threads, Document Library file entries, and Asset entries.
Disabling buffered increment logic is not recommended. As an alternative to disabling it, consider disabling its standby logic by setting the "buffered.increment.standby.queue.threshold" and "buffered.increment.standby.time.upper.limit" properties to 0. If disabling buffered increment logic is truly desired, set this property to false, but also remove the BufferedIncrementAdvice bean from base-spring.xml, so annotated service methods are not skipped.
Defaults:buffered.increment.enabled=true
The standby properties manage the time the dispatcher waits to process an increment requests. The longer the dispatcher waits to process a request, the greater the probability that incoming requests, involving the same entity instances (entries), can be batched together.
For example, if the same Message Boards thread (MBThread instance) is viewed multiple times (n times) while an existing view increment request for that MBThread is waiting to be dispatched, then the incoming increments can be added to the increment value of the existing request. The resulting view count increment for the existing entry then would be modified to 1 + n times and the incoming requests would be discarded. This minimizes the database hits for incrementing that entry. Since the incoming requests were no longer needed, and hence discarded, the memory required for incrementing the view count of the entry was minimized too.
Worker threads submit new increment requests to a BatchablePipe and notify the dispatcher thread pool of the requests. The pipe acts as a mailbox holding increment requests in a queue for the dispatcher to process. On receiving a new increment request, the pipe checks if it already has a request for the same entry. If it does, the pipe adds the incoming increment to the existing entry's increment value and discards the incoming increment request. If it doesn't find an existing request for the same entry, the incoming request is simply added to the tail of the queue.
On being notified by the worker thread of increment requests submitted to the BatchablePipe, the thread pool checks the status of its dispatch threads. If no dispatch threads exist, it creates one. If an idle thread exists, it wakes it up. If threads exist but they are all active, the thread pool leaves them alone. Active dispatch threads check the pipe's queue for requests to process.
The dispatch threads apply the standby logic before processing each request from the pipe. They calculate the standby time for the request at the head of the pipe's queue based on the queue threshold. If the number of requests in the queue exceeds the threshold, the dispatch thread processes the head request as quickly as possible, without waiting. If the number of requests is within the threshold, the dispatch thread calculates the standby time for the head request to be the standby time upper limit (in seconds) divided by the number of requests in the queue. The fewer requests in the queue, the longer the head request waits on standby.
Consider the tradeoff between overall performance and delay in view count updates as you configure standby waiting. The standby times applied to the requests have a linear inverse ratio relationship to the number of requests in the pipe. The standby time is not constant. The fewer requests inside the queue, the longer they wait in standby. This logic increases the probability of maximizing the batching of requests for dispatch. The following chart illustrates the relationship:
^ standby time | |\<---buffered.increment.standby.time.upper.limit | \ | \ | \ | \ --------------> current BatchablePipe size 0 ^ | buffered.increment.standby.queue.threshold
Typical settings for the queue threshold and upper time limit of a heavy loaded system could be 10000 requests and 60 seconds, respectively.
If either the queue threshold or upper time limit are set to 0, requests are processed from the queue as quickly as possible, without waiting. Negative values for either property are treated as 0.
Defaults:buffered.increment.standby.queue.threshold=0 buffered.increment.standby.time.upper.limit=0
The dispatcher thread pool manages the lifecycle of the dispatch threads. By default, the thread pool is configured to use a single dispatch thread. Buffered incrementing is designed for optimal performance using a single disptach thread.
Set the "buffered.increment.threadpool.keep.alive.time" property to the maximum idle time before a dispatch thread can be recycled. Negative values for this property are treated as 0.
The "buffered.increment.threadpool.max.size" property value should, in in most cases, remain set to 1. If for some reason, more than one dispatch thread is desired, know that this goes against the design of buffered incrementing and may result in less than optimal performance. Values less than or equal to 0 for this property are treated as 1.
Defaults:buffered.increment.threadpool.keep.alive.time=60 buffered.increment.threadpool.max.size=1
Override the global buffered increment settings with specific settings for the AssetEntry view counter.
Examples:buffered.increment.enabled[AssetEntry]=true buffered.increment.standby.queue.threshold[AssetEntry]=0 buffered.increment.standby.time.upper.limit[AssetEntry]=0 buffered.increment.threadpool.keep.alive.time[AssetEntry]=60 buffered.increment.threadpool.max.size[AssetEntry]=1
Override the global buffered increment settings with specific settings for the DLFileEntry view counter.
Examples:buffered.increment.enabled[DLFileEntry]=true buffered.increment.standby.queue.threshold[DLFileEntry]=0 buffered.increment.standby.time.upper.limit[DLFileEntry]=0 buffered.increment.threadpool.keep.alive.time[DLFileEntry]=60 buffered.increment.threadpool.max.size[DLFileEntry]=1
Override the global buffered increment settings with specific settings for the MBThread view counter.
Examples:buffered.increment.enabled[MBThread]=true buffered.increment.standby.queue.threshold[MBThread]=0 buffered.increment.standby.time.upper.limit[MBThread]=0 buffered.increment.threadpool.keep.alive.time[MBThread]=60 buffered.increment.threadpool.max.size[MBThread]=1
The cache filter caches processed web content. Set the threshold size to prevent caching resources that are too large. The default value is 500 kb.
Defaults:cache.content.threshold.size=512000
Set the cluster node bootup response timeout in milliseconds.
Defaults:cluster.link.node.bootup.response.timeout=10000
Set this to true to enable the cluster link. This is required if you want to cluster indexing and other features that depend on the cluster link.
Defaults:cluster.link.enabled=false
Set the JGroups properties for each channel, we support up to 10 transport channels and 1 single required control channel. Use as few transport channels as possible for best performance. By default, only one UDP control channel and one UDP transport channel are enabled. Channels can be configured by XML files that are located in the class path or by inline properties.
Defaults:cluster.link.channel.properties.control=UDP(bind_addr=${cluster.link.bind.addr["cluster-link-control"]};mcast_group_addr=${multicast.group.address["cluster-link-control"]};mcast_port=${multicast.group.port["cluster-link-control"]}):PING(timeout=2000;num_initial_members=20;break_on_coord_rsp=true):MERGE3(min_interval=10000;max_interval=30000):FD_SOCK:FD_ALL:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK2(xmit_interval=1000;xmit_table_num_rows=100;xmit_table_msgs_per_row=2000;xmit_table_max_compaction_time=30000;max_msg_batch_size=500;use_mcast_xmit=false;discard_delivered_msgs=true):UNICAST2(max_bytes=10M;xmit_table_num_rows=100;xmit_table_msgs_per_row=2000;xmit_table_max_compaction_time=60000;max_msg_batch_size=500):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=4M):pbcast.GMS(join_timeout=3000;print_local_addr=true;view_bundling=true):UFC(max_credits=2M;min_threshold=0.4):MFC(max_credits=2M;min_threshold=0.4):FRAG2(frag_size=61440):RSVP(resend_interval=2000;timeout=10000) cluster.link.channel.properties.transport.0=UDP(bind_addr=${cluster.link.bind.addr["cluster-link-udp"]};mcast_group_addr=${multicast.group.address["cluster-link-udp"]};mcast_port=${multicast.group.port["cluster-link-udp"]}):PING(timeout=2000;num_initial_members=20;break_on_coord_rsp=true):MERGE3(min_interval=10000;max_interval=30000):FD_SOCK:FD_ALL:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK2(xmit_interval=1000;xmit_table_num_rows=100;xmit_table_msgs_per_row=2000;xmit_table_max_compaction_time=30000;max_msg_batch_size=500;use_mcast_xmit=false;discard_delivered_msgs=true):UNICAST2(max_bytes=10M;xmit_table_num_rows=100;xmit_table_msgs_per_row=2000;xmit_table_max_compaction_time=60000;max_msg_batch_size=500):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=4M):pbcast.GMS(join_timeout=3000;print_local_addr=true;view_bundling=true):UFC(max_credits=2M;min_threshold=0.4):MFC(max_credits=2M;min_threshold=0.4):FRAG2(frag_size=61440):RSVP(resend_interval=2000;timeout=10000)Examples:
cluster.link.channel.properties.transport.1=udp.xml cluster.link.channel.properties.transport.2=mping.xml
Set JGroups' system properties. System properties have higher priority than individual properties given to each channel. That means system properties will override individual properties.
Defaults:cluster.link.channel.system.properties=\ # # Common # \ jgroups.bind_addr:${cluster.link.bind.addr["cluster-link-udp"]},\ #jgroups.bind_interface:eth0,\ \ # # Multicast # \ jgroups.mping.mcast_addr:${multicast.group.address["cluster-link-mping"]},\ jgroups.mping.mcast_port:${multicast.group.port["cluster-link-mping"]},\ jgroups.mping.ip_ttl:8
Set this property to autodetect the default outgoing IP address so that JGroups can bind to it. The property must point to an address that is accessible to the portal server, www.google.com, or your local gateway.
Defaults:cluster.link.autodetect.address=www.google.com:80
Set the bind address for JGroups directly, it only works when the property "cluster.link.autodetect.address" is not set. See the property "cluster.link.channel.properties.control" for more information.
Defaults:cluster.link.bind.addr["cluster-link-control"]=localhost
Set bind address for jgroups directly, it only works when "cluster.link. autodetect.address" is not set. See the properties "cluster.link.channel. properties.transport.0" and "cluster.link.channel.system.properties".
Defaults:cluster.link.bind.addr["cluster-link-udp"]=localhost
Set this to true to enable the cluster executor debugging. This will attach a debugging listener which will log every cluster event it receives.
Defaults:cluster.executor.debug.enabled=false
Set the clusterable advice call master timeout in seconds.
Defaults:clusterable.advice.call.master.timeout=10
A file extension of * will permit all file extensions.
Defaults:combo.allowed.file.extensions=.css,.js
The combo servlet combines multiple JavaScript files into a bundle based on shared dependencies. This makes loading JavaScript files much faster. Set this to false if the combination should refresh when one of its JavaScript files has changed. This property should be set to true during development for easier debugging but set to false during production for faster performance.
Defaults:combo.check.timestamp=false
Set the minimum wait interval in milliseconds between timestamp checks on resource files. This property is only used if the property "combo.check.timestamp" is set to true.
Defaults:combo.check.timestamp.interval=1000
Set the hostname that will be used to serve static content via a CDN for requests made over the HTTP protocol. This property can be disabled dynamically at runtime by setting the URL parameter "cdn_enabled" to "0". The value must always include the full protocol.
Defaults:cdn.host.http=
Set the hostname that will be used to serve static content via a CDN for requests made over the HTTPS protocol. This property can be disabled dynamically at runtime by setting the URL parameter "cdn_enabled" to "0". The value must always include the full protocol.
Defaults:cdn.host.https=
Set this to true to enable serving dynamically generated CSS, JavaScript, and images via a CDN. Setting this to false allows the usage of CDNs that do not support lazy loading of resources (e.g. Amazon CloudFront).
Defaults:cdn.dynamic.resources.enabled=true
HTTP only cookies are not supposed to be exposed to client-side scripting code, and may therefore help mitigate certain kinds of cross-site scripting attacks. Input a list of comma delimited cookie names that are not HTTP only.
Defaults:cookie.http.only.names.excludes=
The counter operates with its own data source to prevent deadlocks. By default, the data source created for the counter uses the same settings as those used to create the data source used for the rest of the portal. That happens because the counter service will look up the properties prefixed with "jdbc.default." to create its data source. See the JDBC properties prefixed with "jdbc.default." for more information.
Setting a different value for the counter JDBC prefix allows you to better fine tune the counter data source with its own set of configuration settings for high availability installations. Note that these settings, though separate, are a copy of the default settings with the newly overridden values.
Defaults:counter.jdbc.prefix=jdbc.default.
Set the number of increments between database updates to the Counter table. Set this value to a higher number for better performance.
Defaults:counter.increment=100
You can further fine tune the counter increment for specific counter names. This entry will ensure that the counter name "com.liferay.portal.model.Layout" or anything that starts with "com.liferay.portal.model.Layout#" will only increment by 1.
Defaults:counter.increment.com.liferay.portal.model.Layout=1
Set this to true to enable dispatching to a servlet directly to speed up request dispatching. This property only takes effect when a developer programmatically wraps a normal ServletContext with a DirectServletContext. See LPS-13776 for more information.
Defaults:direct.servlet.context.enabled=true
Set this to true to refresh the servlet associated with a JSP when the JSP has been modified. This property is not used unless the property "direct.servlet.context.enabled" is set to true.
Defaults:direct.servlet.context.reload=true
The ETag filter needs to process the response in order to caculate the ETag value. A large response may use too much memory. Set the maximum response size that will trigger an ETag calculation. The default maximum response size is 1 megabyte.
Defaults:etag.response.size.max=1048576
freemarker.engine.localized.lookup=false
Set this to 0 to load template source every time. Set this to a number less than 0 to load templates once and cache it indefinitely. Set this to a number greater than 0 to load templates and cache it for the period of time specified by that number in milliseconds.
Defaults:freemarker.engine.resource.modification.check.interval=60
Set a comma delimited list of Java classes the FreeMarker engine cannot have access to.
Defaults:freemarker.engine.restricted.classes=\ java.lang.Class,\ java.lang.ClassLoader,\ java.lang.Thread
Set a comma delimited list of Java packages the FreeMarker engine cannot have access to.
Defaults:freemarker.engine.restricted.packages=
Set a comma delimited list of variables the FreeMarker engine cannot have access to. This will affect Dynamic Data List templates, Journal templates, and Portlet Display templates.
Defaults:freemarker.engine.restricted.variables=serviceLocator
The exception handler can have its value set to the name of a class implementing FreeMarker's TemplateExceptionHandler, or to rethrow, debug, debug_html, or ignore.
Defaults:freemarker.engine.template.exception.handler=rethrow
Input a list of comma delimited class names that extend com.liferay.portal.template.TemplateResourceParser. These classes will run in sequence to allow you to find the applicable TemplateResourceParser to parse a FreeMarker template.
Defaults:freemarker.engine.template.parsers=com.liferay.portal.freemarker.FreeMarkerServletResourceParser,com.liferay.portal.template.ThemeResourceParser,com.liferay.portal.template.DDMTemplateResourceParser,com.liferay.portal.template.ClassLoaderResourceParser
Input a list of comma delimited macros that will be loaded. These files must exist in the class path.
Defaults:freemarker.engine.macro.library=FTL_liferay.ftl as liferay
Set the default user name and password for Google Apps integration. The domain used by Google Apps is retrieved from the portal's mail domain. See http://code.google.com/apis/apps for more information.
Google Apps integration is not used unless the property "mail.hook.impl" is set with the value "com.liferay.mail.util.GoogleHook".
Defaults:google.apps.username= google.apps.password=
The GZip filter will compress files using the specified compression level. Set the value to -1 to use the default compression level. Set the value between 0 and 9 for other compression levels as documented in java.util.zip.Deflater.
Defaults:gzip.compression.level=-1
See system.properties for more HTTP settings.
Set the maximum number of connections per host.
Examples:com.liferay.portal.util.HttpImpl.max.connections.per.host=2 com.liferay.portal.util.HttpImpl.max.connections.per.host[rss.news.yahoo.com]=2
Set the maximum number of connections.
Examples:com.liferay.portal.util.HttpImpl.max.total.connections=20
Set the proxy authentication type.
Examples:com.liferay.portal.util.HttpImpl.proxy.auth.type=username-password com.liferay.portal.util.HttpImpl.proxy.auth.type=ntlm
Set user name and password used for HTTP proxy authentication.
Examples:com.liferay.portal.util.HttpImpl.proxy.username= com.liferay.portal.util.HttpImpl.proxy.password=
Set additional properties for NTLM authentication.
Examples:com.liferay.portal.util.HttpImpl.proxy.ntlm.domain= com.liferay.portal.util.HttpImpl.proxy.ntlm.host=
Set the connection timeout when fetching HTTP content.
Defaults:com.liferay.portal.util.HttpImpl.timeout=10000Examples:
com.liferay.portal.util.HttpImpl.timeout[rss.news.yahoo.com]=10000
Set this to true for the portal to send the "X-Content-Type-Options: nosniff" HTTP header to protect against MIME sniffing. Custom URLs can specified in the property "http.header.secure.x.content.type.options.urls.excludes" that allow for unhindered MIME sniffing.
Defaults:http.header.secure.x.content.type.options=true
Set a list of comma delimited URL prefixes that allow for unhindered MIME sniffing. This property is only used when the property "http.header.secure.x.content.type.options" is set to true.
Examples:http.header.secure.x.content.type.options.urls.excludes=
Set this to true for the portal to send the "X-Frame-Options: DENY" HTTP header to protect against clickjacking.
Custom HTTP header values instead of "DENY" can be specified per URL via the properties "http.header.secure.x.frame.options.*".
Defaults:http.header.secure.x.frame.options=true
If the property "http.header.secure.x.frame.options" is set to true, then the portal will iterate through the properties "http.header.secure.x.frame.options.*" where the wildcard "*" is replaced with an int number starting from 0 and ending with 255 to find a pipe (|) delimited URL and HTTP header value pair (e.g. "/|SAMEORIGIN").
Upon finding a matched a URL, the portal will use the custom HTTP header value instead of the "DENY" value.
By default, URLs that start with "/" will use a custom HTTP header value of "SAMEORIGIN". Specify another URL and HTTP header value with a number smaller than 255 to intercept this default behavior.
Defaults:http.header.secure.x.frame.options.255=/|SAMEORIGIN
Set this to nonempty value for the portal to send the "X-XSS-Protection" HTTP header to block cross-site scripting attacks. Possible nonempty values are "0", "1" and "1; mode=block"
Defaults:http.header.secure.x.xss.protection=1
Set the level of verbosity to use for the Liferay-Portal field in the HTTP header response. Valid values are "full", which gives all of the version information (e.g. Liferay Portal Community Edition 6.1.0 CE etc.) or "partial", which gives only the name portion (e.g. Liferay Portal Community Edition).
Defaults:http.header.version.verbosity=full
Do not set this property to false in production environments. It overrides the SSL hostname verification and is used for self assigned certificates. See LPS-18038.
Defaults:com.liferay.portal.service.http.TunnelUtil.verify.ssl.hostname=true
Set this shared secret to secure communications from one portal to another via the tunneling servlet. This portal will refuse communications from other portals that do not share the same secret.
Secrets must be 16, 32, or 64 characters long.
Examples:tunneling.servlet.shared.secret=
Set this to true to enable ImageMagick. You must install Ghostscript and Imagemagick. See http://www.ghostscript.com and http://www.imagemagick.org for more information.
The search path should point to the directories for the ImageMagick and Ghostscript executables. You may also need to configure the path for fonts used by Ghostscript when in Apple or Unix environments.
Defaults:imagemagick.enabled=false imagemagick.global.search.path[apple]=/opt/local/bin:/opt/local/share/ghostscript/fonts:/opt/local/share/fonts/urw-fonts imagemagick.global.search.path[unix]=/usr/local/bin:/usr/local/share/ghostscript/fonts:/usr/local/share/fonts/urw-fonts imagemagick.global.search.path[windows]=C:\\Program Files\\gs\\bin;C:\\Program Files\\ImageMagick
Set these limits to configure the cache and resource usage of ImageMagick. To determine the current setting of these limits, run the command:
identify -list resource
See http://www.imagemagick.org/script/architecture.php for more information.
Defaults:imagemagick.resource.limit.area=2GiB imagemagick.resource.limit.map=1GiB imagemagick.resource.limit.memory=2GiBExamples:
imagemagick.resource.limit.disk=16GiB imagemagick.resource.limit.file=256 imagemagick.resource.limit.thread=2 imagemagick.resource.limit.time=3600
Specify the class name of an Intraband implementation. The class must implement the com.liferay.portal.kernel.nio.intraband.Intraband interface.
If you leave the value blank, the portal makes a best effort in choosing an implementation for optimal performance on your system, considering your Intraband welder.
If com.liferay.portal.kernel.nio.intraband.welder.socket.SocketWelder is your Intraband welder, either explicitly configured for your "intraband.welder.impl" property value or automatically chosen by the portal, then the portal chooses the com.liferay.portal.kernel.nio.intraband.nonblocking.SelectorIntraband class as the Intraband implementation.
Otherwise the portal chooses the com.liferay.portal.kernel.nio.intraband.blocking.ExecutorIntraband class as the Intraband implementation.
Performance tips:
FIFO, if provided by your Linux or Unix OS, only works with ExecutorIntraband. To use FIFO, you must either specify the ExecutorIntraband class as the Intraband implementation or leave the value blank for the portal to automatically choose it.
SelectorIntraband uses a Selector instance to manage all registered SelectableChannels. It uses the Selector instance with a single polling thread to serve all read/write requests. SelectorIntraband has a lower CPU overhead than ExecutorIntraband. However, SelectorIntraband can potentially have unnecessary read/write latency (if any callback is holding the polling thread).
ExecutorIntraband works with any ScatteringByteChannel/GatheringByteChannel registered pair. ExecutorIntraband launches a dedicated polling thread for each channel, in blocking mode. So ExecutorIntraband has higher CPU overhead than SelectorIntraband, but since each channel polling is isolated, ExecutorIntraband can provide better throughput and response time.
For a system that requires tons of connections over Intraband, it is best to use SelectorIntraband to avoid massive polling threads.
For a system that requires limited connections over Intraband, it is best to use ExecutorIntraband to maximize throughput and response time.
Defaults:intraband.impl=Examples:
intraband.impl=com.liferay.portal.kernel.nio.intraband.blocking.ExecutorIntraband intraband.impl=com.liferay.portal.kernel.nio.intraband.nonblocking.SelectorIntraband
Set this to true to launch a separate dedicated thread to reap overdue mail. Otherwise, the overdue mail is reaped in a lazy manner--reaped only when new mail comes in and old mail goes out.
Performance tips:
With the dedicated reaper thread, overdue mail is reaped in a timely manner, reducing the memory footprint but costing more CPU power. Without the dedicated reaper thread, CPU power is conserved but the memory footprint can potentially grow large.
Generally, for small and frequent mail messages, it is better to turn this off. For huge and infrequent mail messages, it is better to turn this on.
Defaults:intraband.mailbox.reaper.thread.enabled=false
Set the number of milliseconds to keep mail living in the mailbox.
Defaults:intraband.mailbox.storage.life=10000
Set default Intraband synchronized operation timeout time in milliseconds.
Defaults:intraband.timeout.default=10000
Specify the class name of an Intraband welder. The class must implement the com.liferay.portal.kernel.nio.intraband.welder.Welder interface.
If you leave the value blank, the portal makes a best effort in choosing an implementation for optimal performance on your system.
If your system's OS is not Windows and the portal finds mkfifo command in your system's PATH, the portal chooses the FIFO welder class com.liferay.portal.kernel.nio.intraband.welder.fifo.FIFOWelder.
Otherwise, the portal chooses the socket welder class com.liferay.portal.kernel.nio.intraband.welder.socket.SocketWelder.
Consider the following example that compares the performance of these two welders:
On average, the FIFO welder outperforms the socket welder on both throughput and response latency, until packages reach about 2 to 4 megabytes in size.
On an uncustomized modern Linux kernel, the best package size for the FIFO FIFO welder is 64 kilobytes. The FIFO welder's best package size is the system's maximum non-blocking package size. To calculate it for your system, multiply your system's pipe size (ulimit -p) by the number of kernel buffers your system can allocate.
Executing 'ulimit -p' returns the following pipe size:
pipe size (512 bytes) * 8 = 4 kilobytes
The kernel can allocate up to 16 buffers. Multiplying the pipe size by the the number of buffers results in the system's maximum non-blocking package size:
4 kilobytes * 16 kernel buffers = 64 kilobytes
As package size grows past this best size, the FIFO welder's performance declines, but is still better than the socket welder's performance; that is, until the package size reaches about 2 to 4 megabytes. At that package size, FIFO welder performs the same as socket welder. It's only when packages are greater than that size that socket welder performs better. For these huge packages, you can either use the socket welder class or recompile the Linux kernel to support a larger pipe size and more kernel buffers.
Defaults:intraband.welder.impl=Examples:
intraband.welder.impl=com.liferay.portal.kernel.nio.intraband.welder.fifo.FIFOWelder intraband.welder.impl=com.liferay.portal.kernel.nio.intraband.welder.socket.SocketWelder
Set the send and receive buffer size, in bytes, for both the server and client socket peers.
Defaults:intraband.welder.socket.buffer.size=65536
Specify whether to keep the socket on both the server and client socket peers alive.
Defaults:intraband.welder.socket.keep.alive=false
Specify whether to recycle the address on the server and client socket peers and on the temporary server socket channel.
Defaults:intraband.welder.socket.reuse.address=true
Specify a port number from which the SocketWelder automatically starts searching for an available port to open up a temporary ServerSocketChannel to bind the the server and client. Since it doesn't matter which port this ServerSocketChannel listens on, SocketWelder uses to the first available port.
After one client socket is accepting, the ServerSocketChannel is closed and recycled.
Defaults:intraband.welder.socket.server.start.port=32354
Specify how long, if at all, the socket should linger on both the server and client socket peers. This value is used as the integer parameter in the call to Socket.setSoLinger(boolean, int).
A non-positive value turns off lingering resulting in calling Socket.setSoLinger(false, int).
Defaults:intraband.welder.socket.so.linger=0
Specify the the SO_TIMEOUT on both the server and client socket peers. This value is used in calling to Socket.setSoTimeout(int).
Defaults:intraband.welder.socket.so.timeout=0
Specify whether to enable TCP_NODELAY on both the server and client socket peers. This value is used in the calling Socket.setTcpNoDelay(boolean).
Defaults:intraband.welder.socket.tcp.no.delay=true
The invoker filter will attempt to cache InvokerFilterChain objects based on the request URI and dispatcher. Set this property configure the maximum number of cached InvokerFilterChain objects. Set this property to 0 to disable caching of InvokerFilterChain objects.
Defaults:invoker.filter.chain.cache.size=10000
Set this property to true to enable runtime querying of Javadoc information. This is used by the JSON web service at http://localhost:8080/api/jsonws to give users better information about the API. The Javadoc manager uses very little memory and has little effect on the startup time, but both can be optimized by disabling this feature.
Defaults:javadoc.manager.enabled=true
jcr.initialize.on.startup=false jcr.wrap.session=trueDefaults:
jcr.workspace.name=liferay jcr.node.documentlibrary=documentlibraryDefaults:
jcr.jackrabbit.repository.root=${liferay.home}/data/jackrabbit jcr.jackrabbit.config.file.path=${jcr.jackrabbit.repository.root}/repository.xml jcr.jackrabbit.repository.home=${jcr.jackrabbit.repository.root}/home jcr.jackrabbit.credentials.username=none jcr.jackrabbit.credentials.password=none
Set this property to true to activate strict mode for the JSON deserializer. In strict mode, the deserializer will not accept any bean attributes that are either static or do not comply with bean property name conventions (e.g. setBeanName, getBeanName).
Defaults:json.deserializer.strict.mode=true
Set this to to true to require JSON service calls to have a valid authentication token. This property is not used unless the property "auth.token.check.enabled" is also set to true.
Defaults:json.service.auth.token.enabled=true
Input a list of comma delimited IPs that can access the JSON service without specifying an authenticaton token. Input a blank list to allow any IP to access the JSON service. SERVER_IP will be replaced with the IP of the host server.
The default value of 255.255.255.255 means that no one can access the JSON service without an authentication token since 255.255.255.255 is an invalid IP.
Defaults:json.service.auth.token.hosts.allowed=255.255.255.255
Input a list of comma delimited class names that cannot be invoked via JSON.
Defaults:json.service.invalid.class.names=\ com.liferay.documentlibrary.service.DLAppServiceUtil,\ com.liferay.mail.service.CyrusServiceUtil,\ com.liferay.mail.service.MailServiceUtil,\ com.liferay.portal.service.CompanyServiceUtil,\ com.liferay.portal.service.PortalServiceUtil,\ com.liferay.portal.service.PortletServiceUtil
Input a list of comma delimited method names that cannot be invoked via JSON.
Defaults:json.service.invalid.method.names=\ getBeanIdentifier,\ setBeanIdentifier
Set this property to true to enable JSON web services. Note that setting this to false will cause portlets that make JSON web service calls from working.
Defaults:json.web.service.enabled=true
Input a list of comma delimited HTTP methods that are not accessible. For example, if you want to have a read only API, then set this property to "DELETE,POST,PUT".
Defaults:jsonws.web.service.invalid.http.methods=
Set this property to true to ensure that a JSON web service action can only be invoked by its expected HTTP method.
For example, the annotation com.liferay.portal.kernel.jsonwebservice.JSONWebService may configure the expected HTTP method for an action to be a GET request. However, the URL for that GET request may be too long, and so you may need to call that with a POST request. Setting this property to false loosens this requirement and allows the POST request to invoke an action that is supposed to only be called by a GET request.
Defaults:jsonws.web.service.strict.http.method=false
The property "jsonws.web.service.paths.excludes" denotes patterns for JSON web service action paths that are not allowed even if they match one of the patterns set in "jsonws.web.service.paths.includes".
Defaults:jsonws.web.service.paths.excludes=
The property "jsonws.web.service.paths.includes" denotes patterns for JSON web service action paths that are allowed. Set a blank pattern to allow any service action path.
Defaults:jsonws.web.service.paths.includes=
Set this to true to enable tracking via Live Users.
Defaults:live.users.enabled=false
Input a list of comma delimited class names that implement com.liferay.portal.kernel.lock.LockListener. A lock listener allows you to specify logic around how an object is locked. The implementation must be thread safe.
Defaults:lock.listeners=com.liferay.portlet.documentlibrary.util.DLFileEntryLockListener
Set the lock expiration time for each class.
Locks for publishing processes should expire after 10 minutes.
Defaults:lock.expiration.time.com.liferay.portal.kernel.staging.Staging=600000
Locks for document library folders should expire after 1 day.
Defaults:lock.expiration.time.com.liferay.portlet.documentlibrary.model.DLFolder=86400000
Locks for document library files should expire after 1 day.
Defaults:lock.expiration.time.com.liferay.portlet.documentlibrary.model.DLFileEntry=86400000
Locks for message board threads should never expire.
Defaults:lock.expiration.time.com.liferay.portlet.messageboards.model.MBThread=0
Set the batch size for outbound emails. Set this property to 0 to submit to the mail server a request to send an email with multiple recipients all at once. Set a value greater than 0 to split up the list of recipients by the batch size so that multiple requests are submitted to the mail server to ensure that the mail server's recipient size limit is not reached.
Defaults:mail.batch.size=0
Set the JNDI name to lookup the Java Mail session. If none is set, then the portal will attempt to create the Java Mail session based on the properties prefixed with "mail.session.".
Examples:mail.session.jndi.name=mail/MailSession
Set the properties used to create the Java Mail session. The property prefix "mail.session." will be removed before it is used to create the session object. These properties will only be read if the property "mail.session.jndi.name" is not set.
Defaults:mail.session.mail.pop3.host=localhost mail.session.mail.pop3.password= mail.session.mail.pop3.port=110 mail.session.mail.pop3.user= mail.session.mail.smtp.auth=false mail.session.mail.smtp.host=localhost mail.session.mail.smtp.password= mail.session.mail.smtp.port=25 mail.session.mail.smtp.user= mail.session.mail.store.protocol=pop3 mail.session.mail.transport.protocol=smtp
Set this to false if an administrator should not be allowed to change the mail domain via the Admin portlet.
Defaults:mail.mx.update=true
Input a list of comma delimited email addresses that will receive a BCC of every email sent through the mail server.
Defaults:mail.audit.trail=
Set the name of a class that implements com.liferay.mail.util.Hook. The mail server will use this class to ensure that the mail and portal servers are synchronized on user information. The portal will not know how to add, update, or delete users from the mail server except through this hook.
Defaults:mail.hook.impl=com.liferay.mail.util.DummyHookExamples:
mail.hook.impl=com.liferay.mail.util.CyrusHook mail.hook.impl=com.liferay.mail.util.FuseMailHook mail.hook.impl=com.liferay.mail.util.GoogleHook mail.hook.impl=com.liferay.mail.util.SendmailHook mail.hook.impl=com.liferay.mail.util.ShellHook
CyrusHook
Set the commands for adding, updating, and deleting a user where %1% is the user id. Replace the password with the password for the cyrus user.
Defaults:mail.hook.cyrus.add.user=cyrusadmin password create %1% mail.hook.cyrus.delete.user=cyrusadmin password delete %1% mail.hook.cyrus.home=/home/cyrusExamples:
mail.hook.cyrus.add.user=cyrus_adduser password %1% mail.hook.cyrus.delete.user=cyrus_userdel password %1%
FuseMailHook
See http://www.fusemail.com/support/email-hosting/api-documentation/ for more information. You must also update the "mail.account.finder" property.
Defaults:mail.hook.fusemail.url=https://www.fusemail.com/api/request.html mail.hook.fusemail.username= mail.hook.fusemail.password= mail.hook.fusemail.account.type=group_subaccount mail.hook.fusemail.group.parent=
GoogleHook
See the properties "google.apps.username" and "google.apps.password".
SendmailHook
Set the commands for adding, updating, and deleting a user where %1% is the user id and %2% is the password. Set the home and virtual user table information.
Defaults:mail.hook.sendmail.add.user=adduser %1% -s /bin/false mail.hook.sendmail.change.password=autopasswd %1% %2% mail.hook.sendmail.delete.user=userdel -r %1% mail.hook.sendmail.home=/home mail.hook.sendmail.virtusertable=/etc/mail/virtusertable mail.hook.sendmail.virtusertable.refresh=bash -c "makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable"
ShellHook
Set the location of the shell script that will interface with any mail server.
Defaults:mail.hook.shell.script=/usr/sbin/mailadmin.ksh
Set the client id and client secret values for Microsoft Translation integration. Subscription to the Microsoft Translator API on Azure Marketplace is required. Basic subscriptions, up to 2 million characters a month, are free. See http://msdn.microsoft.com/en-us/library/hh454950 for more information.
Defaults:microsoft.translator.client.id= microsoft.translator.client.secret=
Set this to true to enable minification of CSS and JavaScript resources.
Defaults:minifier.enabled=true
The strip filter will attempt to cache inline minified CSS and JavaScript content. Set this property to configure the maximum pieces of cached content. Set this property to 0 to disable caching of inline minified content.
Defaults:minifier.inline.content.cache.size=10000
Input a list of comma delimited values that will cause the minified CSS to not be cached if those values are contained in the content.
Defaults:minifier.inline.content.cache.skip.css=
Input a list of comma delimited values that will cause the minified JavaScript to not be cached if those values are contained in the content.
Defaults:minifier.inline.content.cache.skip.javascript=getSessionId,encryptedUserId
Set this property to true to cache the user's device profile to the HTTP session. If this property is false, then the portal will perform device detection for each request.
Defaults:mobile.device.session.cache.enabled=true
Set this to true if mobile device rules should be published to live by default.
Defaults:mobile.device.rules.publish.to.live.by.default=true
This property defines the postfix that will be localized and appended to the name of a copied rule group.
Defaults:mobile.device.rules.rule.group.copy.postfix=copy
Set this property to true to enable specific styling for WAP devices.
This property is deprecated and only provided for backwards compatibility.
Defaults:mobile.device.styling.wap.enabled=false
Set the module framework beginning start level. The module framework will proceed to this start level before the Spring context is initialized.
Defaults:module.framework.beginning.start.level=6
Set the module framework runtime start level. The module framework will proceed to this start level after the Spring context is initialized.
Defaults:module.framework.runtime.start.level=20
Set the directory which will form the base path of the module framework.
Defaults:module.framework.base.dir=${liferay.home}/data/osgi
Set a comma delimited list of directories to scan for modules to auto deploy.
Defaults:module.framework.auto.deploy.dirs=${module.framework.base.dir}/modules
Set the interval in milliseconds on how often to scan the directories for changes.
Defaults:module.framework.auto.deploy.interval=5000
Set the directory where the module framework portal libraries will be placed.
Defaults:module.framework.portal.dir=${module.framework.base.dir}/portal
Set the directory where the module framework will persist its state.
Defaults:module.framework.state.dir=${module.framework.base.dir}/state
Set this to true to register Liferay's core services into the module framework.
Defaults:module.framework.register.liferay.services=trueDefaults:
module.framework.services.ignored.interfaces=\ com.liferay.portal.kernel.bean.IdentifiableBean,\ com.liferay.portal.kernel.dao.orm.SessionFactory,\ com.liferay.portal.kernel.security.pacl.PACLConstants,\ java.io.Closeable,\ java.io.Serializable,\ java.lang.Comparable,\ org.aopalliance.intercept.MethodInterceptor,\ org.springframework.aop.PointcutAdvisor,\ org.springframework.aop.SpringProxy,\ org.springframework.aop.framework.Advised,\ org.springframework.aop.framework.AopInfrastructureBean,\ org.springframework.beans.factory.BeanClassLoaderAware,\ org.springframework.beans.factory.BeanFactoryAware,\ org.springframework.beans.factory.InitializingBean,\ org.springframework.beans.factory.config.BeanPostProcessor,\ org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor,\ org.springframework.core.Ordered
Set a comma delimited list of OSGi bundles that are automatically installed and optionally started once the system is up and running.
Defaults:module.framework.initial.bundles=\ file:${module.framework.lib.dir}/org.apache.felix.log.jar@start,\ felix-fileinstall.jar@start,\ log-bridge.jar@start
Set a comma delimited list of regular OSGi bundles in Liferay's library paths for which a generated fragment will not be generated.
Defaults:module.framework.system.bundle.ignored.fragments=\ log-bridge,\ org.apache.felix.fileinstall,\ org.apache.felix.main,\ org.eclipse.osgi,\ org.glassfish.web.jstl-impl,\ util-java,\ util-taglib,\ \ # # Apache Commons # commons-logging,\ org.apache.commons.io,\ # # Jetty # \ com.sun.el,\ javax.el,\ javax.mail.glassfish,\ javax.servlet,\ javax.servlet.jsp,\ javax.servlet.jsp.jstl,\ org.apache.jasper.glassfish,\ org.apache.taglibs.standard.glassfish,\ org.eclipse.*,\ \ # # JBoss # \ slf4j.api,\ \ # # Weblogic # \ ch.qos.cal10n.api,\ com.bea.*,\ com.oracle.*,\ javax.jsp,\ org.jboss.*,\ \ # # Websphere # \ com.ibm.*,\ org.objectweb.asm.*
Set a comma delimited list of Java packages that are exported to the module framework as extra system packages.
Defaults:module.framework.system.packages.extra=\ aQute.lib.osgi;version="1.43.1",\ aQute.libg.header;version="1.0",\ aQute.libg.version;version="1.0",\ com.liferay.alloy.taglib.alloy,\ com.liferay.alloy.taglib.alloy.base,\ com.liferay.alloy.taglib.alloy_util,\ com.liferay.alloy.taglib.alloy_util.base,\ com.liferay.alloy.taglib.liferay,\ com.liferay.alloy.taglib.liferay.base,\ com.liferay.alloy.tools.model,\ com.liferay.alloy.tools.tagbuilder,\ com.liferay.alloy.tools.tagbuilder.templates,\ com.liferay.alloy.tools.xmlbuilder,\ com.liferay.alloy.util,\ com.liferay.alloy.util.json,\ com.liferay.osgi.bootstrap,\ com.sun.org.apache.xalan.internal.res,\ com.sun.org.apache.xml.internal.utils,\ com.sun.org.apache.xpath.internal,\ com.sun.org.apache.xpath.internal.jaxp,\ com.sun.org.apache.xpath.internal.objects,\ freemarker.cache,\ freemarker.core,\ freemarker.ext.beans,\ freemarker.ext.jsp,\ freemarker.ext.servlet,\ freemarker.template,\ freemarker.template.utility,\ javax.annotation;version="1.1.0",\ javax.annotation.security;version="1.1.0",\ javax.el;version="2.1.0",\ javax.faces.convert,\ javax.faces.webapp,\ javax.mail;version="1.4",\ javax.mail.event;version="1.4",\ javax.mail.internet;version="1.4",\ javax.mail.search;version="1.4",\ javax.mail.util;version="1.4",\ javax.portlet;version="2.0.0",\ javax.portlet.filter;version="2.0.0",\ javax.servlet;version="2.5.0",\ javax.servlet.http;version="2.5.0",\ javax.servlet.jsp;version="2.1.0",\ javax.servlet.jsp.el;version="2.1.0",\ javax.servlet.jsp.resources;version="2.1.0",\ javax.servlet.jsp.tagext;version="2.1.0",\ javax.servlet.resources;version="2.5.0",\ org.aopalliance.aop,\ org.aopalliance.intercept,\ org.apache.axis,\ org.apache.axis.configuration,\ org.apache.axis.encoding.ser,\ org.apache.axis.handlers.http,\ org.apache.commons.httpclient,\ org.apache.commons.httpclient.auth,\ org.apache.commons.httpclient.params,\ org.apache.commons.logging;version="1.1.1",\ org.apache.tools.ant,\ org.apache.tools.ant.taskdefs,\ org.apache.tools.ant.util,\ org.apache.xml.xml_soap,\ org.json,\ org.objectweb.asm,\ org.objectweb.asm.commons,\ org.objectweb.asm.signature,\ org.w3c.dom,\ org.w3c.dom.traversal,\ \ # # EL support # \ com.sun.el,\ com.sun.el.lang,\ com.sun.el.parser,\ com.sun.el.query,\ com.sun.el.util,\ org.apache.el,\ org.apache.el.lang,\ org.apache.el.parser,\ org.apache.el.util,\ \ # # Random exports # \ com.mysql.jdbc,\ com.sun.security.auth.module,\ org.apache.naming.java
Pass arbitrary extra properties to the framework using the prefix: "module.framework.properties." to avoid avoid colliding with other frameworks that may be running within the same JVM.
Defaults:module.framework.properties.felix.fileinstall.bundles.new.start=true module.framework.properties.felix.fileinstall.bundles.startActivationPolicy=false module.framework.properties.felix.fileinstall.bundles.startTransient=false module.framework.properties.gosh.args=--noshutdown module.framework.properties.org.osgi.framework.bootdelegation=__redirected
Configure the appropriate level for monitoring Liferay. Valid values are: HIGH, LOW, MEDIUM, OFF.
Defaults:monitoring.level.com.liferay.monitoring.Portal=HIGH monitoring.level.com.liferay.monitoring.Portlet=HIGH
Set this to true to monitor portal requests.
Defaults:monitoring.portal.request=false
Set this to true to monitor portlet action requests.
Defaults:monitoring.portlet.action.request=false
Set this to true to monitor portlet event requests.
Defaults:monitoring.portlet.event.request=false
Set this to true to monitor portlet render requests.
Defaults:monitoring.portlet.render.request=false
Set this to true to monitor portlet resource requests.
Defaults:monitoring.portlet.resource.request=false
Set this to true to show data samples at the bottom of each portal page as HTML comment. In order for data to show, the property "monitoring.data.sample.thread.local" must be set to true.
Defaults:monitoring.show.per.request.data.sample=false
Consolidate multicast address and port settings in one location for easier maintenance. These settings must correlate to your physical network configuration (i.e. firewall, switch, and other network hardware matter) to ensure speedy and accurate communication across a cluster.
Each address and port combination represent a conversation that is made between different nodes. If they are not unique or correctly set, there will be a potential of unnecessary network traffic that may cause slower updates or inaccurate updates.
See the property "cluster.link.channel.properties.control".
Defaults:multicast.group.address["cluster-link-control"]=239.255.0.1 multicast.group.port["cluster-link-control"]=23301Examples:
multicast.group.address["cluster-link-control"]=ff0e::8:8:1
See the properties "cluster.link.channel.properties.transport.0" and "cluster.link.channel.system.properties".
Defaults:multicast.group.address["cluster-link-udp"]=239.255.0.2 multicast.group.port["cluster-link-udp"]=23302Examples:
multicast.group.address["cluster-link-udp"]=ff0e::8:8:2
See the property "cluster.link.channel.system.properties".
Defaults:multicast.group.address["cluster-link-mping"]=239.255.0.3 multicast.group.port["cluster-link-mping"]=23303Examples:
multicast.group.address["cluster-link-mping"]=ff0e::8:8:3
See the properties "net.sf.ehcache.configurationResourceName" and "net.sf.ehcache.configurationResourceName.peerProviderProperties".
Defaults:multicast.group.address["hibernate"]=239.255.0.4 multicast.group.port["hibernate"]=23304
See the properties "ehcache.multi.vm.config.location" and "ehcache.multi.vm.config.location.peerProviderProperties".
Defaults:multicast.group.address["multi-vm"]=239.255.0.5 multicast.group.port["multi-vm"]=23305
Set the maximum number of transient events allowed to queue for a user. In case of excess events, the events with the closest expiration time are removed.
Defaults:notifications.max.events=100
Enabling OpenOffice integration allows the Document Library portlet and the Wiki portlet to provide conversion functionality. This is tested with OpenOffice 2.3.x through 3.2.x. It is recommended that you have OpenOffice on the same machine. Using a remote host for the instance is not fully supported and could lead to various problems. To start OpenOffice as service, run the command:
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;"
Defaults:openoffice.server.enabled=false openoffice.server.host=127.0.0.1 openoffice.server.port=8100 openoffice.cache.enabled=true
Specify the file extensions of files to allow conversions from. Entries must be limited by what is supported by OpenOffice.
Defaults:openoffice.conversion.source.extensions[drawing]=odg openoffice.conversion.source.extensions[presentation]=odp,ppt,pptx,sxi openoffice.conversion.source.extensions[spreadsheet]=csv,ods,sxc,tsv,xls,xlsx openoffice.conversion.source.extensions[text]=doc,docx,html,odt,rtf,sxw,txt,wpd
Specify the file extensions of files to allow conversions to. Entries must be limited by what is supported by OpenOffice.
Defaults:openoffice.conversion.target.extensions[drawing]=pdf,svg,swf openoffice.conversion.target.extensions[presentation]=odp,pdf,ppt,swf,sxi openoffice.conversion.target.extensions[spreadsheet]=csv,ods,pdf,sxc,tsv,xls openoffice.conversion.target.extensions[text]=doc,odt,pdf,rtf,sxw,txt
Set the name of a class that implements com.liferay.portal.kernel.format.PhoneNumberFormat. It will be used for formatting and validating phone numbers.
Defaults:phone.number.format.impl=com.liferay.portal.format.IdenticalPhoneNumberFormatImplExamples:
phone.number.format.impl=com.liferay.portal.format.InternationalPhoneNumberFormatImpl phone.number.format.impl=com.liferay.portal.format.USAPhoneNumberFormatImpl
This regular expression follows the international phone number notation specified by the Extensible Provisioning Protocol (EPP). EPP style phone numbers use the format +CCC.NNNNNNNNNNxEEEE where C is the 1-3 digit country code, N is up to 14 digits, and E is the (optional) extension. The leading plus sign and the dot following the country code are required. The literal 'x' character is required only if an extension is provided.
See http://www.itu.int/rec/T-REC-E.123, http://www.itu.int/rec/T-REC-E.164, and http://tools.ietf.org/html/rfc4933 for more information.
Defaults:phone.number.format.international.regexp=^\\+[0-9]{1,3}\.[0-9]{4,14}(?:x.+)?$
The North American Numbering Plan (NANP) is the telephone numbering plan for the United States, Canada, Bermuda, and 16 Caribbean nations.
See http://en.wikipedia.org/wiki/North_American_Numbering_Plan for more information.
Defaults:phone.number.format.usa.regexp=^(?:\\+?1[-. ]?)?(?:\\(?([0-9]{3})\\)?[-. ]?)?([0-9]{3})[-. ]?([0-9]{4})$
Specify the notification events timout in milliseconds. This prevents the poller from locking up the application server.
Defaults:poller.notifications.timeout=1000
Specify the poller request timeout in milliseconds. This prevents the poller from locking up the application server.
Defaults:poller.request.timeout=1000
Set this to true if polls should be published to live by default.
Defaults:polls.publish.to.live.by.default=true
Set this to true to enable polling of email notifications from a POP server. The user credentials are the same used for SMTP authentication and are specified in the mail/MailSession configuration for each application server.
Defaults:pop.server.notifications.enabled=false
Set the interval on which the POPNotificationsMessageListener will run. The value is set in one minute increments.
Defaults:pop.server.notifications.interval=1
Set this property to create a special MX subdomain to receive all portal related email (e.g. events.liferay.com). This means configuring a default inbox for the domain and receiving all emails into that inbox.
This approach may not be allowed for some organizations. If you cannot use the subdomain approach, unset this value and Liferay will use the replyTo address specified in the portlet preferences.
Defaults:pop.server.subdomain=events
Set this to true to turn on the Portal Resiliency feature.
Defaults:portal.resiliency.enabled=false
Set this to true to add a footer to each Portal Resiliency rendered portlet. Each footer identifies the SPI that is rendering it.
At runtime you can toggle showing the footer by setting the URL parameter "portalResiliencyPortletShowFooter" to "1" for on or "0" for off.
Defaults:portal.resiliency.portlet.show.footer=false
Specify the maximum number of sockets to keep alive for each com.liferay.portal.resiliency.spi.agent.HttpClientSPIAgent instance. Reusing the socket for HTTP communication saves TCP connection setup/teardown overhead and avoids the TCP/IP protocol's slow start congestion control.
Increasing limit on the number of sockets to keep alive can generally improvement each HttpClientSPIAgent's performance under heavy concurrent load, but more TCP ports and file descriptors are occupied.
Defaults:portal.resiliency.spi.agent.client.pool.max.size=20
memory.scheduler.org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore memory.scheduler.org.quartz.scheduler.instanceId=AUTO memory.scheduler.org.quartz.scheduler.instanceName=MemoryQuartzSchedulerEngineInstance memory.scheduler.org.quartz.scheduler.jobFactory.class=org.quartz.simpl.SimpleJobFactory memory.scheduler.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool memory.scheduler.org.quartz.threadPool.threadCount=5 memory.scheduler.org.quartz.threadPool.threadPriority=5Defaults:
persisted.scheduler.org.quartz.dataSource.ds.connectionProvider.class=com.liferay.portal.scheduler.quartz.QuartzConnectionProvider persisted.scheduler.org.quartz.jobStore.class=com.liferay.portal.scheduler.quartz.PortalJobStore persisted.scheduler.org.quartz.jobStore.dataSource=ds persisted.scheduler.org.quartz.jobStore.misfireThreshold=60000 persisted.scheduler.org.quartz.jobStore.tablePrefix=QUARTZ_ persisted.scheduler.org.quartz.jobStore.useProperties=false persisted.scheduler.org.quartz.scheduler.instanceId=AUTO persisted.scheduler.org.quartz.scheduler.instanceName=PersistedQuartzSchedulerEngineInstance persisted.scheduler.org.quartz.scheduler.jobFactory.class=org.quartz.simpl.SimpleJobFactory persisted.scheduler.org.quartz.scheduler.skipUpdateCheck=true persisted.scheduler.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool persisted.scheduler.org.quartz.threadPool.threadCount=5 persisted.scheduler.org.quartz.threadPool.threadPriority=5
Input a list of comma delimited URL prefixes which the portal is allowed to make proxy requests to. Input a blank list to allow any URLs.
Defaults:rest.proxy.url.prefixes.allowed=http://search.yahooapis.com/ContentAnalysisService
robots.txt.with.sitemap=com/liferay/portal/dependencies/robots_txt_with_sitemap.tmpl robots.txt.without.sitemap=com/liferay/portal/dependencies/robots_txt_without_sitemap.tmpl
Set this to true to enable RSS feeds.
Defaults:rss.feeds.enabled=true
Set the name of the display style which will be used by default.
Defaults:rss.feed.display.style.default=full-content
Set the default feed type from the feed types defined in the property "rss.feed.types".
Defaults:rss.feed.type.default=atom_1.0
Enter a list of comma delimited values of feed types. The supported types should be a subset of those defined for SyndFeed in the ROME project: atom_1.0, rss_1.0, and rss_2.0. See http://java.net/projects/rome for more information.
Defaults:rss.feed.types=atom_1.0,rss_1.0,rss_2.0
See the properties "main.servlet.hosts.allowed" and "main.servlet.https.required" on how to protect RSS feeds.
Defaults:rss.feeds.hosts.allowed= rss.feeds.https.required=false
Set this to true if rss should be published to live by default.
Defaults:rss.publish.to.live.by.default=true
Input a list of comma delimited class names that implement com.liferay.portal.kernel.sanitizer.Sanitizer. These classes are used to sanitize content.
Defaults:sanitizer.impl=com.liferay.portal.sanitizer.DummySanitizerImpl
Set this to false to disable all scheduler classes defined in liferay-portlet.xml.
Defaults:scheduler.enabled=true
Set the maximum length of description, group name, and job name fields.
Defaults:scheduler.description.max.length=120 scheduler.group.name.max.length=80 scheduler.job.name.max.length=80
Input a list of comma delimited class names that will never be available to user defined server side scripts. The special string "all_classes" disables access to any Java class. This property is only effective when using the Scripting service and invoking eval or exec methods.
Defaults:scripting.forbidden.classes=com.liferay.portal.kernel.scripting.ScriptingUtil,com.liferay.portal.scripting.ScriptingImpl,java.lang.System
Set the compile mode for the JRuby scripting engine.
Defaults:scripting.jruby.compile.mode=jitExamples:
scripting.jruby.compile.mode=force scripting.jruby.compile.mode=off
Set the threshold at which methods will be compiled when "jit" compile mode is enabled.
Defaults:scripting.jruby.compile.threshold=5
Set the load paths for the jruby engine. These paths allow JRuby to locate gems and ruby code libraries in the classpath.
Defaults:scripting.jruby.load.paths=\ classpath:/META-INF/jruby.home/lib/ruby/site_ruby/1.8,\ classpath:/META-INF/jruby.home/lib/ruby/site_ruby/shared,\ classpath:/META-INF/jruby.home/lib/ruby/1.8,\ classpath:/gems/chunky_png-1.2.9/lib,\ classpath:/gems/compass-0.12.2/lib,\ classpath:/gems/fssm-0.2.10/lib,\ classpath:/gems/sass-3.2.12/lib,\ ${java.io.tmpdir}/liferay/ruby/gems/chunky_png-1.2.9/lib,\ ${java.io.tmpdir}/liferay/ruby/gems/compass-0.12.2/lib,\ ${java.io.tmpdir}/liferay/ruby/gems/fssm-0.2.10/lib,\ ${java.io.tmpdir}/liferay/ruby/gems/sass-3.2.12/lib
Set the default number of entries to display per page.
Defaults:search.container.page.default.delta=20
Set the available values for the number of entries to display per page. An empty value, or commenting out the value, will disable delta resizing.
Always include the value specified in the property "search.container.page.default.delta", since it is the default page size when no delta is specified. The absolute maximum allowed delta is 200.
Defaults:search.container.page.delta.values=5,10,20,30,50,75
Set the maximum number of pages available above and below the currently displayed page.
Defaults:search.container.page.iterator.max.pages=25
Set this to false to remove the pagination controls above or below results.
Defaults:search.container.show.pagination.top=true search.container.show.pagination.bottom=true
Set the tokens for supported Sharepoint storage paths.
Defaults:sharepoint.storage.tokens=document_library
Set the class names for supported Sharepoint storage classes.
Defaults:sharepoint.storage.class[document_library]=com.liferay.portlet.documentlibrary.sharepoint.DLSharepointStorageImpl
Set the file names used for the auto generated sprites. The default file name used to be ".sprite.png" but is now "_sprite.png" because SiteMinder does not allow file names to start with a period. This property will not need to be changed unless your deployment has a conflict with file names that start with an underline.
Defaults:sprite.file.name=_sprite.png sprite.properties.file.name=_sprite.properties
Set the root directory for the autogenerated sprites. Not setting the directory means that generated sprites reside in the same location as the original source images.
Defaults:sprite.root.dir=
Set this property to true to enable locking the publishing process for staging. If this is enabled, the second publishing process will not start. Locks are held per site.
Defaults:staging.lock.enabled=false
Set the file block sizes for remote staging. If a LAR file used for remote staging exceeds this size, the file will be split into multiple files prior to transmission and then reassembled on the remote server. The default buffer size is 10 megabytes.
Defaults:staging.remote.transfer.buffer.size=10485760
Set this property to true to enable the strip filter to also parse Sass based CSS. This property is not used unless the property "com.liferay.portal.servlet.filters.dynamiccss.DynamicCSSFilter" is set to true.
Defaults:strip.css.sass.enabled=false
Enter a list of comma delimited paths that should not have its content stripped by the strip filter.
Defaults:strip.ignore.paths=/document_library/get_file
Set this property to support usage of the language attribute in the script element. The language attribute is deprecated since HTML4 is in favor of the type attribute.
See http://www.w3.org/TR/html4/interact/scripts.html#h-18.2.1.
This property is not used unless the property "com.liferay.portal.servlet.filters.dynamiccss.DynamicCSSFilter" is set to true.
Defaults:strip.js.language.attribute.support.enabled=false
Input a list of comma delimited MIME types that will have its content stripped by the strip filter.
Defaults:strip.mime.types=text/html*,text/xml*
Set the length of the counter period for social activities. The value is in a number of days or the special keyword "month" to specify a month.
Defaults:social.activity.counter.period.length=month
Adding social activity counters requires a portal level lock to ensure that counters are unique. When the portal fails to acquire a lock, it will attempt to reacquire a lock based on the value specified in this property. The value is interpreted as milliseconds.
A small value will help the system to respond faster. However, if there are too many conflicts, the database will fail with a massive transaction rollback.
Defaults:social.activity.lock.retry.delay=100
Set the lock timeout for adding social activity counters. The value is interpreted as milliseconds. See the property "social.activity.counter.lock.retry.delay" for more information on why and how locks are acquired when adding a counter.
Portal level locks are persisted in the database. In the case that there is a corrupted database, one thread may fail to acquire a lock because it thinks another thread has a handle on the lock even though no other thread has a handle on it.
Setting this timeout level ensures that the portal will eventually release the lock so that a new thread can acquire the lock. Do not set this property to a small value because it may expire a legitimate lock held by another thread that it falsely assumed to be a lock that is from a corrupt database.
Defaults:social.activity.lock.timeout=10000
Enter a list of comma delimited values to use in drop down lists in the Social Activity portlet.
Defaults:social.activity.contribution.increments=0,1,2,3,4,5,10,20,50,100 social.activity.contribution.limit.values=0,1,2,3,4,5,10,20 social.activity.participation.increments=0,1,2,3,4,5,10,20,50,100 social.activity.participation.limit.values=0,1,2,3,4,5,10,20
Set the limit for results used when performing social activity searches that are subsequently filtered by permissions.
Defaults:social.activity.filter.search.limit=200
Set this to true if similar activities should be bundled together in the same activity set. If this is false, a new activity set will be created with each activity.
Defaults:social.activity.sets.bundling.enabled=true
Set this to true if sets should be generated when new activities are added.
Defaults:social.activity.sets.enabled=false
Set the selector for the set of interpreters that will determine how activities are grouped together.
Defaults:social.activity.sets.selector=
social.bookmark.types=twitter,facebook,plusoneDefaults:
social.bookmark.jsp[facebook]=/html/taglib/ui/social_bookmark/facebook.jsp social.bookmark.jsp[plusone]=/html/taglib/ui/social_bookmark/plusone.jsp social.bookmark.jsp[twitter]=/html/taglib/ui/social_bookmark/twitter.jsp
Set this to true if you want text extraction of certain MIME types to use a separate Java process. This will utilize extra resources from the operating system while improving the portal's stability.
Defaults:text.extraction.fork.process.enabled=false
Input a list of comma delimited MIME types that will trigger text extraction using a separate Java process.
Defaults:text.extraction.fork.process.mime.types=application/x-tika-ooxml
The thread dump filter will log a thread dump if the portal takes longer than the specified number of seconds to process. The thread dump filter must be enabled via the property "com.liferay.portal.servlet.filters.threaddump.ThreadDumpFilter".
Defaults:thread.dump.speed.threshold=5
Set this to true if you want users to acknowledge receipt of user notification events.
Defaults:user.notification.event.confirmation.enabled=false
Specify the location of the portal wide Vaadin themes and widget set (client side JavaScript).
Defaults:vaadin.resources.path=/html
Specify the base Vaadin theme to load automatically for all Vaadin portlets. A portlet can include an additional theme that is loaded after the shared theme.
Defaults:vaadin.theme=liferay
Specify the shared widget set (client side JavaScript) that is used by all Vaadin portlets running in the portal.
Defaults:vaadin.widgetset=com.vaadin.portal.gwt.PortalDefaultWidgetSet
Set this property to true so that the #if condition calls toString() to check for null values.
For example, if the property is set to true, the condition "#if ($layout)" will evalute to true if $layout is null or if $layout.toString() returns null.
It is safe to set this property to false if we know that all toString() implementations return an actual value. Disabling the check (as was the case in Velocity 1.5) will boost performance since calling toString() may be expensive for some objects.
Defaults:velocity.engine.directive.if.to.string.null.check=false
Input a list of comma delimited class names that extend com.liferay.portal.template.TemplateResourceParser. These classes will run in sequence to allow you to find the applicable TemplateResourceParser to parse a Velocity template.
Defaults:velocity.engine.resource.parsers=com.liferay.portal.velocity.VelocityServletResourceParser,com.liferay.portal.template.ThemeResourceParser,com.liferay.portal.template.DDMTemplateResourceParser,com.liferay.portal.template.ClassLoaderResourceParser
Set this to 0 to load template source every time. Set this to a number less than 0 to load templates once and cache it indefinitely. Set this to a number greater than 0 to load templates and cache it for the period of time specified by that number in milliseconds.
Defaults:velocity.engine.resource.modification.check.interval=60
Set a comma delimited list of Java classes the Velocity engine cannot have access to.
Defaults:velocity.engine.restricted.classes=\ java.lang.Class,\ java.lang.ClassLoader,\ java.lang.Thread
Set a comma delimited list of Java packages the Velocity engine cannot have access to.
Defaults:velocity.engine.restricted.packages=
Set a comma delimited list of variables the Velocity engine cannot have access to. This will affect Dynamic Data List templates, Journal templates, and Portlet Display templates.
Defaults:velocity.engine.restricted.variables=serviceLocator
Input a list of comma delimited macros that will be loaded. These files must exist in the class path.
Defaults:velocity.engine.velocimacro.library=VM_global_library.vm,VM_liferay.vm
Set the Velocity logging configuration.
Defaults:velocity.engine.logger=org.apache.velocity.runtime.log.SimpleLog4JLogSystem velocity.engine.logger.category=org.apache.velocity
Set the extensions that will be ignored for virtual hosts.
Defaults:virtual.hosts.ignore.extensions=\ /c,\ .css,\ .gif,\ .image/company_logo,\ .ico,\ .js,\ .jpeg,\ .jsp,\ .png,\ /portal/layout,\ /portal/login,\ /portal/logout
Set the hosts that will be ignored for virtual hosts.
Defaults:virtual.hosts.ignore.hosts=\ 127.0.0.1,\ localhost
Set the paths that will be ignored for virtual hosts.
Defaults:virtual.hosts.ignore.paths=\ /c,\ \ /c/portal/change_password,\ /c/portal/extend_session,\ /c/portal/extend_session_confirm,\ /c/portal/json_service,\ /c/portal/layout,\ /c/portal/login,\ /c/portal/logout,\ /c/portal/portlet_url,\ /c/portal/progress_poller,\ /c/portal/render_portlet,\ /c/portal/reverse_ajax,\ /c/portal/session_tree_js_click,\ /c/portal/status,\ /c/portal/update_layout,\ /c/portal/update_terms_of_use,\ \ /c/layouts_admin/update_page
Specify the site name that will default to the company's virtual host. If the specified site has a virtual host, then that will take precedence. If it does not, then it will use the company's virtual host. This property is useful to remove "/web/guest" (or any other site) from the default URL. For example, if this property is not set, then the default URL may be http://localhost:8080/web/guest/home. If this property is set, then the default URL may be http://localhost:8080/home.
Defaults:virtual.hosts.default.site.name=Guest
Set this property to false to disable XML validation in the portal. XML validation should only be disabled if validation cannot be performed because the servers hosting the external DTD or XSD files are not available.
Defaults:xml.validation.enabled=true
Set this to true to enable conversion and previewing of videos in the Document Library portlet. See http://www.xuggle.com/xuggler/downloads for more information.
Defaults:xuggler.enabled=false
Set the properties used to install Xuggler at runtime.
Defaults:xuggler.jar.file[32-linux]=xuggle-xuggler-arch-i686-pc-linux-gnu.jar xuggler.jar.file[32-mac]=xuggle-xuggler-arch-i386-xuggle-darwin11.jar xuggler.jar.file[32-win]=xuggle-xuggler-arch-i686-w64-mingw32.jar xuggler.jar.file[64-linux]=xuggle-xuggler-arch-x86_64-pc-linux-gnu.jar xuggler.jar.file[64-mac]=xuggle-xuggler-arch-x86_64-xuggle-darwin11.jar xuggler.jar.file[64-win]=xuggle-xuggler-arch-x86_64-w64-mingw32.jar xuggler.jar.name[32-linux]=Linux 32-bit JVM (with GNU libc v6) xuggler.jar.name[32-mac]=Mac OS X 10.7 32-bit JVM xuggler.jar.name[32-win]=Windows 32-bit JVM xuggler.jar.name[64-linux]=Linux 64-bit JVM (with GNU libc v6) xuggler.jar.name[64-mac]=Mac OS X 10.7 64-bit JVM xuggler.jar.name[64-win]=Windows 64-bit JVM xuggler.jar.options=32-linux,32-mac,32-win,64-linux,64-mac,64-win xuggler.jar.url=http://xuggle.googlecode.com/svn/trunk/repo/share/java/xuggle/xuggle-xuggler/5.4/
Set these to customize the ffmpeg preset settings used by Xuggler when encoding movie files.
Defaults:xuggler.ffpreset.8x8dct=0 xuggler.ffpreset.bf=0 xuggler.ffpreset.cmp=+chroma xuggler.ffpreset.coder=0 xuggler.ffpreset.flags=+loop xuggler.ffpreset.i_qfactor=0.71 xuggler.ffpreset.mbtree=1 xuggler.ffpreset.me_method=umh xuggler.ffpreset.me_range=16 xuggler.ffpreset.qcomp=0.6 xuggler.ffpreset.qdiff=4 xuggler.ffpreset.qmin=10 xuggler.ffpreset.qmax=51 xuggler.ffpreset.sc_threshold=40 xuggler.ffpreset.subq=8 xuggler.ffpreset.trellis=0 xuggler.ffpreset.wpredp=0Examples:
xuggler.ffpreset.flags2=-wpred-dct8x8+mbtree
Specify the YUI compressor settings used to compress CSS.
Defaults:yui.compressor.css.line.break=-1
Specify the YUI compressor settings used to compress JavaScript.
Defaults:yui.compressor.js.disable.optimizations=false yui.compressor.js.line.break=-1 yui.compressor.js.munge=true yui.compressor.js.preserve.all.semicolons=false yui.compressor.js.verbose=false
Set the JspWriter buffer size. JspFactoryWrapper reads this value as the buffer size when creating new JspWriters. This value should be kept at 0 for performance reasons.
Defaults:jsp.writer.buffer.size=0
The absolute redirects filter is used to ensure that all redirects are absolute. It should not be disabled because it also sets the company id in the request so that subsequent calls in the thread have the company id properly set. This filter should also always be the first filter in the list of filters.
Defaults:com.liferay.portal.servlet.filters.absoluteredirects.AbsoluteRedirectsFilter=true
The aggregate filter is used to aggregate CSS and JavaScript. Do not disable this filter because it performs necessary aggregation of portal resources. You may, however, set the property "minifier.enabled" to disable minification of resources.
Defaults:com.liferay.portal.servlet.filters.aggregate.AggregateFilter=true
The audit filter populates the AuditRequestThreadLocal with the appropriate request values to generate audit requests.
Defaults:com.liferay.portal.servlet.filters.audit.AuditFilter=false
The auth verifier filter is used to verify whether a request is authenticated or not.
Defaults:com.liferay.portal.servlet.filters.authverifier.AuthVerifierFilter=true
The auto login filter processes the classes in the property "auto.login.hooks" to provide auto login functionality.
Defaults:com.liferay.portal.servlet.filters.autologin.AutoLoginFilter=true
The cache filter caches processed web content. See ehcache.xml to modify the cache expiration time to live.
Defaults:com.liferay.portal.servlet.filters.cache.CacheFilter=true
The CAS filter is used to provide CAS based single sign on.
Defaults:com.liferay.portal.servlet.filters.sso.cas.CASFilter=true
The char buffer pool filter enables char buffer pooling to minimize garbage collection of large char arrays. See the system property "com.liferay.portal.kernel.util.StringBundler.unsafe.create.limit".
Defaults:com.liferay.portal.servlet.filters.charbufferpool.CharBufferPoolFilter=false
The dynamic CSS filter is used to parse Sass CSS.
Defaults:com.liferay.portal.servlet.filters.dynamiccss.DynamicCSSFilter=true
The ETag filter is used to generate ETag headers.
Defaults:com.liferay.portal.servlet.filters.etag.ETagFilter=true
If the user can unzip compressed HTTP content, the GZip filter will zip up the HTTP content before sending it to the user. This will speed up page rendering for users that are on dial up.
Defaults:com.liferay.portal.servlet.filters.gzip.GZipFilter=true
The header filter is used to set request headers.
Defaults:com.liferay.portal.servlet.filters.header.HeaderFilter=true
The ignore filter will ignore certain files from being accessed directly from a browser.
Defaults:com.liferay.portal.servlet.filters.ignore.IgnoreFilter=true
The I18n filter is used to internationalize URLs. See the property "locale.prepend.friendly.url.style" for more information.
Defaults:com.liferay.portal.servlet.filters.i18n.I18nFilter=true
The JSON content type filter is used because Internet Explorer does not recognize the content type "application/json". See LPS-33187.
Defaults:com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter=true
The language filter replaces JavaScript code that makes a client side call to translate a piece of text with the actual translated value. For example, a typical piece of JavaScript code fits the pattern "Liferay.Language.get('key')" where 'key' is the text to translate. This filter will replace the entire piece of code with the translated text. This is very useful because it will lower the number of client calls by translating the text before the browser receives the JavaScript file.
Defaults:com.liferay.portal.servlet.filters.language.LanguageFilter=true
The monitoring filter monitors portal request performance.
Defaults:com.liferay.portal.servlet.filters.monitoring.MonitoringFilter=true
The NTLM filter is used to provide NTLM based single sign on.
Defaults:com.liferay.portal.servlet.filters.sso.ntlm.NtlmFilter=true
The NTLM post filter is used to fix known issues with NTLM and ajax requests. See LPS-3795.
Defaults:com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter=true
The OpenSSO filter is used to provide OpenSSO based single sign on.
Defaults:com.liferay.portal.servlet.filters.sso.opensso.OpenSSOFilter=true
The secure filter is used to protect servlets based on IP and protocol. See the properties "*.servlet.hosts.allowed" and "*.servlet.https.required".
Defaults:com.liferay.portal.servlet.filters.secure.SecureFilter=true
The servlet authorizing filter allows external servlets to be authorized by the portal. See LEP-4682.
Defaults:com.liferay.portal.servlet.filters.servletauthorizing.ServletAuthorizingFilter=true
The session id filter ensures that only one session is created between HTTP and HTTPS sessions. This is useful if you want users to login via HTTPS but have them view the rest of the site via HTTP. This is disabled by default. Do not enable this unless you thoroughly understand how cookies, HTTP, and HTTPS work.
Defaults:com.liferay.portal.servlet.filters.sessionid.SessionIdFilter=false
The session max allowed filter invalidates the latest session if the latest session exceeds the maximum number of allowed sessions. This filter is not used unless the property "session.max.allowed" is greater than 0.
Defaults:com.liferay.portal.servlet.filters.sessionmaxallowed.SessionMaxAllowedFilter=false
The Sharepoint filter allows users to access documents in the Document Library directly from Microsoft Office using the Sharepoint protocol.
Defaults:com.liferay.portal.sharepoint.SharepointFilter=true
The strip filter will remove blank lines from the outputted content. This will speed up page rendering for users that are on dial up.
Defaults:com.liferay.portal.servlet.filters.strip.StripFilter=true
The theme preview filter generates a preview of the currently applied theme that can be used by the Dreamweaver Theming plugin. This is disabled by default. Set the "themePreview" parameter to 1 in the URL to access the theme preview for any page. For example, a URL can be http://localhost:8080/web/guest?themePreview=1.
Defaults:com.liferay.portal.servlet.filters.themepreview.ThemePreviewFilter=false
The thread dump filter will automatically log thread dumps when the portal is too slow. Behavior can be configured via the property "thread.dump.speed.threshold".
Defaults:com.liferay.portal.servlet.filters.threaddump.ThreadDumpFilter=false
The thread local filter cleans up short lived thread locals managed by CentralizedThreadLocal to prevent memory leaks.
Defaults:com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter=true
The unsynchronized print writer pool filter enables pooling print writers to minimize the creation of java.io.PrintWriter instances because it is an expensive action.
Defaults:com.liferay.portal.servlet.filters.unsyncprintwriterpool.UnsyncPrintWriterPoolFilter=true
The valid host name filter will check the host name from request's host header. It rejects a request with invalid server name to prevent XSS attacks. Setting this property to true increases security level while setting this property to false optimizes server side performance.
Defaults:com.liferay.portal.servlet.filters.validhostname.ValidHostNameFilter=true
The valid HTML filter will move JavaScript that is outside of the closing body tag to its proper place inside the body tag. Most sites will prefer to leave this filter disabled because having JavaScript outside of the body tag causes the page to render faster. However, the side effect is that it will also make the site unaccessible to screen readers because the HTML is technically invalid. Setting this property to true optimizes for accessibility while setting this property to false optimizes for browser performance.
Defaults:com.liferay.portal.servlet.filters.validhtml.ValidHtmlFilter=false
The virtual host filter maps hosts to public and private pages. For example, if the public virtual host is www.helloworld.com and the friendly URL is /helloworld, then http://www.helloworld.com is mapped to http://localhost:8080/web/helloworld.
Defaults:com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter=true
Set the maximum file size. Default is 1024 * 1024 * 100.
Defaults:com.liferay.portal.upload.UploadServletRequestImpl.max.size=104857600
Set the temp directory for uploaded files.
Examples:com.liferay.portal.upload.UploadServletRequestImpl.temp.dir=C:/Temp
Set the threshold size to prevent extraneous serialization of uploaded data.
Defaults:com.liferay.portal.upload.LiferayFileItem.threshold.size=262144
Set the threshold size to prevent out of memory exceptions caused by caching excessively large uploaded data. Default is 1024 * 1024 * 10.
Defaults:com.liferay.portal.upload.LiferayInputStream.threshold.size=10485760
Set the HTTP and HTTPs ports when running the portal in a J2EE server that is sitting behind another web server like Apache. Set the values to -1 if the portal is not running behind another web server like Apache.
Defaults:web.server.http.port=-1 web.server.https.port=-1
Set the hostname that will be used when the portlet generates URLs. Leaving this blank will mean the host is derived from the servlet container.
Defaults:web.server.host=
Set the preferred protocol.
Examples:web.server.protocol=https
Set this to true to display the server name at the bottom of every page. This is useful when testing clustering configurations so that you can know which node you are accessing.
Defaults:web.server.display.node=false
Set this to true to enable support for legacy proxy servers (Apache 1.x).
Defaults:web.server.proxy.legacy.mode=false
Set a list of files for the WebDAV servlet to ignore processing.
Defaults:webdav.ignore=.DS_Store,.metadata_index_homes_only,.metadata_never_index,.Spotlight-V100,.TemporaryItems,.Trashes,Backups.backupdb
Specify the number of minutes before a generated nonce expires. When a client contacts the server with an expired nonce, the server will send back a HTTP error 401 with stale=true.
Defaults:webdav.nonce.expiration=30
Servlets can be protected by com.liferay.portal.servlet.filters.secure.SecureFilter.
Input a list of comma delimited IPs that can access this servlet. Input a blank list to allow any IP to access this servlet. SERVER_IP will be replaced with the IP of the host server.
Defaults:main.servlet.hosts.allowed=
Set this to true if this servlet can only be accessed via https.
Defaults:main.servlet.https.required=false
See the properties "main.servlet.hosts.allowed" and "main.servlet.https.required" on how to protect this servlet.
Defaults:atom.servlet.hosts.allowed=127.0.0.1,SERVER_IP atom.servlet.https.required=false
See the properties "main.servlet.hosts.allowed" and "main.servlet.https.required" on how to protect this servlet.
Defaults:axis.servlet.hosts.allowed=127.0.0.1,SERVER_IP axis.servlet.https.required=false
Set the paths which are allowed to be served from the Dynamic Resource Servlet scratch.
Defaults:dynamic.resource.servlet.allowed.paths=\ /sprite
Set the servlet mapping for the Google Gadget servlet.
Defaults:google.gadget.servlet.mapping=/google_gadget
See the properties "main.servlet.hosts.allowed" and "main.servlet.https.required" on how to protect this servlet.
Defaults:json.servlet.hosts.allowed= json.servlet.https.required=false
See the properties "main.servlet.hosts.allowed" and "main.servlet.https.required" on how to protect this servlet.
Defaults:jsonws.servlet.hosts.allowed= jsonws.servlet.https.required=false
Set the servlet mapping for the Netvibes servlet.
Defaults:netvibes.servlet.mapping=/netvibes
See the properties "main.servlet.hosts.allowed" and "main.servlet.https.required" on how to protect this servlet.
Defaults:spring.remoting.servlet.hosts.allowed=127.0.0.1,SERVER_IP spring.remoting.servlet.https.required=false
See the properties "main.servlet.hosts.allowed" and "main.servlet.https.required" on how to protect this servlet.
Defaults:tunnel.servlet.hosts.allowed=127.0.0.1,SERVER_IP tunnel.servlet.https.required=false
Set this to a comma delimited list of MIME types to send an Accept-Ranges header.
Defaults:web.server.servlet.accept.ranges.mime.types=audio/basic,audio/mid,audio/midi,audio/mod,audio/mp3,audio/mpeg,audio/mpeg3,audio/ogg,audio/vorbis,audio/wav,audio/x-mid,audio/x-midi,audio/x-mod,audio/x-mpeg,audio/x-pn-realaudio,audio/x-realaudio,audio/x-wav,video/avi,video/mp4,video/mpeg,video/ogg,video/quicktime,video/x-flv,video/x-m4v,video/x-ms-wmv,video/x-msvideo
Set this property to true to enable directory indexing.
Defaults:web.server.servlet.directory.indexing.enabled=false
Set the maximum range fields that are allowed to be requested by a browser.
Defaults:web.server.servlet.max.range.fields=10
Set the level of verbosity to use in the server information line printed by the web server servlet. Valid values are "full", which gives all of the version information (e.g. Liferay Portal Community Edition 6.1.0 CE etc.) or "partial", which gives only the name portion (e.g. Liferay Portal Community Edition).
Defaults:web.server.servlet.version.verbosity=full
See the properties "main.servlet.hosts.allowed" and "main.servlet.https.required" on how to protect this servlet.
Defaults:webdav.servlet.hosts.allowed= webdav.servlet.https.required=false
Set the servlet mapping for the Widget servlet.
Defaults:widget.servlet.mapping=/widget
Input a list of default group names separated by \n characters that are associated with newly created users.
Defaults:admin.default.group.names=
Input a list of default organization group names separated by \n characters that are associated with newly created users.
Defaults:admin.default.organization.group.names=
Input a list of default role names separated by \n characters that are associated with newly created users.
Defaults:admin.default.role.names=Power User\nUser
Input a list of default user group names separated by \n characters that are associated with newly created users.
Defaults:admin.default.user.group.names=
Set this to true to ensure that a user is synchronized with the default associations of groups, roles, and user groups upon every login. Set this to false if default associations should only be applied to a user when a user is created.
Defaults:admin.sync.default.associations=false
Input a list of mail host names separated by \n characters.
Defaults:admin.mail.host.names=
Input a list of reserved screen names separated by \n characters.
Defaults:admin.reserved.screen.names=
Input a list of reserved email addresses separated by \n characters.
Defaults:admin.reserved.email.addresses=
Configure email notification settings.
Defaults:admin.email.from.name=Joe Bloggs admin.email.from.address=test@liferay.comDefaults:
admin.email.user.added.enabled=true admin.email.user.added.subject=com/liferay/portlet/admin/dependencies/email_user_added_subject.tmpl admin.email.user.added.body=com/liferay/portlet/admin/dependencies/email_user_added_body.tmpl admin.email.user.added.no.password.body=com/liferay/portlet/admin/dependencies/email_user_added_no_password_body.tmplDefaults:
admin.email.password.reset.subject=com/liferay/portlet/admin/dependencies/email_password_reset_subject.tmpl admin.email.password.reset.body=com/liferay/portlet/admin/dependencies/email_password_reset_body.tmplDefaults:
admin.email.password.sent.subject=com/liferay/portlet/admin/dependencies/email_password_sent_subject.tmpl admin.email.password.sent.body=com/liferay/portlet/admin/dependencies/email_password_sent_body.tmplDefaults:
admin.email.verification.subject=com/liferay/portlet/admin/dependencies/email_verification_subject.tmpl admin.email.verification.body=com/liferay/portlet/admin/dependencies/email_verification_body.tmpl
Input a list of web analytics types separated by \n characters.
Defaults:admin.analytics.types=google\npiwik
Configure email notification settings.
Defaults:announcements.email.from.name= announcements.email.from.address=Defaults:
announcements.email.to.name= announcements.email.to.address=noreply@liferay.comDefaults:
announcements.email.subject=com/liferay/portlet/announcements/dependencies/email_subject.tmpl announcements.email.body=com/liferay/portlet/announcements/dependencies/email_body.tmpl
Set the list of announcement types. The display text of each of the announcement types is set in content/Language.properties.
Defaults:announcements.entry.types=general,news,test
Set the interval in minutes on how often CheckEntryMessageListener will run to check for new announcements. Users will be notified via email of new announcements.
Defaults:announcements.entry.check.interval=15
Set the available values for the number of announcements to display per page.
Defaults:announcements.entry.page.delta.values=5,10,20,30,50,75
Input a list of comma delimited default properties for new categories. Each item of the list should have the following format: "key:value".
Defaults:asset.categories.properties.default=
Set the following to false to specify that searching and browsing using categories should only show assets that have been assigned the selected category explicitly. When set to true, the children categories are also included in the search.
Defaults:asset.categories.search.hierarchical=true
Set the location of the XML file containing the configuration of the default display templates for the Asset Categories Navigation portlet.
Defaults:asset.categories.navigation.display.templates.config=com/liferay/portlet/assetcategoriesnavigation/dependencies/portlet-display-templates.xml
Set the maximum number of entries for the Asset Categories Selector. A value of -1 will load all entries and the results will be not paginated.
Defaults:asset.categories.selector.max.entries=50
Input a class name that extends com.liferay.portlet.asset.util.BaseAssetEntryValidator. This class will be called to validate entries. The DefaultAssetEntryValidator class is just an empty class that doesn't actually do any validation. The MinimalAssetEntryValidator requires all entities to have at least one tag.
Defaults:asset.entry.validator=com.liferay.portlet.asset.util.DefaultAssetEntryValidatorExamples:
asset.entry.validator=com.liferay.portlet.asset.util.MinimalAssetEntryValidator
Set the limit for results used when performing asset searches that are subsequently filtered by permissions.
Defaults:asset.filter.search.limit=200
Set this to true to enable permissions for tags. Note that this feature is deprecated and should only be enabled for backwards compatibility. If there is a requirement to use permissions for tags, consider using categories instead.
Defaults:asset.tag.permissions.enabled=false
Input a list of comma delimited default tag properties for new tags. Each item of the list should have the following format: "key:value".
Defaults:asset.tag.properties.default=
Set this to true to enable properties for tags. Note that this feature is deprecated and should only be enabled for backwards compatibility. If there is a requirement to use properties for tags, consider using categories instead.
Defaults:asset.tag.properties.enabled=false
Set this to true to enable tag suggestions.
Defaults:asset.tag.suggestions.enabled=true
Set the location of the XML file containing the configuration of the default display templates for the Asset Tags Navigation portlet.
Defaults:asset.tags.navigation.display.templates.config=com/liferay/portlet/assettagsnavigation/dependencies/portlet-display-templates.xml
Set the name of the vocabulary which will be created by default.
Defaults:asset.vocabulary.default=Topic
Set a property with the prefix "asset.renderer.enabled." and a suffix with the asset renderer factory class name to enable or disable an asset renderer factory. The default setting is true. See LPS-6085 for more information.
Examples:asset.renderer.enabled.com.liferay.portlet.documentlibrary.asset.DLFileEntryAssetRendererFactory=false asset.renderer.enabled.com.liferay.portlet.messageboards.asset.MBDiscussionAssetRendererFactory=false
Input a list of comma delimited class names that implement com.liferay.portlet.assetpublisher.util.AssetEntryQueryProcessor.
Defaults:asset.publisher.asset.entry.query.processors=com.liferay.portlet.assetpublisher.util.CustomUserAttributesAssetEntryQueryProcessor
Set the interval in hours on how often CheckAssetEntryMessageListener will run to check for new assets. Users will be notified via email of new assets.
Defaults:asset.publisher.check.interval=24
Configure email notification settings.
Defaults:asset.publisher.email.from.name= asset.publisher.email.from.address=Defaults:
asset.publisher.email.asset.entry.added.enabled=false asset.publisher.email.asset.entry.added.subject=com/liferay/portlet/assetpublisher/dependencies/email_asset_entry_added_subject.tmpl asset.publisher.email.asset.entry.added.body=com/liferay/portlet/assetpublisher/dependencies/email_asset_entry_added_body.tmpl
Set the name of the display style which will be used by default.
Defaults:asset.publisher.display.style.default=abstracts
Input a list of comma delimited display styles that will be available in the configuration screen of Asset Publisher portlet.
Defaults:asset.publisher.display.styles=table,title-list,abstracts,full-content
Set the location of the XML file containing the configuration of the default display templates for the Asset Publisher portlet.
Defaults:asset.publisher.display.templates.config=com/liferay/portlet/assetpublisher/dependencies/portlet-display-templates.xml
Set the maximum number of new entries to notify subscribers of Asset Publisher portlets. Set this property to 0 if there is no limit.
Defaults:asset.publisher.dynamic.subscription.limit=20
Input a list of sections that will be included as part of the asset publisher configuration form.
Defaults:asset.publisher.query.form.configuration=custom-user-attributes
Set this to true to search assets in Asset Publisher from the index. Set this to false to search assets in Asset Publisher from the database.
Defaults:asset.publisher.search.with.index=true
Set the location of the XML file containing the configuration of the default display templates for the Blogs portlet.
Defaults:blogs.display.templates.config=com/liferay/portlet/blogs/dependencies/portlet-display-templates.xml
Configure email notification settings.
Defaults:blogs.email.from.name= blogs.email.from.address=Defaults:
blogs.email.entry.added.enabled=true blogs.email.entry.added.subject=com/liferay/portlet/blogs/dependencies/email_entry_added_subject.tmpl blogs.email.entry.added.body=com/liferay/portlet/blogs/dependencies/email_entry_added_body.tmplDefaults:
blogs.email.entry.updated.enabled=true blogs.email.entry.updated.subject=com/liferay/portlet/blogs/dependencies/email_entry_updated_subject.tmpl blogs.email.entry.updated.body=com/liferay/portlet/blogs/dependencies/email_entry_updated_body.tmplDefaults:
blogs.page.abstract.length=400Defaults:
blogs.rss.abstract.length=200
Set the excerpt length for linkbacks.
Defaults:blogs.linkback.excerpt.length=200
Set the interval on which the LinkbackMessageListener will run. The value is set in one minute increments.
Defaults:blogs.linkback.job.interval=5
Set this to true to enable pingbacks.
Defaults:blogs.pingback.enabled=true
Set this to true to enable trackbacks.
Defaults:blogs.trackback.enabled=true
Set this to true to enable pinging Google on new and updated blog entries.
Defaults:blogs.ping.google.enabled=true
Set the interval in minutes on how often CheckEntryMessageListener will run to check for and display blog entries scheduled to display.
Defaults:blogs.entry.check.interval=1
Set this to true to enable comments for blogs entries.
Defaults:blogs.entry.comments.enabled=true
Set the available values for the number of blogs to display per page.
Defaults:blogs.entry.page.delta.values=5,10,20,30,50,75
Set this to true to enable previous and next navigation for blogs entries.
Defaults:blogs.entry.previous.and.next.navigation.enabled=true
Set the maximum file size and valid file extensions for images. A value of 0 for the maximum file size can be used to indicate unlimited file size. However, the maximum file size allowed is set in the property "com.liferay.portal.upload.UploadServletRequestImpl.max.size".
Defaults:blogs.image.small.max.size=51200
A file extension of * will permit all file extensions.
Defaults:blogs.image.extensions=.gif,.jpeg,.jpg,.png
Set this to true if blogs should be published to live by default.
Defaults:blogs.publish.to.live.by.default=false
Configure email notification settings.
Defaults:bookmarks.email.from.name= bookmarks.email.from.address=Defaults:
bookmarks.email.entry.added.enabled=true bookmarks.email.entry.added.subject=com/liferay/portlet/bookmarks/dependencies/email_entry_added_subject.tmpl bookmarks.email.entry.added.body=com/liferay/portlet/bookmarks/dependencies/email_entry_added_body.tmplDefaults:
bookmarks.email.entry.updated.enabled=true bookmarks.email.entry.updated.subject=com/liferay/portlet/bookmarks/dependencies/email_entry_updated_subject.tmpl bookmarks.email.entry.updated.body=com/liferay/portlet/bookmarks/dependencies/email_entry_updated_body.tmpl
Set this to true if bookmarks should be published to live by default.
Defaults:bookmarks.publish.to.live.by.default=true
Set the name of the display style which will be used by default.
Defaults:breadcrumb.display.style.default=horizontal
Specify the options that will be provided to the user in the edit configuration mode of the portlet.
Defaults:breadcrumb.display.style.options=horizontal,vertical
Set this to true to show the Guest Site as the top level parent in the breadcrumbs. It will only show if it has at least one page.
Defaults:breadcrumb.show.guest.group=false
Set this to true to show the path of parent sites or organizations in the breadcrumbs. A site will only be shown if it has at least one page.
Defaults:breadcrumb.show.parent.groups=true
Calendar
Configure email notification settings for discussions.
Defaults:discussion.email.comments.added.enabled=true discussion.email.subject=com/liferay/portlet/messageboards/dependencies/discussion_email_subject.tmpl discussion.email.body=com/liferay/portlet/messageboards/dependencies/discussion_email_body.tmpl
Set this to true if the subscription checkbox for discussion comments will be checked by default.
Defaults:discussion.subscribe.by.default=true
Set the thread view for discussion comments. This will affect Blogs, Document Library, and other portlets that use the Discussion tag library to provide comments. Set the value to "flat" to paginate comments. Set the value to "combination" to show all comments in one page along with a tree view of the comments.
Defaults:discussion.thread.view=flatExamples:
discussion.thread.view=combination
Set this property to true if users can edit their own discussion comments even if they do not have the permissions defined through the Site Members role.
Defaults:discussion.comments.always.editable.by.owner=false
Configure email notification settings.
Defaults:dl.email.from.name= dl.email.from.address=Defaults:
dl.email.file.entry.added.enabled=true dl.email.file.entry.added.subject=com/liferay/portlet/documentlibrary/dependencies/email_file_entry_added_subject.tmpl dl.email.file.entry.added.body=com/liferay/portlet/documentlibrary/dependencies/email_file_entry_added_body.tmplDefaults:
dl.email.file.entry.updated.enabled=true dl.email.file.entry.updated.subject=com/liferay/portlet/documentlibrary/dependencies/email_file_entry_updated_subject.tmpl dl.email.file.entry.updated.body=com/liferay/portlet/documentlibrary/dependencies/email_file_entry_updated_body.tmpl
Set this property to true to enable execution of antivirus check when files are submitted into a store. Setting this value to true will prevent any potential virus files from entering the store but will not allow for file quarantines.
Defaults:dl.store.antivirus.enabled=false
Set the name of a class that implements com.liferay.portlet.documentlibrary.antivirus.AntivirusScanner. The document library server will use this to scan documents for viruses.
Defaults:dl.store.antivirus.impl=com.liferay.portlet.documentlibrary.antivirus.DummyAntivirusScannerImplExamples:
dl.store.antivirus.impl=com.liferay.portlet.documentlibrary.antivirus.ClamAntivirusScannerImpl
Set the name of a class that implements com.liferay.portlet.documentlibrary.store.Store. The document library server will use this to persist documents.
Defaults:dl.store.impl=com.liferay.portlet.documentlibrary.store.FileSystemStoreExamples:
dl.store.impl=com.liferay.portlet.documentlibrary.store.AdvancedFileSystemStore dl.store.impl=com.liferay.portlet.documentlibrary.store.CMISStore dl.store.impl=com.liferay.portlet.documentlibrary.store.DBStore dl.store.impl=com.liferay.portlet.documentlibrary.store.JCRStore dl.store.impl=com.liferay.portlet.documentlibrary.store.S3Store
CMISStore
Defaults:dl.store.cmis.credentials.username=none dl.store.cmis.credentials.password=none dl.store.cmis.repository.url=http://localhost:8080/alfresco/service/api/cmis dl.store.cmis.system.root.dir=Liferay Home
FileSystemStore
Defaults:dl.store.file.system.root.dir=${liferay.home}/data/document_library
JCRStore
Defaults:dl.store.jcr.fetch.delay=500 dl.store.jcr.fetch.max.failures=5
Set this to true to allow version labels to be moved when updated. This provides a workaround to duplicate version labels that may result when using JCRStore.
Defaults:dl.store.jcr.move.version.labels=false
S3Store
Defaults:dl.store.s3.access.key= dl.store.s3.secret.key= dl.store.s3.bucket.name=
Set the number of days that files should be left in the temporary directory before they are deleted.
Defaults:dl.store.s3.temp.dir.clean.up.expunge=7
Set to the number of calls to S3Store#getFile() before triggering the clean up process.
Defaults:dl.store.s3.temp.dir.clean.up.frequency=100
Set the maximum file size and valid file extensions for documents. A value of 0 for the maximum file size can be used to indicate unlimited file size. However, the maximum file size allowed is set in the property "com.liferay.portal.upload.UploadServletRequestImpl.max.size".
Defaults:dl.file.max.size=0Examples:
dl.file.max.size=307200 dl.file.max.size=1024000 dl.file.max.size=3072000
A file extension of * will permit all file extensions.
Defaults:dl.file.extensions=*Examples:
dl.file.extensions=.bmp,.css,.doc,.docx,.dot,.gif,.gz,.htm,.html,.jpg,.js,.lar,.odb,.odf,.odg,.odp,.ods,.odt,.pdf,.png,.ppt,.pptx,.rtf,.swf,.sxc,.sxi,.sxw,.tar,.tiff,.tgz,.txt,.vsd,.xls,.xlsx,.xml,.zip,.jrxml
Set this to false to allow users to update file entries by uploading a file with an extension different from the one of the originally uploaded file. There is a known issue where setting this to true will break OSX compatibility. See LPS-10770 for more information.
Defaults:dl.file.extensions.strict.check=false
Characters that are not allowed in directory names and file names.
Defaults:dl.char.blacklist=\\\\,//,:,*,?,\",<,>,|,../,/..
Characters that are not allowed as the last character in directory names or file names.
Defaults:dl.char.last.blacklist=\\u0020,.
Directory names and file names that are blacklisted regardless of the extension.
Defaults:dl.name.blacklist=con,prn,aux,nul,com1,com2,com3,com4,com5,com6,com7,com8,com9,lpt1,lpt2,lpt3,lpt4,lpt5,lpt6,lpt7,lpt8,lpt9
You can map a PNG for generic thumbnails by adding the image to the theme's file system folder. For example, the generic thumbnail for documents can be found in: /html/themes/_unstyled/images/file_system/large/document.png.
Defaults:dl.file.generic.names=compressed,document,flash,image,music,pdf,presentation,spreadsheet,video dl.file.generic.extensions[compressed]=lar,rar,zip dl.file.generic.extensions[document]=doc,docx,pages,rtf,odt dl.file.generic.extensions[flash]=flv,swf dl.file.generic.extensions[image]=bmp,gif,jpeg,jpg,odg,png,svg dl.file.generic.extensions[music]=acc,mid,mp3,oga,ogg,wav,wma dl.file.generic.extensions[pdf]=pdf dl.file.generic.extensions[presentation]=key,keynote,odp,pps,ppt,pptx dl.file.generic.extensions[spreadsheet]=csv,numbers,ods,xls,xlsx dl.file.generic.extensions[video]=avi,m4v,mov,mp4,mpg,ogv,qt,rm,wmv
Set the maximum file size for indexing file contents. Files larger than this property will not have their contents indexed, only their metadata will be indexed. A value of -1 indicates that all file contents will be indexed. A value of 0 indicates that no file contents will be indexed.
Defaults:dl.file.indexing.max.size=10485760
Set the file extensions that will be ignored when indexing file contents. Files with these extensions will not have their contents indexed, only their metadata will be indexed.
Defaults:dl.file.indexing.ignore.extensions=Examples:
dl.file.indexing.ignore.extensions=.pdf,.ppt
You can map a GIF for the extension by adding the image to the theme's image display and document library folder. The wildcard extension of * will be ignored. For example, the default image for the DOC extension would be found in: /html/themes/_unstyled/images/file_system/small/doc.gif.
Defaults:dl.file.icons=.bmp,.css,.doc,.docx,.dot,.gif,.gz,.htm,.html,.jpeg,.jpg,.js,.lar,.odb,.odf,.odg,.odp,.ods,.odt,.pdf,.png,.ppt,.pptx,.rtf,.swf,.sxc,.sxi,.sxw,.tar,.tiff,.tgz,.txt,.vsd,.xls,.xlsx,.xml,.zip,.jrxml
Set which file extensions are comparable by the diff tool. Any binary files listed here will only be comparable if OpenOffice is enabled and the the file is convertable to text.
Defaults:dl.comparable.file.extensions=.css,.doc,.docx,.js,.htm,.html,.odt,.rtf,.sxw,.txt,.xml
Set this to true to enable comments for document library files.
Defaults:dl.file.entry.comments.enabled=true
Set this to true to enable conversions for document library files.
This property is not used unless OpenOffice is also enabled. See the property "openoffice.server.enabled".
Defaults:dl.file.entry.conversions.enabled=true
Set this to true to enable drafts for document library files.
Defaults:dl.file.entry.drafts.enabled=false
Set this to 0 to automatically cancel a check out if it times out. Set this to 1 to automatically check in if a check out times out.
Defaults:dl.file.entry.lock.policy=0
Set this to true to force users to perform a check in via the Document Library user interface when using the "Open in MS Office" feature. Set this to false to allow users to automatically check in the file upon closing the appropriate MS Office application.
Defaults:dl.file.entry.open.in.ms.office.manual.check.in.required=false
Input a list of comma delimited class names that implement com.liferay.portlet.documentlibrary.util.DLProcessor. These classes will trigger asynchronous processing for document library files.
com.liferay.portlet.documentlibrary.util.PDFProcessor will process all PDF files and, if OpenOffice is enabled, all formats convertable to PDF. Image generation will use PDFBox by default unless ImageMagick is enabled. PDFBox is less accurate in image generation and has trouble with certain fonts.
Defaults:dl.file.entry.processors=com.liferay.portlet.documentlibrary.util.AudioProcessorImpl,com.liferay.portlet.documentlibrary.util.ImageProcessorImpl,com.liferay.portlet.documentlibrary.util.PDFProcessorImpl,com.liferay.portlet.documentlibrary.util.RawMetadataProcessorImpl,com.liferay.portlet.documentlibrary.util.VideoProcessorImpl
Set the maximum file size for preview and thumbnail generation. Files larger than the value specified in this property will not result in the execution of a processor that generates a preview. A value of -1 indicates that all files will be processed. A value of 0 indicates that no files will be processed. The default maximum size is 100 megabytes.
Defaults:dl.file.entry.previewable.processor.max.size=104857600
Set this to 0 to force all updates to file entries to result in a new version. Set this to 1 to keep the version number if no changes are detected or if the only change is from a zero byte binary to a non-zero byte binary.
Defaults:dl.file.entry.version.policy=1
Set the interval in minutes on how often CheckFileRankMessageListener will run to check for and remove file ranks in excess of the maximum number of file ranks to maintain per user per file.
Defaults:dl.file.rank.check.interval=15
Set this to true to enable file rank for document library files.
Defaults:dl.file.rank.enabled=true
Set the maximum number of file ranks to maintain per user per file.
Defaults:dl.file.rank.max.size=5
Set the values related to preview and thumbnail generation for document library files. The classes enabled under "dl.file.entry.processors" will utilize these parameters to generate the necessary files.
Some parameters are applied universally across all processors (e.g., dl.file.entry.thumbnail.max.height) while others are specific to certain types of generation, as specified (e.g., dl.file.entry.preview.document.depth).
See the properties "imagemagick.enabled", "openoffice.server.enabled", and "xuggler.enabled".
Defaults:dl.file.entry.preview.enabled=true dl.file.entry.preview.document.depth=8 dl.file.entry.preview.document.dpi=300 dl.file.entry.preview.document.max.height=0 dl.file.entry.preview.document.max.width=1000 dl.file.entry.preview.video.height=360 dl.file.entry.preview.video.width=640 dl.file.entry.thumbnail.enabled=true dl.file.entry.thumbnail.max.height=128 dl.file.entry.thumbnail.max.width=128 dl.file.entry.thumbnail.video.frame.percentage=25Examples:
dl.file.entry.thumbnail.custom1.max.height=100 dl.file.entry.thumbnail.custom1.max.width=100 dl.file.entry.thumbnail.custom2.max.height=0 dl.file.entry.thumbnail.custom2.max.width=0
Input a list of comma delimited audio containers for preview files. The supported formats are MP3 and OGG.
Defaults:dl.file.entry.preview.audio.containers=mp3,oggExamples:
dl.file.entry.preview.audio.containers=mp3 dl.file.entry.preview.audio.containers=ogg
Set the bit rate and sample rate values for each audio container format.
Bit rates will be capped at 500000. A value less than 0 will be defaulted to 64000.
Sample rates will be capped at 192000. A value less than 0 will be defaulted to 44100.
Note that some audio container formats may not support the maximum capped values. Care should be taken not to exceed the value allowed by the given format.
Defaults:dl.file.entry.preview.audio.bit.rate[mp3]=64000 dl.file.entry.preview.audio.sample.rate[mp3]=44100Defaults:
dl.file.entry.preview.audio.bit.rate[ogg]=64000 dl.file.entry.preview.audio.sample.rate[ogg]=44100
Input a list of comma delimited audio MIME types that will trigger generation of audio previews.
Defaults:dl.file.entry.preview.audio.mime.types=audio/basic,audio/mid,audio/midi,audio/mod,audio/mp3,audio/mpeg,audio/mpeg3,audio/ogg,audio/vorbis,audio/wav,audio/x-mid,audio/x-midi,audio/x-mod,audio/x-mpeg,audio/x-pn-realaudio,audio/x-realaudio,audio/x-wav
Set this to true to generate document previews automatically when upgrading to 6.1. Setting this to true will cause your upgrade to take longer. If set to false, previews for a document will be generated the first time it is accessed by an end user.
Defaults:dl.file.entry.preview.auto.create.on.upgrade=false
Set this to true if you want preview generation to use a separate Java process. This will utilize extra resources from the operating system while improving the portal's stability.
Defaults:dl.file.entry.preview.fork.process.enabled=true
Input a list of comma delimited video MIME types that will trigger generation of image previews.
Defaults:dl.file.entry.preview.image.mime.types=image/bmp,image/gif,image/jpeg,image/pjpeg,image/png,image/tiff,image/x-citrix-jpeg,image/x-citrix-png,image/x-ms-bmp,image/x-png,image/x-tiff
Input a list of comma delimited video containers for preview files. The only formats supported are MP4 and OGV.
Defaults:dl.file.entry.preview.video.containers=mp4,ogvExamples:
dl.file.entry.preview.video.containers=mp4 dl.file.entry.preview.video.containers=ogv
Set the bit rate and frame rate values for each preview video container format.
Bit rates will be capped at 1200000. A value less than 0 will be defaulted to 250000.
Frame rates are determined by a numerator divided by a denominator. If either value is less than 0, then the input video's frame rate will be used.
Defaults:dl.file.entry.preview.video.bit.rate[mp4]=250000 dl.file.entry.preview.video.frame.rate.denominator[mp4]=1 dl.file.entry.preview.video.frame.rate.numerator[mp4]=30Defaults:
dl.file.entry.preview.video.bit.rate[ogv]=250000 dl.file.entry.preview.video.frame.rate.denominator[ogv]=-1 dl.file.entry.preview.video.frame.rate.numerator[ogv]=-1
Input a list of comma delimited video MIME types that will trigger generation of video previews.
Defaults:dl.file.entry.preview.video.mime.types=video/avi,video/mp4,video/mpeg,video/ogg,video/quicktime,video/x-flv,video/x-m4v,video/x-ms-wmv,video/x-msvideo
When migrating images from the Image Gallery (this is only applicable if upgrading from a version prior to Liferay 6.1) to the Document Library, images will be migrated as documents of the type "Image Gallery Image". Asset Publishers configured to display Image Gallery images will display this document type instead after the migration. Set this property to false to migrate Image Gallery images as basic documents instead. This property will not work unless the property "application.startup.events" includes com.liferay.portal.events.AddDefaultDataAction, which it does by default.
Defaults:dl.file.entry.type.ig.image.auto.create.on.upgrade=true
Set this to true if document library should be published to live by default.
Defaults:dl.publish.to.live.by.default=true
Input a list of comma delimited class names of the third party repositories that extend com.liferay.portal.kernel.repository.BaseRepositoryImpl.
Defaults:dl.repository.impl=com.liferay.portal.repository.cmis.CMISAtomPubRepository,com.liferay.portal.repository.cmis.CMISWebServicesRepository
Sets the depth of mapped CMIS entries to remove when a deletion is called from within the portal. The deeper the setting, the more calls to the server required. When a deletion is called from outside the portal, mapped CMIS entries remain stagnant in the database. Expected values are: -1 for deep, 0 for none, and 1 for shallow.
Defaults:dl.repository.cmis.delete.depth=1
Set the location of the XML file containing the configuration of the default display templates for the Document Library portlet.
Defaults:dl.display.templates.config=com/liferay/portlet/documentlibrary/dependencies/portlet-display-templates.xml
Set the list of supported display views.
Defaults:dl.display.views=icon,descriptive,list
Set the default display view.
Defaults:dl.default.display.view=icon
Set this to true to show a tip for using Liferay Sync.
Defaults:dl.show.liferay.sync.message=true
Set the portlet ids that will be shown directly in the "Add Application" menu.
Defaults:dockbar.add.portlets=56,101,110,71
Set this to true if administrative links in the dockbar should be shown in a pop up window. The links under the "Manage" menu and the "Manage My Account" link are considered administrative links.
Defaults:dockbar.administrative.links.show.in.pop.up=true
Set this to true if Dynamic Data Lists record set keys should always be autogenerated.
Defaults:dynamic.data.lists.record.set.force.autogenerate.key=false
Set the storage type that will be used to store the Dynamic Data Lists records. Valid values are: expando and xml.
Defaults:dynamic.data.lists.storage.type=xml
Specify the path to the template used for providing error messages on Dynamic Data Lists templates.
Defaults:dynamic.data.lists.error.template[ftl]=com/liferay/portlet/dynamicdatalists/dependencies/error.ftl dynamic.data.lists.error.template[vm]=com/liferay/portlet/dynamicdatalists/dependencies/error.vm
Set the maximum file size and valid file extensions for images. A value of 0 for the maximum file size can be used to indicate unlimited file size. However, the maximum file size allowed is set in the property "com.liferay.portal.upload.UploadServletRequestImpl.max.size".
Defaults:dynamic.data.mapping.image.small.max.size=51200
A file extension of * will permit all file extensions.
Defaults:dynamic.data.mapping.image.extensions=.gif,.jpeg,.jpg,.png
Set this to true if dynamic data mapping structure keys should always be autogenerated.
Defaults:dynamic.data.mapping.structure.force.autogenerate.id=false
Set the private field names to be able to store fields that are not part of the structure.
Defaults:dynamic.data.mapping.structure.private.field.names=_fieldsDisplay
Set the data type for each private field.
Defaults:dynamic.data.mapping.structure.private.field.datatype[_fieldsDisplay]=string
Set the repeatable for each private field.
Defaults:dynamic.data.mapping.structure.private.field.repeatable[_fieldsDisplay]=false
Set the name of template language which will be used by default.
Defaults:dynamic.data.mapping.template.language.default=ftl
Set the location of the default content for each language type.
Defaults:dynamic.data.mapping.template.language.content[ftl]=com/liferay/portlet/dynamicdatamapping/dependencies/template.ftl dynamic.data.mapping.template.language.content[vm]=com/liferay/portlet/dynamicdatamapping/dependencies/template.vm dynamic.data.mapping.template.language.content[xsl]=com/liferay/portlet/dynamicdatamapping/dependencies/template.xsl
Input a list of questions used for flag reasons.
Defaults:flags.reasons=sexual-content,violent-or-repulsive-content,hateful-or-abusive-content,harmful-dangerous-acts,spam,infringes-my-rights
Configure email notification settings.
Defaults:flags.email.from.name= flags.email.from.address=Defaults:
flags.email.subject=com/liferay/portlet/flags/dependencies/email_flag_subject.tmpl flags.email.body=com/liferay/portlet/flags/dependencies/email_flag_body.tmpl
Set this to true to enable guest users to flag content.
Defaults:flags.guest.users.enabled=false
Configure maximum number of items to display when using the Icon Menu tag library. If the number of items is higher than the maximum allowed, then the icon menu will provide an autocomplete search box to display the items.
Defaults:icon.menu.max.display.items=15
Specify a role name that a user must be associated with in order to configure the IFrame portlet to use the @password@ token. This token is used to post the password of users who access this portlet in order to automatically login to the framed site.
No role is required by default. However, it is recommended that you specify a role in high security environments where users who configure this portlet may attempt password theft. See LPS-5272 for more information.
Defaults:iframe.password.token.role=
invitation.email.max.recipients=20 invitation.email.message.body=com/liferay/portlet/invitation/dependencies/email_message_body.tmpl invitation.email.message.subject=com/liferay/portlet/invitation/dependencies/email_message_subject.tmpl
Set the list of supported display views.
Defaults:journal.display.views=icon,descriptive,list
Set the default display view.
Defaults:journal.default.display.view=descriptive
Set this to true to expire all article versions when expiring an article. Set this to false to only expire the latest approved article version when expiring an article.
Defaults:journal.article.expire.all.versions=true
Input a list of sections that will be included as part of the article form when adding an article.
Defaults:journal.article.form.add=content,abstract,categorization,schedule,display-page,related-assets,permissions,custom-fields
Input a list of sections that will be included as part of the article form when defining the default values of a structure.
Defaults:journal.article.form.default.values=content,abstract,categorization,display-page,related-assets,permissions,custom-fields
Input a list of sections that will be included as part of the article form when translating an article.
Defaults:journal.article.form.translate=content,abstract
Input a list of sections that will be included as part of the article form when updating an article.
Defaults:journal.article.form.update=content,abstract,categorization,schedule,display-page,related-assets,custom-fields
Set this to true if article ids should always be autogenerated.
Defaults:journal.article.force.autogenerate.id=true
Set the list of article types. The display text of each of the article types is set in content/Language.properties.
Defaults:journal.article.types=announcements,blogs,general,news,press-release,test
Set a list of custom tokens that will be replaced when article content is rendered. For example, if set to "custom_token_1", then "@custom_token_1@" will be replaced with its token value before an article is displayed.
Examples:journal.article.custom.tokens=custom_token_1,custom_token_2 journal.article.custom.token.value[custom_token_1]=This is the first custom token. journal.article.custom.token.value[custom_token_2]=This is the second custom token.
Set the token used when inserting simple page breaks in articles.
Defaults:journal.article.token.page.break=@page_break@
Set the interval in minutes on how often CheckArticleMessageListener will run to check for and send email on web content due for review.
Defaults:journal.article.check.interval=15
Set the storage type that will be used to store the Journal articles. Valid values are: expando and xml.
Defaults:journal.article.storage.type=xml
Set this to true to check that a user has the VIEW permission on a Journal article when its content is rendered.
Defaults:journal.article.view.permission.check.enabled=false
Set this to true to enable comments for journal articles.
Defaults:journal.article.comments.enabled=true
Set this to true if feed ids should always be autogenerated.
Defaults:journal.feed.force.autogenerate.id=true
Set the location of the default content for each language type.
Defaults:journal.template.language.content[css]=com/liferay/portlet/journal/dependencies/template.css journal.template.language.content[ftl]=com/liferay/portlet/journal/dependencies/template.ftl journal.template.language.content[vm]=com/liferay/portlet/journal/dependencies/template.vm journal.template.language.content[xsl]=com/liferay/portlet/journal/dependencies/template.xsl
Set the maximum file size and valid file extensions for images. A value of 0 for the maximum file size can be used to indicate unlimited file size. However, the maximum file size allowed is set in the property "com.liferay.portal.upload.UploadServletRequestImpl.max.size".
Defaults:journal.image.small.max.size=51200
A file extension of * will permit all file extensions.
Defaults:journal.image.extensions=.gif,.jpeg,.jpg,.png
Input a list of comma delimited class names that extend com.liferay.portal.kernel.templateparser.BaseTransformerListener. These classes will run in sequence to allow you to modify the XML and XSL before it is transformed and allow you to modify the final output.
Defaults:journal.transformer.listener=\ com.liferay.portlet.journal.util.TokensTransformerListener,\ #com.liferay.portlet.journal.util.PropertiesTransformerListener,\ com.liferay.portlet.journal.util.ContentTransformerListener,\ com.liferay.portlet.journal.util.LocaleTransformerListener,\ com.liferay.portlet.journal.util.RegexTransformerListener,\ com.liferay.portlet.journal.util.ViewCounterTransformerListener
Enter a list of regular expression patterns and replacements that will be applied to outputted Journal content. The list of properties must end with a subsequent integer (0, 1, etc.) and it is assumed that the list has reached an end when the pattern or replacement is not set. See com.liferay.portlet.journal.util.RegexTransformerListener for implementation details.
Examples:journal.transformer.regex.pattern.0=beta.sample.com journal.transformer.regex.replacement.0=production.sample.com journal.transformer.regex.pattern.1=staging.sample.com journal.transformer.regex.replacement.1=production.sample.com
Set this to true if journal articles should be published to live by default.
Defaults:journal.publish.to.live.by.default=true
Set this to false if only the latest approved version of journal articles should be published by default.
Defaults:journal.publish.version.history.by.default=true
Set whether to synchronize content searches when the server starts.
Defaults:journal.sync.content.search.on.startup=false
Configure email notification settings.
Defaults:journal.email.from.name= journal.email.from.address=Defaults:
journal.email.article.added.enabled=true journal.email.article.added.subject=com/liferay/portlet/journal/dependencies/email_article_added_subject.tmpl journal.email.article.added.body=com/liferay/portlet/journal/dependencies/email_article_added_body.tmplDefaults:
journal.email.article.approval.denied.enabled=false journal.email.article.approval.denied.subject=com/liferay/portlet/journal/dependencies/email_article_approval_denied_subject.tmpl journal.email.article.approval.denied.body=com/liferay/portlet/journal/dependencies/email_article_approval_denied_body.tmplDefaults:
journal.email.article.approval.granted.enabled=false journal.email.article.approval.granted.subject=com/liferay/portlet/journal/dependencies/email_article_approval_granted_subject.tmpl journal.email.article.approval.granted.body=com/liferay/portlet/journal/dependencies/email_article_approval_granted_body.tmplDefaults:
journal.email.article.approval.requested.enabled=false journal.email.article.approval.requested.subject=com/liferay/portlet/journal/dependencies/email_article_approval_requested_subject.tmpl journal.email.article.approval.requested.body=com/liferay/portlet/journal/dependencies/email_article_approval_requested_body.tmplDefaults:
journal.email.article.review.enabled=true journal.email.article.review.subject=com/liferay/portlet/journal/dependencies/email_article_review_subject.tmpl journal.email.article.review.body=com/liferay/portlet/journal/dependencies/email_article_review_body.tmplDefaults:
journal.email.article.updated.enabled=true journal.email.article.updated.subject=com/liferay/portlet/journal/dependencies/email_article_updated_subject.tmpl journal.email.article.updated.body=com/liferay/portlet/journal/dependencies/email_article_updated_body.tmpl
Specify the strategy used when Journal content is imported using the LAR system.
Defaults:journal.lar.creation.strategy=com.liferay.portlet.journal.lar.JournalCreationStrategyImpl
Specify the path to the template used for providing error messages on Journal templates.
Defaults:journal.error.template[ftl]=com/liferay/portlet/journal/dependencies/error.ftl journal.error.template[vm]=com/liferay/portlet/journal/dependencies/error.vm journal.error.template[xsl]=com/liferay/portlet/journal/dependencies/error.xsl
Set the available values for the number of articles to display per page.
Defaults:journal.articles.page.delta.values=5,10,20,30,50,75
Set this to true to search articles from the index. Set this to false to search articles from the database. Note that setting this to false will disable searching articles based on Expando attributes or Message Boards discussions or article versions.
Defaults:journal.articles.search.with.index=true
Journal Content Portlet
Set whether unlisted articles are excluded from search results.
Defaults:journal.content.search.show.listed=true
Configure email notification settings.
Defaults:login.email.from.name= login.email.from.address=
Set this to true to allow the user to choose a password during account creation.
Defaults:login.create.account.allow.custom.password=false
Set this to true to disable the login popup dialog. This should only be set to true if there is a custom login portlet that needs the "Sign In" link to redirect to another page.
Defaults:login.dialog.disabled=false
Input a list of sections that will be included in login form navigation.
Defaults:login.form.navigation.pre=anonymous,sign-in,facebook,open-id login.form.navigation.post=create-account,forgot-password
Configure email notification settings.
Defaults:message.boards.email.from.name= message.boards.email.from.address= message.boards.email.bulk=true message.boards.email.html.format=trueDefaults:
message.boards.email.message.added.enabled=true message.boards.email.message.added.subject=com/liferay/portlet/messageboards/dependencies/email_message_added_subject.tmpl message.boards.email.message.added.body=com/liferay/portlet/messageboards/dependencies/email_message_added_body.tmpl message.boards.email.message.added.signature=com/liferay/portlet/messageboards/dependencies/email_message_added_signature.tmplDefaults:
message.boards.email.message.updated.enabled=true message.boards.email.message.updated.subject=com/liferay/portlet/messageboards/dependencies/email_message_updated_subject.tmpl message.boards.email.message.updated.body=com/liferay/portlet/messageboards/dependencies/email_message_updated_body.tmpl message.boards.email.message.updated.signature=com/liferay/portlet/messageboards/dependencies/email_message_updated_signature.tmpl
Set the name of the category display style which will be used by default.
Defaults:message.boards.category.display.styles.default=default
Specify the options that will be provided to the user when editing a category.
Defaults:message.boards.category.display.styles=default,question
Set the list of supported message board formats and the default message board format.
Defaults:message.boards.message.formats=bbcode,html message.boards.message.formats.default=bbcode
Set this to true to allow anonymous posting.
Defaults:message.boards.anonymous.posting.enabled=true
Set this to true if users are subscribed by default to a thread they participate in.
Defaults:message.boards.subscribe.by.default=true
Enter time in minutes on how often this job is run. If a user's ban is set to expire at 12:05 PM and the job runs at 2 PM, the expire will occur during the 2 PM run.
Defaults:message.boards.expire.ban.job.interval=120
Enter time in days to automatically expire bans on users. Set this property or the property "message.boards.expire.ban.job.interval" to 0 to disable auto expire.
Defaults:message.boards.expire.ban.interval=10Examples:
message.boards.expire.ban.interval=0
Set this to true to enable pingbacks.
Defaults:message.boards.pingback.enabled=trueDefaults:
message.boards.rss.abstract.length=200
Set this to true to enable previous and next navigation for message board threads.
Defaults:message.boards.thread.previous.and.next.navigation.enabled=true
Set the allowed thread views and the default thread view.
Defaults:message.boards.thread.views=combination,flat,tree message.boards.thread.views.default=combination
Set this to true if message boards should be published to live by default.
Defaults:message.boards.publish.to.live.by.default=false
Set the display style for the My Places navigation menu.
Defaults:my.sites.display.style=simpleExamples:
my.sites.display.style=classic
Set this to true to show user public sites with no layouts.
Defaults:my.sites.show.user.public.sites.with.no.layouts=true
Set this to true to show user private sites with no layouts.
Defaults:my.sites.show.user.private.sites.with.no.layouts=true
Set this to true to show public sites with no layouts.
Defaults:my.sites.show.public.sites.with.no.layouts=true
Set this to true to show site private sites with no layouts.
Defaults:my.sites.show.private.sites.with.no.layouts=true
Set the maximum number of elements that will be shown in the My Sites navigation menu. For example, if the maximum is set to 10, then, at most, 10 sites will be shown.
Defaults:my.sites.max.elements=10
Set the name of the display style which will be used by default.
Defaults:navigation.display.style.default=relative-with-breadcrumb
Specify the options that will be provided to the user in the edit configuration mode of the portlet.
Defaults:navigation.display.style.options=relative-with-breadcrumb,from-level-2-with-title,from-level-1-with-title,from-level-1,from-level-1-to-all-sublevels,from-level-0
Define each mode with four comma delimited strings that represent the form: headerType, rootLayoutType, rootLayoutLevel, includedLayouts, and nestedChildren.
Defaults:navigation.display.style[relative-with-breadcrumb]=breadcrumb,relative,0,auto,true navigation.display.style[from-level-2-with-title]=root-layout,absolute,2,auto,true navigation.display.style[from-level-1-with-title]=root-layout,absolute,1,auto,true navigation.display.style[from-level-1]=none,absolute,1,auto,true navigation.display.style[from-level-1-to-all-sublevels]=none,absolute,1,all,true navigation.display.style[from-level-0]=none,absolute,0,auto,true
Set the id of the layout template which will be used by default.
Defaults:nested.portlets.layout.template.default=2_columns_i
Add a comma delimited list of layout template ids that should not be allowed in the Nested Portlets portlet.
Defaults:nested.portlets.layout.template.unsupported=freeform,1_column
Set this to true to enable access to the Look and Feel icon. Setting it to false will disable the ability to modify the portlet CSS at runtime, which can speed up performance.
Defaults:portlet.css.enabled=true
Set the number of stars that will be used by the ratings tag library by default.
Defaults:ratings.default.number.of.stars=5
Set the number of max score and min score that will be used by the ratings tag library for each model.
Defaults:ratings.max.score[com.liferay.portlet.messageboards.model.MBDiscussion]=1 ratings.min.score[com.liferay.portlet.messageboards.model.MBDiscussion]=-1Defaults:
ratings.max.score[com.liferay.portlet.messageboards.model.MBMessage]=1 ratings.min.score[com.liferay.portlet.messageboards.model.MBMessage]=-1
Configure maximum number of items to display per type in the Recent Content portlet.
Defaults:recent.content.max.display.items=5
Set the HTTP connection timeout in milliseconds for reading RSS feeds.
Defaults:rss.connection.timeout=2000
Set the location of the default JSON object for the facets configured in the Search portlet.
Defaults:search.facet.configuration=com/liferay/portlet/search/dependencies/facet_configuration.json
Set any of these to false to disable the portlet from being searched by the Search portlet.
Defaults:com.liferay.portlet.blogs.util.BlogsOpenSearchImpl=true com.liferay.portlet.bookmarks.util.BookmarksOpenSearchImpl=true com.liferay.portlet.directory.util.DirectoryOpenSearchImpl=true com.liferay.portlet.documentlibrary.util.DLOpenSearchImpl=true com.liferay.portlet.journal.util.JournalOpenSearchImpl=true com.liferay.portlet.messageboards.util.MBOpenSearchImpl=true com.liferay.portlet.wiki.util.WikiOpenSearchImpl=true
Specify a list of comma delimited site names that are excluded from determining the organizations, user groups, and users that are displayed in My Sites Directory portlet.
Defaults:my.sites.directory.site.excludes=
Set this to true to allow site members to see the Sites Admin portlet and the sites they are members of in the Control Panel. Setting this to false will only allow administrators to see this portlet in the Control Panel.
Defaults:sites.control.panel.members.visible=true
Input a list of sections that will be included as part of the form when adding a site.
Defaults:sites.form.add.main=details,categorization sites.form.add.seo= sites.form.add.advanced= sites.form.add.miscellaneous=
Input a list of sections that will be included as part of the form when updating a site.
Defaults:sites.form.update.main=details,categorization,site-url,site-template sites.form.update.seo=sitemap,robots sites.form.update.advanced=default-user-associations,staging,analytics,content-sharing,recycle-bin sites.form.update.miscellaneous=custom-fields,display-settings
Set this property to 0 to disable the Sharing of Content with subsites for all sites. Set this property to 1 to disable it by default while allowing site administrators to enable it per site. Set this property to 2 to enable it by default while allowing site administrators to disable it per site.
Defaults:sites.content.sharing.with.children.enabled=2Examples:
sites.content.sharing.with.children.enabled==0 sites.content.sharing.with.children.enabled==1
Set this property to true to let every site administrator share content across sites he manages.
Defaults:sites.content.sharing.through.administrators.enabled=true
Configure email notification settings.
Defaults:sites.email.from.name= sites.email.from.address=Defaults:
sites.email.membership.reply.subject=com/liferay/portlet/sites/dependencies/email_membership_reply_subject.tmpl sites.email.membership.reply.body=com/liferay/portlet/sites/dependencies/email_membership_reply_body.tmplDefaults:
sites.email.membership.request.subject=com/liferay/portlet/sites/dependencies/email_membership_request_subject.tmpl sites.email.membership.request.body=com/liferay/portlet/sites/dependencies/email_membership_request_body.tmpl
Set the default change frequency for pages. This change frequency value will be used by the robots visiting the pages. Possible values are: always, hourly, daily, weekly, monthly, yearly, or never.
Defaults:sites.sitemap.default.change.frequency=daily
Set the default priority for pages. This priority value will used by the robots visiting the pages. The possible value range is 0.0 to 1.0.
Defaults:sites.sitemap.default.priority=
Set this to true if cart quantities must be a multiple of the item's minimum quantity.
Defaults:shopping.cart.min.qty.multiple=true
Set this to true to forward to the cart page when adding an item from the category page. The item must not have dynamic fields. All items with dynamic fields will forward to the item's details page regardless of the following setting.
Defaults:shopping.category.forward.to.cart=false
Set this to true to show special items when browsing a category.
Defaults:shopping.category.show.special.items=false
Set this to true to show availability when viewing an item.
Defaults:shopping.item.show.availability=true
Set the maximum file size and valid file extensions for images. A value of 0 for the maximum file size can be used to indicate unlimited file size. However, the maximum file size allowed is set in the property "com.liferay.portal.upload.UploadServletRequestImpl.max.size".
Defaults:shopping.image.small.max.size=51200 shopping.image.medium.max.size=153600 shopping.image.large.max.size=307200
A file extension of * will permit all file extensions.
Defaults:shopping.image.extensions=.gif,.jpeg,.jpg,.png
Configure email notification settings.
Defaults:shopping.email.from.name= shopping.email.from.address=Defaults:
shopping.email.order.confirmation.enabled=true shopping.email.order.confirmation.subject=com/liferay/portlet/shopping/dependencies/email_order_confirmation_subject.tmpl shopping.email.order.confirmation.body=com/liferay/portlet/shopping/dependencies/email_order_confirmation_body.tmplDefaults:
shopping.email.order.shipping.enabled=true shopping.email.order.shipping.subject=com/liferay/portlet/shopping/dependencies/email_order_shipping_subject.tmpl shopping.email.order.shipping.body=com/liferay/portlet/shopping/dependencies/email_order_shipping_body.tmpl
Set this to true to enable comments for shopping orders.
Defaults:shopping.order.comments.enabled=true
Set the location of the XML file containing the configuration of the default display templates for the Site Map portlet.
Defaults:sitemap.display.templates.config=com/liferay/portlet/sitemap/dependencies/portlet-display-templates.xml
Set the maximum file size and dimensions for thumbnails. A value of 0 for the maximum file size can be used to indicate unlimited file size. However, the maximum file size allowed is set in the property "com.liferay.portal.upload.UploadServletRequestImpl.max.size".
Defaults:sc.image.max.size=307200 sc.image.thumbnail.max.height=200 sc.image.thumbnail.max.width=160
Set this to true to enable comments for software catalog products.
Defaults:sc.product.comments.enabled=true
Set this to true to enable the ability to compile tags from the URL. Disabling it can speed up performance.
Defaults:tags.compiler.enabled=true
Input a list of comma delimited languages.
Defaults:translator.languages=ar,bg,ca,cs,da,de,el,en,es,et,fi,fr,hi_IN,ht,hu,in,it,iw,ja,ko,lt,lv,mww,nb,nl,pl,pt_PT,ro,ru,sk,sl,sv,th,tr,uk,vi,zh_CN,zh_TW
Set the default languages to translate a given text.
Defaults:translator.default.languages=en_es
Set this property to false to disable the Recycle Bin for all sites. Set this property to true to enabling while allowing site administrators to disable it per site.
Defaults:trash.enabled=trueExamples:
trash.enabled=false
Set the limit for results used when performing searches in the Recycle Bin.
Defaults:trash.search.limit=500
Set the interval in minutes on how often CheckEntryMessageListener will run to check for and delete trash entries that have been in the Recycle Bin longer than the maximum age.
Defaults:trash.entry.check.interval=60
Set this to the maximum age (in number of minutes) that an entry will be kept in the Recycle Bin. Note that these settings may be overridden in Portal Settings for each Portal or in Site Settings for each Site.
Defaults:trash.entries.max.age=43200
Set the location of the XML file containing the configuration of the default display templates for the Wiki portlet.
Defaults:wiki.display.templates.config=com/liferay/portlet/wiki/dependencies/portlet-display-templates.xml
Set the name of the default page for a wiki node. The name for the default page must be a valid wiki word. A wiki word follows the format of having an upper case letter followed by a series of lower case letters followed by another upper case letter and another series of lower case letters. See http://www.usemod.com/cgi-bin/wiki.pl?WhatIsaWiki for more information on wiki naming conventions.
Defaults:wiki.front.page.name=FrontPage
Set the name of the default node that will be automatically created when the Wiki portlet is first used in a site.
Defaults:wiki.initial.node.name=Main
Specify the requirements for the names of wiki pages. By default only a few characters are forbidden. Uncomment the regular expression below to allow only CamelCase titles.
Defaults:wiki.page.titles.regexp=([^\\\\\\[\\]\\|:;%<>]+)Examples:
wiki.page.titles.regexp=(((\\p{Lu}\\p{Ll}+)_?)+)
Specify the characters that will be automatically removed from the titles when importing wiki pages. This regexp should remove any characters that are forbidden in the regexp specified in the property "wiki.page.titles.regexp".
Defaults:wiki.page.titles.remove.regexp=([\\\\\\[\\]\\|:;%<>]+)
Set this to true to enable ratings for wiki pages.
Defaults:wiki.page.ratings.enabled=true
Set this to true to enable comments for wiki pages.
Defaults:wiki.page.comments.enabled=true
Set this to true to enable social activity notifications on minor edits of a wiki page.
Defaults:wiki.page.minor.edit.add.social.activity=true
Set this to true to enable email notifications on minor edits of a wiki page.
Defaults:wiki.page.minor.edit.send.email=false
Set the list of supported wiki formats and the default wiki format.
Defaults:wiki.formats=creole,html,mediawiki wiki.formats.default=creole
Configure settings for each of the wiki formats.
Defaults:wiki.formats.engine[creole]=com.liferay.portlet.wiki.engines.antlrwiki.CreoleWikiEngine wiki.formats.configuration.main[creole]=jspwiki.properties wiki.formats.edit.page[creole]=/html/portlet/wiki/edit/wiki.jsp wiki.formats.help.page[creole]=/html/portlet/wiki/help/creole.jsp wiki.formats.help.url[creole]=http://www.wikicreole.org/wiki/Creole1.0Examples:
wiki.formats.engine[creole]=com.liferay.portlet.wiki.engines.jspwiki.JSPWikiEngineDefaults:
wiki.formats.engine[html]=com.liferay.portlet.wiki.engines.HtmlEngine wiki.formats.edit.page[html]=/html/portlet/wiki/edit/html.jspDefaults:
wiki.formats.engine[mediawiki]=com.liferay.portlet.wiki.engines.mediawiki.MediaWikiEngine wiki.formats.edit.page[mediawiki]=/html/portlet/wiki/edit/wiki.jsp wiki.formats.help.page[mediawiki]=/html/portlet/wiki/help/mediawiki.jsp wiki.formats.help.url[mediawiki]=http://www.mediawiki.org/wiki/Help:FormattingDefaults:
wiki.formats.engine[plain_text]=com.liferay.portlet.wiki.engines.TextEngine wiki.formats.edit.page[plain_text]=/html/portlet/wiki/edit/plain_text.jsp
Set the list of supported wiki importers.
Defaults:wiki.importers=MediaWiki
Configure settings for each of the wiki importers.
Defaults:wiki.importers.page[MediaWiki]=/html/portlet/wiki/import/mediawiki.jsp wiki.importers.class[MediaWiki]=com.liferay.portlet.wiki.importers.mediawiki.MediaWikiImporter
Configure email notification settings.
Defaults:wiki.email.from.name= wiki.email.from.address=Defaults:
wiki.email.page.added.enabled=true wiki.email.page.added.subject=com/liferay/portlet/wiki/dependencies/email_page_added_subject.tmpl wiki.email.page.added.body=com/liferay/portlet/wiki/dependencies/email_page_added_body.tmpl wiki.email.page.added.signature=com/liferay/portlet/wiki/dependencies/email_page_added_signature.tmplDefaults:
wiki.email.page.updated.enabled=true wiki.email.page.updated.subject=com/liferay/portlet/wiki/dependencies/email_page_updated_subject.tmpl wiki.email.page.updated.body=com/liferay/portlet/wiki/dependencies/email_page_updated_body.tmpl wiki.email.page.updated.signature=com/liferay/portlet/wiki/dependencies/email_page_updated_signature.tmplDefaults:
wiki.rss.abstract.length=200