Jahia features and services can be configured in the jahia.properties file or in OSGi configuration files. Clustering settings can be specified in the jahia.node.properties file. The jahia.properties file and the jahia.node.properties file are located in the digital-factory-config/jahia directory. OSGi configuration files are located in the digital-factory-data/karaf/etc directory.
Jahia property descriptions
The following tables shows properties that you can add or modify in the jahia.properties file.
Jahia modes
Property name
Description
Default value
operatingMode
Specifies a mode, either development, production, or distantPublicationServer
Configures where Jahia stores runtime data on disk, such repository, modules, temporary files
Property name
Description
Default value
jahiaVarDiskPath
Defines the main location of runtime data. If the jahia.data.dir system property is not set, this value is used for that setting. Otherwise, this value is ignored.
${jahiaWebAppRoot}/../../../digital-factory-data
tmpContentDiskPath
Defines the location of temporary files
${jahia.data.dir}/content/tmp/
jahiaModulesDiskPath
Defines the location of modules
${jahia.data.dir}/modules/
jahiaImportsDiskPath
Defines the location of imported files
${jahia.data.dir}/imports/
modulesSourcesDiskPath
Defines the location of modules sources
${jahia.data.dir}/sources/
jahiaGeneratedResourcesDiskPath
Defines where dynamically generated resources like aggregated CSS and JS files are stored. Unlike other DiskPath parameters, when running a Jahia cluster, it must reference a directory shared between cluster nodes. See Configuring Jahia features for more details.
${jahia.data.dir}/generated-resources/
jahia.jackrabbit.home
JCR repository home folder
${jahia.data.dir}/repository
jahia.jackrabbit.datastore.path
JCR file datastore path in case of the file-based binary storage
${jahia.jackrabbit.home}/datastore
URL settings
Property name
Description
Default value
jahiaWebAppsDeployerBaseURL
Provides your custom URL for the WAR deployer, if you use non-standard URL
http://127.0.0.1:8080/manager/html/
permanentMoveForVanityURL
If vanity URLs exists for a node and it is accessed with a non-default vanity URL, Jahia informs the client that the resource has permanently moved (HTTP status code 301). Note: this property doesn't apply if the server name of your project is not correctly set.
true
urlRewriteSeoRulesEnabled
Enables the URL rewrite engine to shorten content URLs in Live mode. For example, shortening http://my.acme.org/cms/render/live/en/site/myAcme/home.html to http://my.acme.org/home.html
true
urlRewriteRemoveCmsPrefix
Removes the /cms prefix from URLs when SEO URL rewriting is activated (urlRewriteSeoRulesEnabled is set to true)
true
urlRewriteUseAbsoluteUrls
Enables generating absolute URLs for links to resources on other sites
true
siteURLPortOverride
Forces the generation of siteURLs to a specified port. This bypasses the request.getServerPort() calls and everything else. Specify a port to force generation of the site URL (notably used in the Exit Administration button) to that port. Set to 0 to disable port overrides. Note: This property may cause issues with cookies or if you access Jahia through multiple front-end machines.
0
disableJsessionIdParameter
Disables the JsessionId parameter added by the application server to track sessions when no cookie is present
true
shiro.blockSemicolon
Block request with a 400 Bad Request error if semicolon is found in the request URI (optional)
true
Mail service configuration
Note: Mail server connection settings can be found in the /settings/mail-server repository node
Property name
Description
Default value
mail_maxRegroupingOfPreviousException
Controls mail regrouping of a repeating exception. If a repeating exception occurs more than the maximum specified here, mail is sent and you are informed with an error.
500
Database properties
Note: Database connections are configured through the container-managed datasource connection. In Tomcat, the connection is set in the <jahia-web-app-dir>/META-INF/context.xml file.
Property name
Description
Default value
db_script
derby_embedded.script
hibernate.dialect
Specifies the DB dialect used by Hibernate
org.hibernate.dialect.DerbyTenSevenDialect
org.quartz.driverDelegateClass
Specifies the Quartz scheduler driver delegate class
org.quartz.impl.jdbcjobstore.StdJDBCDelegate
Template set
Property name
Description
Default value
default_templates_set
Default value for template set
sample-bootstrap-templates
File manager
Property name
Description
Default value
jahiaFileUploadMaxSize
Configuration of the file manager that uses JCR as a back-end
104857600
Multilingual support
Property name
Description
Default value
characterEncoding
Specifies character encoding (MIME charset) of the response that is sent to the client, request character encoding and e-mail charset
UTF-8
org.jahia.multilang.default_language_code
Specifies the fall-back language code after Jahia tries resolving the current browsing code from the session, the browser's settings, and the site's language list
en
considerPreferredLanguageAfterLogin
Specifies whether to switch to the user's preferred language after login. Language switch only occurs if the current site has entries in the user's preferred language
false
Authentication
The following table describes container and cookie authentication, and CAS and SPNEGO authentication properties.
Property name
Description
Default value
auth.container.enabled
Enables the container authentication valve
false
auth.cookie.enabled
Enables cookie authentication for login. The cookie authentication valve uses cookies to store an identifier corresponding to a specific Jahia user when they select the Remember me option in the login engine.
true
auth.cas.enabled
Enables the CAS authentication valve
false
auth.cas.serverUrlPrefix
Specifies the URL prefix of the CAS server
https://localhost:8443/cas
auth.cas.loginUrl
Specifies the redirect URL to the CAS server for login
${auth.cas.serverUrlPrefix}/login
auth.cas.logoutUrl
Specifies the logout URL to invalidate the user session on the CAS server
${auth.cas.serverUrlPrefix}/logout
auth.spnego.enabled
Enables the SpnegoHttpFilter and adjust its configuration in the applicationcontext-spnego.xml file
false
Custom errorDocument site property
Property name
Description
Default value
site.error.enabled
Enables specific error document pages for each site
true
User and group name validation
Property name
Description
Default value
userManagementUserNamePattern
Specifies the pattern for the user name validation. The new user name will be tested against this regular expression (see java.util.regex.Pattern) pattern.
Please update the resource bundle message: org.jahia.admin.users.ManageUsers.onlyCharacters.label (JahiaInternalResources.properties) to reflect the pattern changes.
[0-9a-z_A-Z\\-\\{\\}\\.@]+
userManagementGroupNamePattern
Specifies the pattern for the group name validation. The new group name will be tested against this regular expression (see java.util.regex.Pattern) pattern.
Please update the resource bundle message: org.jahia.admin.users.ManageGroups.onlyCharacters.label (JahiaInternalResources.properties) to reflect the pattern changes.
= [0-9a-z_A-Z\\-\\{\\}]+
File error dumping
By default, Jahia dumps contain errors in files. Dump files are created in temp directory and have the following format:
error-DATE-TIME-EXCEPTION_COUNT_SINCE_STARTUP.txt
Generated files contain information to help you understand the context of an error. When submitting an error to Jahia support, activate this logging and submit files into the support tracking system.
Property name
Description
Default value
dumpErrorsToFiles
Enables file error dumping
true
fileDumpMaxRegroupingOfPreviousException
Controls file regrouping of a repeating exception. If a repeating exception occurs more than this maximum, a file will be dumped anyway, just so that we are still informed in case this is the only error sent.
500
useJstackForThreadDumps
If set to true, a call to an external jstack tool (from Oracle Java Platform SE package) will be done by Jahia to generate a thread dump. This generate more accurate thread dumps, although the thread dump is slower. Note: It is not guaranteed that a dump can be read by any thread dump analyzer tool available on the market.
Ensure that "jstack" is available on your PATH before enabling this property.
false
Concurrent processing options
Property name
Description
Default value
maxModulesToGenerateInParallel
Specifies how many threads can perform heavy weight processing (module creation not served from the cache)
50
moduleGenerationWaitTime
Specifies how long threads wait before starting to generate modules in heavy load situations (in milliseconds)
10,000
moduleGenerationThreadDumpToSystemOut
Generates a thread dump into System.out for troubleshooting the cause of a slowdown
true
moduleGenerationTthreadDumpToFile
Generates a thread dump into a separate file, under the ${java.io.temp}/jahia-threads/<current-date> folder, for troubleshooting the cause of a slowdown
true
minimumIntervalAfterLastAutoThreadDump
When Jahia does not respond fast enough (see moduleGenerationWaitTime) an automatic thread dump will be created to help figuring out what caused the slowdown. In order to not spam the log file, a minimum interval between two dumps can be defined. Set to -1 to disable automatic thread dumps.
60,000
maxRequestRenderTime
Specifies the maximum time, in milliseconds, that request rendering continues before an error is thrown and the request processing is stopped. Specify a value of -1 or 0 to apply no timeout to request processing. Note: A fragment rendering cannot be canceled. This timeout check is applied after the fragment rendering completes and before other fragments start to render.
60,000
Search Indexes Consistency Check and Fix
See http://jackrabbit.apache.org/api/2.2/org/apache/jackrabbit/core/query/lucene/ConsistencyCheck.html for details.
Specifies whether to perform a consistency check for the Jackrabbit search indexes, depending on the forceConsistencyCheck parameter. If set to false, no consistency check is performed on startup.
Runs a consistency check for search indexes on every startup. If false, a consistency check is only performed when the search index detects a prior forced shutdown.
false
jahia.jackrabbit.searchIndex.autoRepair
Repairs errors detected by a consistency check of search indexes. If false, errors are only written to the log.
Specifies the list of node types that Jahia creates versions for when publishing. Also determines visibility of versioning tab in content editor advanced options. Also determines visibility of versioning tab in content editor advanced options.
jmix:editorialContent,jnt:file
jahia.publication.excludedVersionedTypes
Specifies the list of node types that Jahia excludes for creating versions for when publishing. This takes priority over jahia.publication.versionedTypes. Also determines visibility of versioning tab in content editor advanced options.
<empty list>
jahia.fileServlet.statisticsEnabled
Enables access statistics logging in the Files servlet that serves files from the JCR repository
Enables the automatic synchronization of the title with the system name in Page Composer and Content Editor
true
accessManagerPathPermissionCacheMaxSize
Specifies the maximum number of entries for the JCR access manager cache that optimizes the resolution of permissions for node paths. The cache is an LRU cache that retains the specified number of entries in memory and removes the least recently used entries. The cache is instantiated for each JCR session and is usually short-lived, except in the case of long-running operations such as exports, publications, and copies.
It is recommended to keep this value low as the cache can grow quite fast on large JCR repositories. If no value is specified, the default value is 100 entries.
100
jahia.jcr.nodesCachePerSessionMaxSize
Specifies the maximum number of entries allowed in the JCRNodeWrapper instances cache. These caches are designed to optimize direct access to JCR nodes by storing recently accessed entries. The caches are implemented as LRU (Least Recently Used) caches, retaining the specified number of entries in memory and removing the least recently used entries when the limit is exceeded.
Two caches are created for each JCR session: one cache per path and one cache per identifier.
JCR sessions are typically short-lived, except in cases of long-running operations such as exports, publications, and copies.
If no value is specified, the default value is 100 entries.
Setting this property to zero or a negative value will disable the limit.
Available from Jahia 8.1.8.0 and Jahia 8.2.1.0
100
jahia.jackrabbit.queryStatsEnabled
Enables the collection of JCR query execution statistics. You can view the list of slowest queries and most popular queries in JCR Query Statistics in Jahia Tools.
true
Video thumbnails service
Property name
Description
Default value
jahia.dm.thumbnails.video.enabled
Enables the video thumbnails service. The service automatically creates thumbnail images for uploaded video files.
false
jahia.dm.thumbnails.video.ffmpeg
The path to the ffmpeg utility executable file, which is required by the video thumbnails service. The path is typically /usr/bin/ffmpeg for Linux and c:/Program Files (x86)ffmpeg-20120503-git-c1fe2db-win64-static/bin/ffmpeg.exe for Windows.
If the ffmpeg/bin folder is present in your PATH, you can specify only the executable name here.
ffmpeg
Image conversion service
Property name
Description
Default value
imageService
Specifies the image service to use. The native Java service is ImageJAndJava2DImageService.
To use ImageMagick, set the value to ImageMagickImageService and the ImageMagick path to the proper value. Note: ImageMagic will by default use a lot of memory for conversions. If you want to limit memory usage (for example in Docker containers), you should use an environment variable such as MAGIC_MEMORY_LIMIT=1GiB.
ImageJAndJava2DImageService
imageMagickPath
The path to ImageMagick and exiftools. For Windows the path is typically C:\\Programs\\ImageMagick;C:\\Programs\\exiftool<p< p="<> </p<>
Source control and Maven executables
Property name
Description
Default value
gitPath
Specifies the path to git executable
git
svnPath
Specifies the path to svn executable
svn
mvnPath
Specifies the path to mvn executable
mvn
System users resources
Property name
Description
Default value
guestUserResourceModuleName
Associates users with a resource bundle. Set the module name that contains the resource for guest
DefaultJahiaTemplates
guestUserResourceKey
Specifies the key for guest
label.user.guest
System group resources
Property name
Description
Default value
guestGroupResourceModuleName
Associates groups with a resource bundle. Set the module name that contains the resource for guest.
DefaultJahiaTemplates
guestGroupResourceKey
Specifies the key for guest
label.group.guest
Users and groups
Property name
Description
Default value
jahiaJCRUserCountLimit
Limits the number of JCR users which are read for the Users page in Server Settings>Users and Roles. By default, 100 JCR users are retrieved.
100
jahia.settings.userDisplayLimit
Limits the number of users that display by default in the Users page in Server Settings>Users and Roles. By default, 100 users display.
100
jahia.settings.memberDisplayLimit
Limits the total number of group members that display by default in the Groups page in Server Settings>Users and Roles. By default, 100 groups display.
100
OSGi settings
Property name
Description
Default value
karaf.remoteShell.port
Specifies the port which the Apache Karaf OSGi command line shell listens for SSH connections. Set it to a negative value to disable this feature.
8101
karaf.remoteShell.host
Specifies the bind address for the SSH shell. 127.0.0.1 means the SSH shell only allows local connections to be established. You may define a dedicated IP address, the console will bind to, or 0.0.0.0 which means it will be bound to all available network interfaces.
127.0.0.1
Mass imports
Define whether you want to first expand all binary files on your hard drive before import instead of searching them in the zip files. Expanding is much faster for thousands of files. You can configure the path where to expand those files. Files will be deleted at the end of import. You can also configure at what rate you want to save your node.
Property name
Description
Default value
expandImportedFilesOnDisk
Specifies whether to first expand all binary files on your hard drive before performing a mass import, instead of searching them in the zip files. Expanding is much faster for thousands of files.
false
expandImportedFilesOnDiskPath
Specifies the path to expand binary files in when performing a mass import. Files are deleted at the end of import.
/tmp
importMaxBatch
Specifies the rate at which to save your node during a mass import
500
Search and indexing
Property name
Description
Default value
queryApproxCountLimit
Specifies how many results should be iterated through before calculating approximate number of further results
100
jahia.jackrabbit.reindexOnStartup
Specifies whether to reindex all repository content on server startup Note: Reindexing can take a significant amount of time depending on the volume of data
false
Work in progress
Property name
Description
Default value
wip.checkbox.checked
Specifies whether work in progress checkbox should be checked when opening Content Editor.
false
Tagging service
Property name
Description
Default value
tag.suggester.faceted
Specifies whether the query used to suggest tags uses a faceted query to retrieve the tags. The faceted suggester sorts tags by usage count and provides the count in the result map. The faceted suggester can be slower than the default suggester. Set to true to enable the faceted suggester.
false
Publication settings
Property name
Description
Default value
jahia.ui.pickers.suppressPublicationInfo
Specifies whether publication status information is present in content picker UIs. If suppressed, publication status is not calculated, which can speed up the rendering of corresponding UI elements.
false
jahia.publication.batchSize
Defines the size of publication batch, including how many nodes can be published at once. If the number of nodes in the publication job exceeds this limit, the publication action is performed in batches. Specify a value of -1 to define no limit on the batch. In this case, the publication job processes all specified nodes at once.
100
jahia.publicationManagerNodeTypes
Specifies which additional items display in the Publication Manager, such as menu labels, and internal and external links
Specifies whether areas are automatically activated the first time a page display in Page Composer
true
external.users.properties.readonly
Lists the external user properties that are read-only. All the other user properties can be overridden locally. You can also set read-only properties for a specific provider by setting the same property suffixed with a period (.) and the provider key, for example external.users.properties.readonly.ldap=j:firstName,j:lastName,j:organization.
j:firstName,j:lastName,j:organization,
j:email
REST API
Property name
Description
Default value
jahia.find.disabled
Disables the find servlet and prevents queries through the API. Setting to false allow users to perform free-form JCR queries on {workspace}/{language}/query. This setting does not affect usage of JCR prepared queries.
true
jahia.find.nodeTypesToSkip
Specifies the node types that are skipped by the JCR REST API
jnt:passwordHistory,jnt:passwordHistoryEntry
Aggregate and cache
Property name
Description
Default value
useNewAggregateAndCacheImplementation
Switches between the Render chain V1 (false) and V2 (true) implementation
Specifies whether to display the What's New? button in the Jahia menu
true
Contribution UI customization
Property name
Description
Default value
jahia.ui.dragAndDrop
Defines drag and drop behavior in Edit mode. You can specify the following values: ENABLED: All entire content is draggable DRAG_ZONE_IN_EDIT_AREA: A drag zone displays at the top left of the module. Content can only be dragged in this zone DISABLED: All dragging and dropping is disabled
DRAG_ZONE_IN_EDIT_AREA
jahia.ui.createChildrenDirectButtons.limit
Sets the threshold to display a single "Any Content" button in Page Composer to create content, instead of displaying one button per available content type.
Available since Jahia 8.1.4
5
JQuery configuration
Property name
Description
Default value
jahia.jquery.version
The JQuery version for using JQuery in a page. The system looks for jquery-[version].min.js. The JQuery module provides versions 1.12.4, 3.4.1 and 3.6.0. Other versions can be added in a separate module.
3.6.0
JQuery-migratecanbeaddedhere:jahia.jquery.plugins
JQuery mapping plugins. Includes one or more JS files every time JQuery is called in a page. Note that JQuery-migrate (jquery-migrate-3.0.1.min.js) can be added here.
jquery-migrate-3.0.1.min.js
Site import
Property name
Description
Default value
jahia.site.import.scanner.interval
Specifies the interval of the site import file observer in milliseconds
30000
Other settings
Property name
Description
Default value
jahia.atmosphere.heartbeat
Specifies the interval (in seconds) at which the system checks the validity of the session. Ask for assistance before changing this value. Introduced with Jahia 8.0.1.0.
60
loadJahiaContext
Automatically injects javascript/initJahiaContext.js in live mode, this is necessary for CKEditor to be loaded while in live mode. Turning this setting to false might be needed for some deployments. Introduced with Jahia 8.1.6.0
true
protectedResourceAccessStrategy
Define behaviour when the user has no access to a resource (page or file) silent : returns a 404 when the resource does not exist or is not accessible authorizationError : returns a 401 for guest users and 403 for authenticated users without access
silent
Jahia node property descriptions
Cluster settings
The following table shows properties that you can add or modify in the jahia.node.properties file.
Property name
Description
Default value
cluster.activated
Activates most of the clustering communicating
false
cluster.node.serverId
The serverId must be unique for each node in the cluster
dx-8f590fe5-02c3-4f8f-9cf0-a83f080d10f6
processingServer
Specifies whether this instance of Jahia will execute long-running operations such as background jobs (for example workflow, imports, and text extraction). Only one cluster node may be a processing server. All other nodes must set this value to false.
true
cluster.tcp.bindAddress
The IP or unambiguous hostname to start the server socket on. If left empty, the IP address of first non-loopback network interface that can be detect on the machine is used.
cluster.tcp.bindPort
The port number to bind the server socket to JGroups-based cluster communication for caches and Atmosphere messages
7870
cluster.hazelcast.bindPort
The port number to bind the server socket to Hazelcast-based clustered communication for bundle deployment
7860
jContent and Content Editor configuration
org.jahia.modules.jcontent.cfg
Property name
Description
Default value
showPageComposer
Display a new version of Page Composer inside jContent.
This feature is currently under development and is not supported yet. This shall not be enabled on production environments.
false
org.jahia.modules.contentEditor.cfg
Property name
Description
Default value
createChildrenDirectButtons.limit
Threshold to display a single "New Content" button in jContent to create content, instead of displaying one button per available content type. Since Content Editor 4.3.0