Specifying Jahia properties

November 14, 2023

You can configure Jahia features and services by specifying properties the jahia.properties file. You can also specify clustering settings in the jahia.node.properties file. Both files are located in the digital-factory-config/jahia 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 development
maintenanceMode Enables maintenance mode, where no requests are served except to /tools/. For more information, see Enabling system maintenance and read-only modes. false
readOnlyMode Enables read-only mode and disables access to Edit, Studio, and administration modes. For more information, see Enabling system maintenance and read-only modes. false
sessionExpiryTime Sets the session lifetime in minutes 60

Jahia Tool Manager

Property name Description Default value
jahiaToolManagerUsername Specifies the Tool user name. You can access tools by default at localhost:8080/modules/tools/jcrConsole.jsp. jahia
jahiaToolManagerPassword Specifies the Tool password. You can access tools by default at localhost:8080/modules/tools/jcrConsole.jsp.  

Disk paths

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 using distributed sessions, 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) 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

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 SPENGO 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 Jackrabbit Class ConsistencyCheck documentation for details.

Property name Description Default value
jahia.jackrabbit.searchIndex.enableConsistencyCheck 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. false
jahia.jackrabbit.searchIndex.forceConsistencyCheck 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. true
jahia.jackrabbit.searchIndex.spellChecker.distanceImplementation Specifies the distance implementation for suggested words for the spell checker org.apache.lucene.search.spell.LevensteinDistance
jahia.jackrabbit.searchIndex.spellChecker.minimumScore Specifies the minimum similarity score for suggested words for the spell checker. A lower value increases the amount of suggestions. 0.7

Workspace Persistence Manager Consistency Check and Fix

Property name Description Default value
jahia.jackrabbit.consistencyCheck Specifies whether to perform a consistency check of the JCR repository during startup false
jahia.jackrabbit.consistencyFix Specifies whether the consistency check should attempt to fix issues that it discovers false
repositoryDirectoryListingDisabled Disables the directory listing for the /repository servlet.
Note: The WebDAV client access won't work in such a case.
false
repositoryAllowedNodeTypes Specifies the node types that can be exposed through the /repository WebDAV servlet. Node types not listed here are unavailable. rep:root,jnt:virtualsitesFolder,
jnt:virtualsite,jnt:folder,jnt:file
jahia.publication.versionedTypes Specifies the list of node types that Jahia creates versions for when publishing jmix:editorialContent,jnt:file
jahia.fileServlet.statisticsEnabled Enables access statistics logging in the Files servlet that serves files from the JCR repository false
jahia.jcr.maxNameSize Specifies the maximum size of node names 32
jahia.ui.contentTab.defaultSynchronizeNameWithTitle Enables the automatic synchronization of the title with the system name in Edit mode 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.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

Document converter service

Property name Description Default value
documentConverter.enabled Enables the document conversion service false
documentConverter.officeHome Specifies the file system path to the Open Office. The path is typically /usr/lib/openoffice
for Linux, c:/Program Files (x86)/OpenOffice.org for Windows, and /Applications/OpenOffice.org.app/Contents for Mac OS X.
 

Document viewer service

Property name Description Default value
jahia.dm.viewer.enabled Enables the document viewer service, which allows previewing documents of various formats, such as Office, as an SWF flash or PDF file false
jahia.dm.viewer.pdf2swf Specifies the path to the pdf2swf utility (from SWFTools). The document viewer service requires the utility to be able to present documents as an SWF Flash. The path is typically /usr/bin/pdf2swf
for Linux and c:/Program Files (x86)/SWFTools/pdf2swf.exe for Windows. If the SWFTools installation folder is present in your PATH, you can specify only the executable name here.
Leave this property empty to preview documents as a PDF rather than SWF.
pdf2swf

Document thumbnails service

Property name Description Default value
jahia.dm.thumbnails.enabled Enables the document thumbnails service. The service automatically creates thumbnail images for uploaded documents for PDF files. For the service to work with non-PDF files, the document converter service should be enabled to perform an intermediate conversion of documents to PDF files. 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 edit engine. 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.ui.managers.suppressTreePublicationInfo Specifies whether publication status information is present in the left tree for the managers (content manager, repository explorer, etc.). If suppressed, publication status is not calculated, which can speed up the rendering of corresponding UI elements. false
jahia.ui.managers.suppressTablePublicationInfo Specifies whether publication status information is present in the content table for the managers (content manager, repository explorer, etc.). 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 jmix:publication,jmix:workflowRulesable,
jnt:navMenuText
area.auto.activated Specifies whether areas are automatically activated the first time a page display in Edit and Contribute mode 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 to allow users to perform any query on /find and /{workspace}/{language}/query. true
jahia.find.nodeTypesToSkip Specifies the node types that are skipped by the find API jnt:passwordHistory,jnt:passwordHistoryEntry
jahia.find.propertiesToSkip Specifies the properties that are skipped by the find API jnt:user.j:password,
jnt:passwordHistoryEntry.j:password

Aggregate and cache

Property name Description Default value
useNewAggregateAndCacheImplementation Switches between the Render chain V1 (false) and V2 (true) implementation false

GWT theme activation

Property name Description Default value
jahia.ui.theme Enables the anthracite theme for Google Web Toolkit (GWT) UI jahia-anthracite

Documentation

Property name Description Default value
documentation.link Defines the link to the documentation https://academy.jahia.com/documentation/digital-experience-manager/7.3
sql2CheatSheet.link Defines the link to the JCR-SQL2 Query cheat sheet topic in the Academy. The link displays below advanced searches in Content and Media Manager. https://academy.jahia.com/documentation/techwiki/search/jcrsql2-query-cheat-sheet
whatsNew.link Defines the link to the What's New? page in the Academy https://www.jahia.com/$ui-lang([en,fr],en)/customers/whatsnew?dxversion
whatsNew.display Specifies whether to display the What's New? button in the Jahia menu true

Drag and drop 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
NO_DRAG_IN_EDIT_AREA: Dragging in the main panel is disabled but content can still be dropped from the navigation panel
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

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 and 3.4.1. Other versions can be added in a separate module. 3.3.1
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

Consult with Jahia support before adding the following Jahia property.

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

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