20-Nov-06 (Created: 20-Nov-06) | More in 'Java-Portlets'

Liferay portal.properties

##
## Properties Override
##

    #
    # Specify where to get the overridden properties. Updates should not be made
    # on this file but on the overridden version of this file. Furthermore, each
    # portal instance can have its own overriden property file following the
    # convention portal-companyid.properties.
    #
    # For example, one read order may be: portal.properties, then
    # portal-ext.properties, then portal-liferay.com.properties.
    #
    include-and-override=portal-ext.properties
    include-and-override=portal-${easyconf:companyId}.properties

##
## Portal Release
##

    #
    # The enterprise release of the portal must run inside a J2EE 1.3 compliant
    # application server. The professional release of the portal can run inside
    # a standalone servlet container.
    #
    portal.release=enterprise
    #portal.release=professional

##
## Portal Context
##

    #
    # Specify the location of the shared portal web context. All other portals
    # utilize this shared instance of the portal web context.
    #
    # For example, the web application by the name of "liferay.com-web" is
    # deployed with the context root at "/" while the web application by the
    # name of "portal-web" is deployed with the context root at "/portal". The
    # web application at "/" is lean and doesn't contain any actual JSPs, but
    # uses the JSPs and resources found at "/portal".
    #
    # Another web application deployed with the context root at "/another" could
    # also be its own portal instance by reusing the resources found at
    # "/portal". This allows one server to host multiple instances of the portal
    # while minimizing deployed resources.
    #
    portal.ctx=/
    portal.instances=1

##
## Error
##

    #
    # Set the following to true to log the error message.
    #
    error.message.log=true

    #
    # Set the following to true to print the error message to the console.
    #
    error.message.print=false

    #
    # Set the following to true to show the error message to the user.
    #
    error.message.show=true

    #
    # Set the following to true to log the stack trace.
    #
    error.stack.trace.log=false

    #
    # Set the following to true to print the stack trace to the console.
    #
    error.stack.trace.print=true

    #
    # Set the following to true to show the stack trace to the user.
    #
    error.stack.trace.show=false

##
## TCK
##

    #
    # Set the following 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.
    #
    tck.url=false

    #
    # Set the following 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://support.liferay.com/browse/LEP-426 for more information.
    #
    tck.portlet.url.append.parameters=false

##
## Upgrade
##

    #
    # 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.
    #
    upgrade.processes=com.liferay.portal.upgrade.UpgradeProcess_Legacy
	,com.liferay.portal.upgrade.UpgradeProcess_3_5_0
	,com.liferay.portal.upgrade.UpgradeProcess_4_0_0
	,com.liferay.portal.upgrade.UpgradeProcess_4_1_0

##
## Auto Deploy
##

    #
    # Set the following to true to enable auto deploy of layout templates,
    # portlets, and themes.
    #
    auto.deploy.enabled=false

    #
    # Set the directory to scan for layout templates, portlets, and themes to
    # auto deploy.
    #
    auto.deploy.deploy.dir=/home/liferay/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 "../webapps" whereas JBoss listens on
    # "../server/default/deploy".
    #
    auto.deploy.dest.dir=../webapps
    #auto.deploy.dest.dir=../server/default/deploy
    #auto.deploy.dest.dir=../../webapps/autoload

    #
    # Set the interval in milliseconds on how often to scan the directory for
    # changes.
    #
    auto.deploy.interval=5000

    #
    # Set the following to true if deployed WARs are unpacked.
    #
    auto.deploy.unpack.war=true

    #
    # Set the path to Tomcat's global class loader. This property is only used
    # by Tomcat in a standalone environment.
    #
    auto.deploy.tomcat.lib.dir=../common/lib/ext

##
## Resource Actions
##

    #
    # Input a list of comma delimited resource action configurations that will
    # be read from the class path.
    #
    resource.actions.configs=resource-actions/default.xml

##
## Model Hints
##

    #
    # Input a list of comma delimited model hints configurations.
    #
    model.hints.configs=META-INF/portal-model-hints.xml,META-INF/ext-model-hints.xml

##
## Spring
##

    #
    # Input a list of comma delimited Spring configurations. The file name will
    # be namespaced depending on the release of the portal if and only if the
    # specified file name ends with spring.xml.
    #
    # For example, if you are starting Liferay Portal Professional, then
    # META-INF/counter-spring-professional.xml will be loaded. If you are
    # starting Liferay Portal Enterprise, then
    # META-INF/counter-spring-enterprise.xml will be loaded.
    #
    # Certain configurations, like mail-spring-jms.xml, are shared by both
    # professional and enterprise editions and will not be automatically
    # namespaced because it does not end with spring.xml.
    #
    spring.configs=META-INF/counter-spring.xml,META-INF/documentlibrary-spring.xml
	,META-INF/documentlibrary-spring-jms.xml,META-INF/lock-spring.xml
	,META-INF/mail-spring.xml,META-INF/mail-spring-jms.xml
	,META-INF/portal-spring.xml,META-INF/portal-spring-jcr.xml
	,META-INF/portal-spring-jms.xml,META-INF/ext-spring.xml

    #
    # Set the bean name for the Liferay session factory.
    #
    spring.hibernate.session.factory=&liferaySessionFactory

##
## Hibernate
##

    #
    # Input a list of comma delimited Hibernate configurations.
    #
    hibernate.configs=META-INF/counter-hbm.xml,META-INF/mail-hbm.xml,META-INF/portal-hbm.xml,META-INF/ext-hbm.xml

    #
    # Use the Liferay SQL dialect because it will automatically detect the proper
    # SQL dialect based on your connection URL.
    #
    hibernate.dialect=com.liferay.portal.spring.hibernate.DynamicDialect

    #
    # Set the Hibernate cache provider. If you choose to use the OSCache in a
    # clustered environment, be sure to check with the OSCache settings below.
    #
    #hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
    #hibernate.cache.provider_class=net.sf.hibernate.cache.HashtableCacheProvider
    hibernate.cache.provider_class=com.liferay.portal.spring.hibernate.OSCacheProvider

    #
    # Set other Hibernate cache settings.
    #
    hibernate.cache.use_query_cache=true
    hibernate.cache.use_second_level_cache=true
    hibernate.cache.use_minimal_puts=true
    hibernate.cache.use_structured_entries=false

    #
    # Uncomment these properties to disable Hibernate caching.
    #
    #hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider
    #hibernate.cache.use_query_cache=false
    #hibernate.cache.use_second_level_cache=false

    #
    # Set other miscellaneous Hibernate properties.
    #
    hibernate.jdbc.batch_size=20
    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.
    #
    hibernate.query.factory_class=org.hibernate.hql.classic.ClassicQueryTranslatorFactory

##
## Custom SQL
##

    #
    # Input a list of comma delimited custom SQL configurations.
    #
    custom.sql.configs=custom-sql/default.xml

    #
    # Sybase does not recognize a NULL IS NULL check. Uncomment this line if you
    # are using Sybase. If you are using another database that also has this
    # issue, then uncomment the following line and input the function name that
    # performs an equivalent ISNULL check.
    #
    #custom.sql.function.isnull=ISNULL
    #custom.sql.function.isnull=IFNULL

    #
    # Oracle has a nasty bug where it treats '' as a NULL value. See
    # http://thedailywtf.com/forums/thread/26879.aspx for more information on
    # this nasty bug. Uncomment this if you're connecting to Oracle.
    #
    #custom.sql.vendor.oracle=true

##
## OSCache
##

    #
    # The following OSCache settings are used in conjunction with Hibernate if
    # you set Hibernate to use OSCache as its cache provider. Consult the
    # OSCache documentation for an exhaustive list of available settings.
    #
    cache.memory=true
    cache.capacity=10000
    cache.algorithm=com.opensymphony.oscache.base.algorithm.LRUCache
    cache.blocking=true

    #
    # Uncomment the "cache.event.listeners" property if you are deployed in a
    # clustered environment. Then uncomment either "cache.cluster.multicast.ip"
    # or "cache.cluster.properties", but do not uncomment both. You must also
    # configure the properties found in cache-multi-vm.properties to safeguard
    # your data in a cluster.
    #
    # The multicast ip is a unique namespace for a set of cached objects.
    # Set it to 231.12.21.100 to keep it unique from the multicast ip set in
    # cache-multi-vm.properties.
    #
    # Uncomment the "cache.cluster.properties" property if your cache is binding
    # to 127.0.0.1 and not to a network ip. Your cache must be listening on a
    # network ip to talk to other servers. You can test the clustered cache by
    # running two portals on two machines. Do not attempt to run both portals on
    # one machine because the multicast will not know to loopback.
    #
    #cache.event.listeners=com.opensymphony.oscache.plugins.clustersupport.JavaGroupsBroadcastingListener
    #cache.cluster.multicast.ip=231.12.21.100
    #cache.cluster.properties=UDP(bind_addr=127.0.0.1;mcast_addr=231.12.21.100;mcast_port=45566;
	ip_ttl=32;mcast_send_buf_size=150000;mcast_recv_buf_size=80000)
	:PING(timeout=2000;num_initial_members=3):MERGE2(min_interval=5000;max_interval=10000)
	:FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50
	;retransmit_timeout=300,600,1200,2400,4800;max_xmit_size=8192)
	:UNICAST(timeout=300,600,1200,2400):pbcast.STABLE(desired_avg_gossip=20000)
	:FRAG(frag_size=8096;down_thread=false;up_thread=false)
	:pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true)

##
## JavaScript
##

    #
    # Set the following to true to speed up the loading of JavaScript files by
    # loading /html/js/everything.js instead of loading multiple files. See
    # /html/common/themes/top_js.jsp and the Ant task build-javascript found in
    # portal-web for more information on how this works.
    #
    javascript.fast.load=false

    #
    # Set the following to true to enable the display of Javascript logging.
    #
    javascript.log.enabled=false

##
## Company
##

    #
    # Set the list of company types. The display text of each of the company
    # types is set in content/Language.properties.
    #
    company.types=business,church,educational,government,organization,personal,other

    #
    # The portal can authenticate users based on their email address and
    # password or based on their user id and password.
    #
    company.security.auth.type=emailAddress
    #company.security.auth.type=userId

    #
    # Set the following to true to allow users to select the "remember me"
    # feature to automatically login to the portal.
    #
    company.security.auto.login=true

    #
    # Set the following to true to allow strangers to create accounts and
    # register themselves on the portal.
    #
    company.security.strangers=false

##
## Users
##

    #
    # Set the following to false if users cannot be deleted.
    #
    users.delete=true

    #
    # Set the following to true to always autogenerate user ids even if the user
    # gives a specific user id.
    #
    users.id.always.autogenerate=false

    #
    # Input a class name that extends com.liferay.portal.util.UserIdGenerator.
    # This class will be called to generate user ids.
    #
    users.id.generator=com.liferay.portal.util.UserIdGenerator

    #
    # Input a class name that extends com.liferay.portal.util.UserIdValidator.
    # This class will be called to validate user ids.
    #
    users.id.validator=com.liferay.portal.util.UserIdValidator

    #
    # 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.
    #
    users.image.max.size=307200

##
## Groups and Roles
##

    #
    # 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.
    #
    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.
    #
    system.roles=

    #
    # Omniadmin users can administer the portal's core functionality: gc,
    # shutdown, etc. Multiple portal instances might be deployed on one
    # application server, and 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 with the Administrator role are
    # allowed to administer the portal's core functionality.
    #
    omniadmin.users=liferay.com.1

    #
    # Set the following to true if all users can personalize pages. If set to
    # false, only Administrators and Power Users can personalize.
    #
    universal.personalization=false

    #
    # Set the following to true if all users are required to agree to the terms
    # of use.
    #
    terms.of.use.required=true

##
## Organizations and Locations
##

    #
    # Set the following to true if users must belong to a parent organization.
    #
    organizations.parent.organization.required=false

    #
    # Set the following to true if users must belong to a location. If location
    # is required, then a parent organization is also required.
    #
    organizations.location.required=false

##
## Languages and Time Zones
##

    #
    # 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.
    #
    # All locales must use UTF-8 encoding.
    #
    # The following links specifiy language and country codes:
    #     http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt
    #     http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
    #
    locales=ar_SA,ca_AD,zh_CN,zh_TW,cs_CZ,nl_NL,en_US,fr_FR,de_DE,el_GR,hu_HU,it_IT,ja_JP,ko_KR,pt_BR,ru_RU,es_ES,tr_TR,vi_VN

    #
    # Set the following to true if unauthenticated users get their preferred
    # language from the Accept-Language header. Set the following to false if
    # unauthenticated users get their preferred language from their company.
    #
    locale.default.request=false

    #
    # Specify the Struts character encoding. UTF-8 allows for the use of more
    # languages but takes a 15% performance hit compared to ISO-8859-1.
    #
    struts.char.encoding=UTF-8

    #
    # Specify the available time zones. The specified ids must match those from
    # the class java.util.TimeZone.
    #
    time.zones=Pacific/Midway,Pacific/Honolulu,AST,PST,MST,CST,EST,PRT,CNT,BET,America/Noronha
	,Atlantic/Azores,GMT,WET,CET,EET,Asia/Jerusalem,Asia/Baghdad,Iran,Asia/Dubai
	,Asia/Kabul,Asia/Karachi,IST,Asia/Katmandu,Asia/Dhaka,Asia/Rangoo
	,VST,CTT,JST,ROK,ACT,AET,SST,NST,Pacific/Enderbury,Pacific/Kiritimati

##
## Look and Feel
##

    #
    # Set the following to false if the system does not use allow users to
    # modify the look and feel.
    #
    look.and.feel.modifiable=true

    #
    # Set the default theme id.
    #
    default.theme.id=classic

    #
    # Set the default color scheme id.
    #
    default.color.scheme.id=01

##
## Session
##

    #
    # Specify the number of minutes before a session expires. This value is
    # always overridden by the value set in web.xml.
    #
    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.
    #
    session.timeout.warning=1

    #
    # Set this to false to disable all persistent cookie. Features like
    # automatically logging in will not work.
    #
    session.enable.persistent.cookies=true

    #
    # 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
    #
    servlet.session.create.events=com.liferay.portal.events.SessionCreateAction

    #
    # Servlet session destroy event
    #
    servlet.session.destroy.events=com.liferay.portal.events.SessionDestroyAction

    #
    # Set the following 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.
    #
    session.tracker.memory.enabled=true

    #
    # Set the following 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.
    #
    session.tracker.persistence.enabled=false

##
## JAAS
##

    #
    # Specify a class name that implements
    # com.liferay.portal.security.auth.PrincipalFinder. A custom version of this
    # class is needed for portals that integrate with external EJBs that have a
    # different scheme for storing principals. This will allow the portal to
    # dynamically convert the principal of an external system into the unique
    # user id of the portal system.
    #
    principal.finder=com.liferay.portal.security.auth.BasicPrincipalFinder

    #
    # Set the following to true if the portal will use
    # com.liferay.portal.security.jaas.PortalConfiguration as the JAAS master
    # configuration.
    #
    portal.configuration=true

    #
    # Set the following to false to disable JAAS security checks. You must also
    # comment out JAAS settings from web.xml. Disabling JAAS security checks can
    # speed up login.
    #
    portal.jaas.enable=true

    #
    # 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.
    #
    #portal.jaas.impl=

##
## Authentication Pipeline
##

    #
    # 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.
    #
    # Constants in Authenticator:
    #     public static final int SUCCESS = 1;
    #     public static final int FAILURE = -1;
    #     public static final int DNE = 0;
    #
    # In case you have several classes in the authentication pipeline, all of
    # them have to return SUCCESS if you want the user to be able to login. If
    # one of the authenticators returns FAILURE or DNE, 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
    #
    auth.pipeline.pre=com.liferay.portal.security.auth.LDAPAuth
    #auth.pipeline.post=

    #
    # Set this to true to ensable password checking by the internal portal
    # authentication. If set to false, you're essentially delegating password
    # checking is delegated to the authenticators configured in
    # "auth.pipeline.pre" and "auth.pipeline.post" settings.
    #
    auth.pipeline.enable.liferay.check=true

    #
    # LDAPAuth can be configured from the Admin portlet. It provides out of the
    # box support for Apache Directory Server, Microsoft Active Directory
    # Server, Novell eDirectory, and OpenLDAP. The default settings are for
    # Apache Directory Server.
    #
    auth.impl.ldap.enabled=false
    auth.impl.ldap.required=false
    auth.impl.ldap.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
    auth.impl.ldap.provider.url=ldap://localhost:10389/dc=example,dc=com
    auth.impl.ldap.security.principal=uid=admin,ou=system
    auth.impl.ldap.security.credentials=secret
    auth.impl.ldap.search.filter=(mail=@email_address@)
    auth.impl.ldap.user.mappings=userId=cn\npassword=userPassword\nemailAddress=\
	mail\nfirstName=givenName\nlastName=sn\njobTitle=title

    #
    # 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.
    #
    auth.failure=com.liferay.portal.security.auth.LoginFailure
    auth.max.failures=com.liferay.portal.security.auth.LoginMaxFailures
    auth.max.failures.limit=5

    #
    # Set the following to true if users are allowed to have simultaneous logins
    # from different sessions.
    #
    auth.simultaneous.logins=true

    #
    # Set the following 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.
    #
    auth.forward.by.last.path=false

    #
    # Enter a list of paths that can be considered part of the last visited
    # path.
    #
    auth.forward.last.path.0=/document_library/get_file
    auth.forward.last.path.1=/recent_documents/get_file

    #
    # Enter a list of paths that do not require authentication.
    #
    auth.public.path.0=/blogs/find_entry
    auth.public.path.1=/blogs/rss
    auth.public.path.2=/document_library/get_file
    auth.public.path.3=/document_library/get_file_version
    auth.public.path.4=/journal/get_articles
    auth.public.path.5=/journal/get_latest_article_content
    auth.public.path.6=/journal/get_structure
    auth.public.path.7=/journal/get_template
    auth.public.path.8=/journal_articles/view_article_content
    auth.public.path.9=/mailbox/action
    auth.public.path.10=/mailbox/view_message
    auth.public.path.11=/message_boards/find_message
    auth.public.path.12=/message_boards/rss
    auth.public.path.13=/polls/view_chart
    auth.public.path.14=/portal/xml_regions
    auth.public.path.15=/shopping/notify

##
## Auto Login
##

    #
    # 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 return 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.BasicAutoLogin 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.
    #
    auto.login.hooks=com.liferay.portal.security.auth.BasicAutoLogin
    #auto.login.hooks=com.liferay.portal.security.auth.BasicAutoLogin\
	,com.liferay.portal.security.auth.CASAutoLogin

    #
    # Enter a list of paths that will not trigger auto login.
    #
    auto.login.disabled.path.0=/journal/get_articles
    auto.login.disabled.path.1=/journal/get_latest_article_content
    auto.login.disabled.path.2=/journal/get_structure
    auto.login.disabled.path.3=/journal/get_template

##
## Passwords
##

    #
    # Set the following to true to encrypt passwords using a MD5 hash algorithm.
    # If set to false, passwords are stored in the database as plain text.
    #
    passwords.encrypted=true

    #
    # Input a class name that extends
    # com.liferay.portal.security.pwd.BasicToolkit. This class will be called to
    # generate and validate passwords.
    #
    passwords.toolkit=com.liferay.portal.security.pwd.RegExpToolkit

    #
    # If you choose to use the default
    # com.liferay.portal.security.pwd.RegExpToolkit as your passwords 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.
    #
    passwords.regexptoolkit.pattern=(?=.{4})(?:[a-zA-Z0-9]*)
    #passwords.regexptoolkit.pattern=(?=.{8})(?:[a-zA-Z0-9]*)

    #
    # Set the following to true if passwords can be a dictionary word.
    #
    passwords.allow.dictionary.word=true

    #
    # Set the following to true if users ought to change their passwords on
    # first use when an Administrator creates their account.
    #
    passwords.change.on.first.use=false

    #
    # Set the number of days that will pass before users are prompted to change
    # their password. Set the number of days to 0 if passwords never expire. 
    #
    passwords.lifespan=0

    #
    # Set the number of days that must have passed before a password is allowed
    # to be recycled and used again. Set the number of days to 0 if passwords
    # can always be reused.
    #
    passwords.recycle=0

##
## Permissions
##

    #
    # Set the default permission checker class used by
    # com.liferay.portal.security.permission.PermissionCheckerFactory to check
    # permissions for actions on objects. These classes can be overrided with
    # custom classes that extend
    # com.liferay.portal.security.permission.PermissionChecker.
    #
    permissions.checker=com.liferay.portal.security.permission.PermissionChecker

##
## Captcha
##

    #
    # 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.
    #
    captcha.max.challenges=1

##
## Startup Events
##

    #
    # 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.
    #
    global.startup.events=com.liferay.portal.events.GlobalStartupAction\
	,com.liferay.portal.events.FixOracleAction

    #
    # Application startup event that runs once for every web site instance of
    # the portal that initializes.
    #
    application.startup.events=com.liferay.portal.events.AppStartupAction

##
## Shutdown Events
##

    #
    # 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.
    #
    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.
    #
    application.shutdown.events=com.liferay.portal.events.AppShutdownAction

##
## Portal Events
##

    #
    # Input a list of comma delimited class names that extend
    # com.liferay.portal.struts.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.
    #
    servlet.service.events.pre=com.liferay.portal.events.ServicePreAction
    #servlet.service.events.pre=com.liferay.portal.events.LogMemoryUsageAction\
	,com.liferay.portal.events.LogThreadCountAction,\
	com.liferay.portal.events.ServicePreAction
	
    #servlet.service.events.pre=com.liferay.portal.events.LogSessionIdAction,\
	com.liferay.portal.events.ServicePreAction
    #servlet.service.events.pre=com.liferay.portal.events.ServicePreAction,\
	com.liferay.portal.events.RandomLayoutAction
    #servlet.service.events.pre=com.liferay.portal.events.ServicePreAction,\
	com.liferay.portal.events.RandomLookAndFeelAction
    #servlet.service.events.pre.error.page=/common/error.jsp
    servlet.service.events.post=com.liferay.portal.events.ServicePostAction

    #
    # Login event
    #
    #login.events.pre=com.liferay.portal.events.LoginPreAction
    login.events.post=com.liferay.portal.events.LoginPostAction

    #
    # Logout event
    #
    logout.events.pre=com.liferay.portal.events.LogoutPreAction
    logout.events.post=com.liferay.portal.events.LogoutPostAction,com.liferay.portal.events.GarbageCollectorAction

##
## Default Guest Layout
##

    #
    # The Guest group at least one public page. The settings for the initial
    # public page are specified in the following properties. For more complex
    # behavior, override the addDefaultLayouts method in
    # com.liferay.portal.service.impl.GroupLocalServiceImpl.
    #

    #
    # Set the layout name.
    #
    default.guest.layout.name=Welcome

    #
    # Set the layout template id that matches an existing TPL.
    #
    #default.guest.layout.template.id=1_2_1_columns
    #default.guest.layout.template.id=1_column
    #default.guest.layout.template.id=2_2_columns
    #default.guest.layout.template.id=2_columns_i
    default.guest.layout.template.id=2_columns_ii
    #default.guest.layout.template.id=2_columns_iii
    #default.guest.layout.template.id=3_columns

    #
    # Set the layout ids for the column specified in the layout template.
    #
    default.guest.layout.column-1=58,
    default.guest.layout.column-2=
    default.guest.layout.column-3=
    default.guest.layout.column-4=

    #
    # Enter either "800x600" or "1024x768" to set the layout resolution.
    #
    default.guest.layout.resolution=800x600

##
## Default User Layout
##

    #
    # Users who have the Power User role must have at least one private personal
    # page. The settings for the initial private page are specified in the
    # following properties. For more complex behavior, override the
    # addDefaultLayouts method in com.liferay.portal.events.ServicePreAction.
    #

    #
    # Set the layout name.
    #
    default.user.layout.name=Home

    #
    # Set the layout template id that matches an existing TPL.
    #
    #default.user.layout.template.id=1_2_1_columns
    #default.user.layout.template.id=1_column
    #default.user.layout.template.id=2_2_columns
    #default.user.layout.template.id=2_columns_i
    default.user.layout.template.id=2_columns_ii
    #default.user.layout.template.id=2_columns_iii
    #default.user.layout.template.id=3_columns

    #
    # Set the layout ids for the column specified in the layout template.
    #
    default.user.layout.column-1=82,23,61,65,
    default.user.layout.column-2=8,11,36,33,
    default.user.layout.column-3=
    default.user.layout.column-4=

    #
    # Enter either "800x600" or "1024x768" to set the layout resolution.
    #
    default.user.layout.resolution=800x600

##
## Layouts
##

    #
    # 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.
    #
    layout.types=portlet,embedded,article,url

    #
    # Default settings layouts.
    #
    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}
    layout.url.friendliable=true
    layout.parentable=true

    #
    # Settings for portlet layouts are inherited from the default settings.
    #
    #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}
    #layout.url.friendliable[portlet]=true
    #layout.parentable[portlet]=true

    #
    # Settings for embedded layouts.
    #
    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}
    layout.url.friendliable[embedded]=true
    layout.parentable[embedded]=false

    #
    # Settings for article layouts.
    #
    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}
    layout.parentable[article]=false

    #
    # Settings for URL layouts.
    #
    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

    #
    # Specify static portlets that cannot be moved and will always appear on
    # every layout. Static portlets must not be instanceable portlets. Static
    # portlets will take precedence over portlets that may have been dynamically
    # configured for the layout.
    #
    # For example, if you want the Navigation portlet to always appear at the
    # start of the iteration of the first narrow column for desktop layouts, set
    # the property "layout.static.portlets.n1.start[desktop]" to "71". If you
    # want the Navigation portlet to always appear at the end of the wide column
    # for desktop layouts, set the property
    # "layout.static.portlets.w1.end[desktop]" to "71". You can input a list of
    # comma delimited portlet ids to specify more than one portlet.
    #
    # The static portlets are fetched based on the properties controlled by
    # custom filters using EasyConf. By default, the available filters are
    # "desktop" and "group."
    #
    #layout.static.portlets.n1.start[desktop]=3,6
    #layout.static.portlets.n1.end[desktop]=14
    #layout.static.portlets.n2.start[desktop]=
    #layout.static.portlets.n2.end[desktop]=
    #layout.static.portlets.w1.start[desktop]=7
    #layout.static.portlets.w1.end[desktop]=8

    #
    # It is also possible to add a static portlet which only shows in the first
    # layout of a desktop or group.
    #
    #layout.static.portlets.n1.start[desktop][firstLayout]=3,6
    #layout.static.portlets.n2.end[group][firstLayout]=14

    #
    # Set the static layouts for group layouts.
    #
    #layout.static.portlets.n1.start[group]=
    #layout.static.portlets.n1.end[group]=
    #layout.static.portlets.n2.start[group]=
    #layout.static.portlets.n2.end[group]=
    #layout.static.portlets.w1.start[group]=
    #layout.static.portlets.w1.end[group]=

    #
    # Set the following properties to determine whether or not a user can
    # change the default layout to be one, two, or three columns. The first
    # selector refers to the type of layout ("desktop" or "group") and the
    # second selector refers to whether the layout is the first of that type of
    # layout ("firstlayout").
    #
    layout.allow.one.column=true
    layout.allow.two.column=true
    layout.allow.three.column=true
    #layout.allow.one.column[desktop][firstLayout]=false
    #layout.allow.one.column[group]=true

    #
    # Set the public and private servlet mapping for
    # com.liferay.portal.servlet.FriendlyURLServlet. This value must match the
    # servlet mapping set in web.xml.
    #
    # For example, if the private 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 pages are
    # only available to authenticated users with the proper permissions.
    #
    # For example, if the public pages are mapped to "/web" 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/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.
    #
    layout.friendly.url.private.servlet.mapping=/group
    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.
    #
    #layout.friendly.url.page.not.found=/html/portal/404.html

    #
    # Set the reserved keywords that cannot be used in a friendly URL.
    #
    layout.friendly.url.keywords=blogs,calendar,document_library,image_gallery,journal\
	,message_boards,podcast,rss,wiki

    #
    # Set the following to true if users are allowed to add portlets from the
    # layout page.
    #
    layout.add.portlets=true

    #
    # Set the maximum length to display a layout name.
    #
    layout.name.max.length=10

    #
    # Set the maximum number of tabs per row.
    #
    layout.tabs.per.row=7

    #
    # Set the following to true if layouts should remember (across sessions)
    # that a window state was set to maximized.
    #
    layout.remember.session.window.state.maximized=false

    #
    # Set the following to true if layouts should remember (across requests)
    # that a window state was set to maximized.
    #
    layout.remember.request.window.state.maximized=true

    #
    # Set the following to true if guest users should see the maximize window
    # icon.
    #
    layout.guest.show.max.icon=false

    #
    # Set the following to true if guest users should see the minimize window
    # icon.
    #
    layout.guest.show.min.icon=false

    #
    # Set the following 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.
    #
    layout.show.portlet.access.denied=true

    #
    # Set the following to true if users are shown that a portlet is inactive.
    # The portlet init parameter "show-portlet-inactive" will override this
    # setting.
    #
    layout.show.portlet.inactive=true

    #
    # Set the default layout template id used when creating layouts.
    #
    layout.default.template.id=2_columns_ii

##
## Preferences
##

    #
    # Set the following to true to validate portlet preferences on startup.
    #
    preference.validate.on.startup=false

##
## Struts
##

    #
    # 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.
    #
    struts.portlet.request.processor=com.liferay.portal.struts.PortletRequestProcessor

##
## Images
##

    #
    # Set the location of the default spacer image that is used for missing
    # images. This image must be found in the class path.
    #
    image.default.spacer=com/liferay/portal/dependencies/spacer.gif

    #
    # Set the location of the default user portrait image that is used for
    # missing user portrait images. This image must be found in the class path.
    #
    image.default.user.portrait=com/liferay/portal/dependencies/user_portrait.gif

##
## Editors
##

    #
    # You can configure individual JSP pages to use a specific implementation of
    # the available WYSIWYG editors: liferay, fckeditor, or tinymce.
    #
    editor.wysiwyg.default=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.admin.users.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.blogs.edit_entry.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.calendar.edit_configuration.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.journal.edit_article_content.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.journal.edit_article_content_xsd_el.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.journal.edit_configuration.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.mail.edit.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.mail.edit_message.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.message_boards.edit_configuration.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.shopping.edit_configuration.jsp=fckeditor
    editor.wysiwyg.portal-web.docroot.html.portlet.wiki.edit_page.jsp=fckeditor

##
## Fields
##

    #
    # Set the following fields to false so users cannot see them. Some company
    # policies require gender and birthday information to always be hidden.
    #
    field.enable.com.liferay.portal.model.Contact.male=true
    field.enable.com.liferay.portal.model.Contact.birthday=true

##
## Amazon License Keys
##

    #
    # Enter a list of valid Amazon license keys. Configure additional keys by
    # incrementing the last number. The keys are used following a Round-Robin
    # algorithm. This is made available only for personal use. Please see the
    # Amazons license at http://www.amazon.com for more information.
    #
    #amazon.license.0=
    #amazon.license.1=
    #amazon.license.2=
    #amazon.license.3=

##
## Google License Keys
##

    #
    # Enter a list of valid Google license keys. Configure additional keys by
    # incrementing the last number. Each key is valid for 1000 requests. This is
    # made available only for personal use. Please see the Google license at
    # http://www.google.com/apis for more information.
    #
    #google.license.0=
    #google.license.1=
    #google.license.2=
    #google.license.3=

##
## Instant Messenger
##

    #
    # Set the AIM login and password by which the system will use AIM to
    # communicate with users.
    #
    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/forum/message.php?msg_id=1972697
    #     http://sourceforge.net/forum/message.php?msg_id=1990487
    #
    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.
    #
    icq.login=
    icq.password=

    #
    # Set the MSN login and password by which the system will use MSN to
    # communicate with users.
    #
    msn.login=
    msn.password=

    #
    # Set the YM login and password by which the system will use YM to
    # communicate with users.
    #
    ym.login=
    ym.password=

##
## Lucene Search
##

    #
    # Set the following to true if you want to index your entire library of
    # files on startup.
    #
    index.on.startup=true

    #
    # Set the following to true if you want the indexing on startup to be
    # executed on a separate thread to speed up execution.
    #
    index.with.thread=false

    #
    # Designate whether Lucene stores indexes in the file system or in the
    # database.
    #
    #lucene.store.type=jdbc
    lucene.store.type=file

    #
    # Set the JDBC dialect that Lucene uses to store indexes in the database.
    # This is only referenced if Lucene stores indexes in the database. Liferay
    # will attempt to load the proper dialect based on the URL of the JDBC
    # connection. For example, the property "lucene.store.jdbc.dialect.mysql" is
    # read for the JDBC connection URL "jdbc:mysql://localhost/lportal".
    #
    lucene.store.jdbc.dialect.db2=org.apache.lucene.store.jdbc.dialect.DB2Dialect
    lucene.store.jdbc.dialect.hsqldb=org.apache.lucene.store.jdbc.dialect.HSQLDialect
    lucene.store.jdbc.dialect.jtds=org.apache.lucene.store.jdbc.dialect.SQLServerDialect
    lucene.store.jdbc.dialect.microsoft=org.apache.lucene.store.jdbc.dialect.SQLServerDialect
    lucene.store.jdbc.dialect.mysql=org.apache.lucene.store.jdbc.dialect.MySQLDialect
    lucene.store.jdbc.dialect.oracle=org.apache.lucene.store.jdbc.dialect.OracleDialect
    lucene.store.jdbc.dialect.postgresql=org.apache.lucene.store.jdbc.dialect.PostgreSQLDialect

    #
    # Set the directory where Lucene indexes are stored. This is only referenced
    # if Lucene stores indexes in the file system.
    #
    lucene.dir=/home/liferay/lucene/

    #
    # Input a class name that extends
    # com.liferay.portal.lucene.LuceneFileExtractor. This class is called by
    # Lucene to extract text from complex files so that they can be properly
    # indexed.
    #
    lucene.file.extractor=com.liferay.portal.lucene.LuceneFileExtractor

    #
    # Set the default analyzer used for indexing and retrieval.
    #
    #lucene.analyzer=org.apache.lucene.analysis.br.BrazilianAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.cn.ChineseAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.cjk.CJKAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.cz.CzechAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.nl.DutchAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.fr.FrenchAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.de.GermanAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.KeywordAnalyzer
    #lucene.analyzer=org.apache.lucene.index.memory.PatternAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.PerFieldAnalyzerWrapper
    #lucene.analyzer=org.apache.lucene.analysis.ru.RussianAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.SimpleAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.snowball.SnowballAnalyzer
    lucene.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.StopAnalyzer
    #lucene.analyzer=org.apache.lucene.analysis.WhitespaceAnalyzer

##
## Value Object
##

    #
    # Hibernate is only able to cache value objects by primary key. Finder
    # methods that also return unique value objects are not cached. Setting this
    # to true enables Liferay's internal caching that will cache these value
    # objects by their unique finder method. To avoid stale data, modify the
    # OSCache settings in cache-multi-vm.properties if the portal is load
    # balanced across multiple servers.
    #
    value.object.cacheable=true

    #
    # You can override the "value.object.cacheable" setting for a specific class
    # by setting the property "value.object.cacheable" plus the class name.
    #
    value.object.cacheable.com.liferay.portal.model.User=true

    #
    # You can add a listener for a specific class by setting the property
    # "value.object.listener" plus the class name to a class that implements
    # com.liferay.portal.model.ModelListener.
    #
    value.object.listener.com.liferay.portal.model.Layout=\
	com.liferay.portal.model.LayoutListener
    value.object.listener.com.liferay.portal.model.LayoutSet=\
	com.liferay.portal.model.LayoutSetListener
    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.portlet.journal.model.JournalArticle=\
	com.liferay.portlet.journal.model.JournalArticleListener
    value.object.listener.com.liferay.portlet.journal.model.JournalTemplate=\
	com.liferay.portlet.journal.model.JournalTemplateListener

##
## Last Modified
##

    #
    # Set the following to true to check last modified date on server side CSS
    # and JavaScript.
    #
    last.modified.check=true

    #
    # Enter a list of paths that will only be executed when newer than the last
    # modified date. These paths must extend
    # com.liferay.portal.lastmodified.LastModifiedAction.
    #
    last.modified.path.0=/portal/css_cached
    last.modified.path.1=/portal/javascript_cached

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

    #
    # Set the following to true to ensure that all persisted data is stripped of
    # XSS hacks.
    #
    xss.allow=false

    #
    # You can override the "xss.allow" setting for a specific class by setting
    # the property "xss.allow" plus the class name.
    #
    xss.allow.com.liferay.portal.model.Portlet=true
    xss.allow.com.liferay.portal.model.PortletPreferences=true
    xss.allow.com.liferay.portal.model.Skin=true

    #
    # You can override the "xss.allow" setting for a specific field in a class
    # by setting the property "xss.allow" plus the class and field name.
    #
    xss.allow.com.liferay.portlet.journal.model.JournalStructure.xsd=true
    xss.allow.com.liferay.portlet.journal.model.JournalTemplate.xsl=true

##
## Counter Server
##

    #
    # Uncomment the following and set the appropriate values if the server
    # resides on a remote server. Make sure the EJBs are available on the remote
    # server and not on the portal server.
    #
    #com_liferay_counter_ejb_CounterManager_java.naming.factory.initial=\
	com.evermind.server.rmi.RMIInitialContextFactory
    #com_liferay_counter_ejb_CounterManager_java.naming.provider.url=ormi://host/default
    #com_liferay_counter_ejb_CounterManager_java.naming.security.principal=admin
    #com_liferay_counter_ejb_CounterManager_java.naming.security.credentials=1234

##
## Lock Server
##

    #
    # Uncomment the following and set the appropriate values if the server
    # resides on a remote server. Make sure the EJBs are available on the remote
    # server and not on the portal server.
    #
    #com_liferay_lock_ejb_LockManager_java.naming.factory.initial=\
	com.evermind.server.rmi.RMIInitialContextFactory
    #com_liferay_lock_ejb_LockManager_java.naming.provider.url=ormi://host/default
    #com_liferay_lock_ejb_LockManager_java.naming.security.principal=admin
    #com_liferay_lock_ejb_LockManager_java.naming.security.credentials=1234

    #
    # Set the lock expiration time for each class.
    #

    #
    # 1 day
    #
    lock.expiration.time.com.liferay.portlet.documentlibrary.model.DLFileEntryModel=86400000

    #
    # 20 minutes
    #
    lock.expiration.time.com.liferay.portlet.wiki.model.WikiPageModel=1200000

##
## JCR
##

    jcr.initialize.on.startup=false

    jcr.workspace.name=liferay
    jcr.node.documentlibrary=documentlibrary

    jcr.jackrabbit.repository.root=/home/liferay/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

##
## Web Server
##

    #
    # 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.
    #
    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.
    #
    web.server.host=

    #
    # Set the preferred protocol.
    #
    #web.server.protocol=https

##
## Main Servlet
##

    #
    # Servlets can be protected by com.liferay.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.
    #
    main.servlet.hosts.allowed=

    #
    # Set the following to true if this servlet can only be accessed via https.
    #
    main.servlet.https.required=false

##
## Axis Servlet
##

    #
    # See Main Servlet on how to protect this servlet.
    #
    axis.servlet.hosts.allowed=127.0.0.1,SERVER_IP
    axis.servlet.https.required=false

##
## Liferay Tunnel Servlet
##

    #
    # See Main Servlet on how to protect this servlet.
    #
    tunnel.servlet.hosts.allowed=127.0.0.1,SERVER_IP
    tunnel.servlet.https.required=false

##
## Spring Remoting Servlet
##

    #
    # See Main Servlet on how to protect this servlet.
    #
    spring.remoting.servlet.hosts.allowed=127.0.0.1,SERVER_IP
    spring.remoting.servlet.https.required=false

##
## Address Book Portlet
##

    #
    # Set the list of job classes. The display text of each of the job classes
    # is set in content/Language.properties.
    #
    address.book.contact.job.classes=general,billing,customer-service,sales,technical-support

##
## Admin Portlet
##

    admin.default.group.names=
    admin.default.role.names=Power User\nUser

    admin.mail.host.names=

    admin.reserved.email.addresses=
    admin.reserved.user.ids=

    admin.email.from.name=Joe Bloggs
    [email protected]

    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.password.sent.enabled=true
    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.tmpl

##
## Calendar Portlet
##

    #
    # Set the list of event types. The display text of each of the event types
    # is set in content/Language.properties.
    #
    calendar.event.types=anniversary,appointment,bill-payment,birthday,breakfast,call,\
	chat,class,club-event,concert,dinner,graduation,happy-hour,holiday,interview,\
	lunch,meeting,movie,net-event,other,party,performance,reunion,sports-event\
	,travel,tv-show,vacation,wedding

    calendar.email.from.name=Joe Bloggs
    [email protected]

    calendar.email.event.reminder.enabled=true
    calendar.email.event.reminder.subject=\
	com/liferay/portlet/calendar/dependencies/email_event_reminder_subject.tmpl
    calendar.email.event.reminder.body=\
	com/liferay/portlet/calendar/dependencies/email_event_reminder_body.tmpl

##
## Chat Portlet
##

    #
    # Set this to true to enable integration with NFC Chat.
    #
    chat.available=false

    #
    # Set the default port for the chat server to start listening on.
    #
    chat.server.default.port=7777

##
## Document Library Portlet
##

    #
    # Uncomment the following and set the appropriate values if the server
    # resides on a remote server. Make sure the EJBs are available on the remote
    # server and not on the portal server.
    #
    #com_liferay_documentlibrary_ejb_DLManager_java.naming.factory.initial=\
	com.evermind.server.rmi.RMIInitialContextFactory
    #com_liferay_documentlibrary_ejb_DLManager_java.naming.provider.url=ormi://host/default
    #com_liferay_documentlibrary_ejb_DLManager_java.naming.security.principal=admin
    #com_liferay_documentlibrary_ejb_DLManager_java.naming.security.credentials=1234

    #
    # Set the directories where documents are stored. This is now deprecated
    # because documents are stored in Jackrabbit.
    #
    dl.root.dir=/home/liferay/documentlibrary/root/
    dl.version.root.dir=/home/liferay/documentlibrary/vroot/

    #
    # 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. A file extension of * will permit all file extensions.
    #
    # 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/classic/images/document_library/doc.gif.
    #
    #dl.file.max.size=307200
    #dl.file.max.size=1024000
    dl.file.max.size=5120000
    dl.file.extensions=.bmp,.doc,.gif,.gz,.htm,.html,.jpg,.pdf,.png,\
	.ppt,.rtf,.sxc,.sxi,.sxw,.tar,.tiff,.tgz,.txt,.xls,.xml,.zip

    #
    # Set the following to true to cache directory views.
    #
    dl.version.cache.directory.views=true

##
## Image Gallery Portlet
##

    #
    # 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. A file extension of * will permit all file extensions. Set the
    # maximum thumbnail height or width to 0 to ignore that dimension.
    #
    ig.image.max.size=307200
    ig.image.extensions=.gif,.jpeg,.jpg,.png
    ig.image.thumbnail.max.height=50
    ig.image.thumbnail.max.width=50

##
## Journal Portlet
##

    #
    # Set the list of article types. The display text of each of the article
    # types is set in content/Language.properties.
    #
    journal.article.types=general,news,press-release,test

    #
    # Set this to true so that only the latest version of an article that is
    # also not approved can be saved without incrementing version.
    #
    journal.article.force.increment.version=false

    #
    # 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. A file extension of * will permit all file extensions.
    #
    journal.image.small.max.size=51200
    journal.image.extensions=.gif,.jpeg,.jpg,.png

    #
    # Input a list of comma delimited class names that extend
    # com.liferay.portlet.journal.util.TransformerListener. These classes will
    # run in sequence to allow you to modify the XML and XSL before it's
    # transformed and allow you to modify the final output.
    #
    journal.transformer.listener=com.liferay.portlet.journal.util.TokensTransformerListener,\
	com.liferay.portlet.journal.util.PropertiesTransformerListener,\
	com.liferay.portlet.journal.util.LocaleTransformerListener
    #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

    #
    # Set whether to synchronize content searches when server starts.
    #
    journal.sync.content.search.on.startup=false

    journal.email.from.name=Joe Bloggs
    [email protected]

    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.tmpl

    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.tmpl

    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.tmpl

    journal.email.article.review.enabled=false
    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.tmpl

##
## Journal Articles Portlet
##

    #
    # Set the available values for the number of articles to display per page.
    #
    journal.articles.page.delta.values=5,10,25,50,100

##
## Mail Portlet
##

    #
    # Uncomment the following and set the appropriate values if the server
    # resides on a remote server. Make sure the EJBs are available on the remote
    # server and not on the portal server.
    #
    #com_liferay_mail_ejb_MailManager_java.naming.factory.initial=\
	com.evermind.server.rmi.RMIInitialContextFactory
    #com_liferay_mail_ejb_MailManager_java.naming.provider.url=ormi://host/default
    #com_liferay_mail_ejb_MailManager_java.naming.security.principal=admin
    #com_liferay_mail_ejb_MailManager_java.naming.security.credentials=1234

    #
    # Set the following to false if administrator should not be allowed to
    # change the mail domain via the Admin portlet.
    #
    mail.mx.update=true

    #
    # Set the name of the 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.
    #
    # Available hooks are:
    #     com.liferay.mail.util.CyrusHook
    #     com.liferay.mail.util.DummyHook
    #     com.liferay.mail.util.SendmailHook
    #     com.liferay.mail.util.ShellHook
    #
    mail.hook.impl=com.liferay.mail.util.DummyHook

    #
    # 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.
    #
    mail.hook.cyrus.add.user=cyrus_adduser password %1%
    mail.hook.cyrus.delete.user=cyrus_userdel password %1%
    mail.hook.cyrus.home=/home/cyrus

    #
    # 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.
    #
    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.
    #
    mail.hook.shell.script=/usr/sbin/mailadmin.ksh

    #
    # Set the mail box style that your IMAP server uses. Washington IMAP uses
    # "mail/" whereas Courier IMAP and Cyrus IMAP use "INBOX." as their mail box
    # styles. The mail box style is an IMAP implementation specific namespace
    # that is used in referencing folders.
    #
    mail.box.style=mail/
    #mail.box.style=INBOX.

    #
    # Set the name of the Inbox folder. Most IMAP servers use "INBOX" as the
    # folder name. Domino requires "Inbox" as the folder name.
    #
    mail.inbox.name=INBOX
    #mail.inbox.name=Inbox

    #
    # Set other default folder names.
    #
    mail.spam.name=Spam
    mail.sent.name=Sent
    mail.drafts.name=Drafts
    mail.trash.name=Trash

    #
    # The user will be warned once per session to empty their spam if their spam
    # folder exceeds this size. Set the size to 0 to disable any warnings.
    #
    mail.spam.warning.size=5120000

    #
    # The user will be warned once per session to empty their trash if their
    # trash folder exceeds this size. Set the size to 0 to disable any warnings.
    #
    mail.trash.warning.size=5120000

    #
    # Some mail servers do not allow a "." in their user names. Set the
    # following to true to replace all "." in a user name with a "_" when making
    # calls to the mail server.
    #
    mail.username.replace=false

    #
    # Set to true to enable SMTP debugging.
    #
    mail.smtp.debug=false

    #
    # Input a list of comma delimited email addresses that will receive a BCC of
    # every email sent through the mail server.
    #
    mail.audit.trail=

    #
    # Set the maximum file size for attachments.
    #
    mail.attachments.max.size=3072000

    #
    # Specify a class name that implements
    # com.liferay.portlet.mail.util.multiaccount.AccountFinder. Another
    # implementation could allow the Mail portlet to access multiple accounts.
    #
    mail.account.finder=com.liferay.portlet.mail.util.multiaccount.SingleAccountFinder

##
## Message Boards Portlet
##

    message.boards.email.from.name=Joe Bloggs
    [email protected]

    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.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

##
## Shopping Portlet
##

    #
    # Set the following to true if cart quantities must be a multiple of the
    # item's minimum quantity.
    #
    shopping.cart.min.qty.multiple=true

    #
    # Set the following 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.
    #
    shopping.category.forward.to.cart=false

    #
    # Set the following to true to show special items when browsing a category.
    #
    shopping.category.show.special.items=false

    #
    # Set the following to true to show availability when viewing an item.
    #
    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. A file extension of * will permit all file extensions.
    #
    shopping.image.small.max.size=51200
    shopping.image.medium.max.size=153600
    shopping.image.large.max.size=307200
    shopping.image.extensions=.gif,.jpeg,.jpg,.png

    shopping.email.from.name=Joe Bloggs
    [email protected]

    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.tmpl

    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

##
## Translator Portlet
##

    #
    # Set the default languages to translate a given text.
    #
    translator.default.languages=en_es

##
## Wiki Portlet
##

    #
    # 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. It is
    #
    wiki.front.page.name=FrontPage