Skip to main content

 Configuration

Configuration manual for PageSeeder

Global properties

The global properties apply to the entire PageSeeder server.

These values, stored in global.properties, can be found in:

WEB-INF/config
PropertyDescriptionDefault value
apiAccountIPsComma-separated list of IP addresses for API accounts (apiAccountUsernames). Doesn’t apply to OAuth client_credentials.
apiAccountUsernames

Comma-separated list of API account usernames. API account passwords cannot be reset.

apiAccountIPs must also be set for API user accounts

apiPortHTTP port for the Publish Engine to communicate with PageSeeder8282
attachmentSubDirThe group folder name to store email attachmentsattachments
autoResponderLimitAllowed number of email messages to the same locator within the auto responder time (autoResponderMinutes) before sending warning emails25
autoResponderMinutesReaching the auto responder limit (autoResponderLimit) in less than this period triggers warning email90
autoResponderReplyLimitAllowed number of email replies allowed to the same thread within the auto responder time (autoResponderMinutes) before sending warning emails10
autoResponderWarningsHow many emails with warnings to accept before rejecting comments5
csrfModeCross-Site Request Forgery protection. Allowed values: enforce, partial, disable with optional -log suffix. Requires PageSeeder v6.2 or higher (see note 3).partial-log
defaultMinimalUIIf true members who have not set a user interface preference will default to using the minimal layout. Requires PageSeeder v6.1 or higher.false
diffXMaxEventsMaximum size of number of words multiplied by number of compare words when diffing content in history and matrix algorithm is required4000000
disableDefaultDKIMIf true outgoing emails are not signed with the pageseeder.com DKIM (use if your SMTP server does the signing). Requires PageSeeder v6 or higher.false
documentFolder

Path on host file system for storing documents. If no value is specified, the folder used is:

[pageseeder install]/documents
emailDomain

The domain designated for email sent to and from the PageSeeder server. Also, the domain in the user interface.

If set to pshosts, email uses the domain of the default folder for the group. If blank incoming email is disabled.

emailEmbedImagesA boolean indicating that images in outgoing emails should be embedded as attachments – useful for intranet testing (always done when webSiteAddress=localhost or *.localhost)false
emailMaxThreadMessagesIf the number of recipients for a notification is more than this, the emails are sent in the background20
emailSenderDomainThis can send PageSeeder emails from a different domain than that in the user interface. However, with any version more recent than 5.97, the  organization config is a better way of doing this
forbidden
AttachmentExtensions
Comma-separated list of extensions for filenames that can’t be attached to comments as they might be harmful. Requires PageSeeder v6 or higher.[see note 1]
forbidden
UploadExtensions
Comma-separated list of extensions for filenames that can’t be uploaded by non-administrators as they might be harmful. Requires PageSeeder v6 or higher.[see note 1]
globalTemplateThe name of a project that an administrator designates to provide the base settings for all other projects on the server. 
groupsNumber of groups allowed by PageSeeder licenseunlimited
licenseExpiresThe date when the PageSeeder license expires (ISO 8859 format YYYY-MM-DD).
logsAccessHistoryPositive integer corresponding to the number of days the access log history is kept7
logsAccessLevel

Must be one of DEBUG, INFO, WARN, ERROR, OFF.

  • Use DEBUG or INFO to log all access.
  • Use WARN to only log access that generates HTTP status code >= 400.
  • Use ERROR to only log access that generates HTTP status code >= 500.
  • Use OFF to not log any access.
INFO
logsFolder
 
Absolute folder path for log files. If no value is set, the following folder is used:
pageseeder/webapp/WEB-INF/state/logs
mailIpIP address the PageSeeder email server is bound to, if not all IPs
mailPortPort for PageSeeder email server25
mailServerA boolean indicating that the PageSeeder mail server should be enabledtrue
mailTlsCertificateAbsolute folder path to certificate for TLS on incoming email (e.g. /etc/nginx/ssl/pageseeder/mydomain.crt or /mycertmanager/mydomain/fullchain.pem).  Requires PageSeeder v6.1 or higher (see note 2). 
mailTlsKeyAbsolute folder path to private key for TLS on incoming email - no passphrase (e.g. /etc/nginx/ssl/pageseeder/mydomain.key or /mycertmanager/mydomain/privkey.pem). Requires PageSeeder v6.1 or higher (see note 2). 
mailTlsRequiredA boolean indicating that TLS must be used (requires mailTlsKey and mailTlsCertificate). Requires PageSeeder v6.1 or higher.false
manualTokenCreationA boolean indicating that administrators can manually issue tokens and authorization codes. Requires PageSeeder v6 or higher.false
maxAccountLockoutThe maximum number of minutes an account can be locked for60
maxAttachmentNumberThe maximum number of files that can be attached to a comment in the web interface20
maxAttachmentSizeThe maximum number of bytes allowed for an attachment in a notification email10000000
maxAutosuggestPrefixesThe maximum number of prefixes in the auto-suggest query, if too high, auto-suggest fails with “maxClauseCount” error when querying small terms in big indexes (should be less than 1000). Requires PageSeeder v6 or higher.800
maxBadLoginsThe maximum number of incorrect login attempts before an account is locked10
maxFacetSizeThe maximum number of facets that can be returned in a search result1000
maxForwardXRefsThe maximum number of forward XRefs in a PSML document3000
maxIndexingSizeUpper threshold number of bytes for non-PSML files to have their content indexed. For DOCX files, this number is for the uncompressed size of the document.xml file30000000
maxIndexingThreadsThe maximum number of indexing threads. More threads increases indexing speed but should not exceed the number of CPUs on the server2
maxOpenedIndexesThe maximum number of open indexes at any one time50
maxPageSizeThe absolute maximum number of search results returned per page10000
maxReverseXRefsThe maximum number of reverse XRefs that are output in a PSML document (must not be more than maxPageSize)1000
maxUploadNotificationAttachmentsThe maximum number of document attachments on an upload notification (if more than this, then none are attached to the notification – there is no limit for email attachments)20
maxUploadSize

The maximum size in bytes to upload a single file. To support more than 1GB, update Nginx client_max_body_size.

Exceeding the size value generates an error:
Request Entity Too Large

100000000
maxVersionNotificationsThe maximum number of notifications when adding bulk versions by upload, folder or search (if more than this, then none are sent)20
maxWorkflowNotificationsThe maximum number of notifications when adding bulk workflows by upload, folder or search (if more than this, then none are sent)20
membersNumber of groups allowed by PageSeeder license or unlimitedunlimited
minAccountLockoutThe minimum number of minutes an account can be locked for30
minBadLoginsThe minimum number of incorrect logins before an account is locked5
notifyDailyTimeTime in 24 hour format when daily and weekly comment digests are sent out23:59
notifyProcessA boolean indicating that daily comment notifications should be enabledtrue
notifyWeeklyDayThe day that weekly comment notifications are sent out (they are sent at the notifyDailyTime) – must be monday, tuesday, wednesday, thursday, friday, saturday or sundaysunday
outOfOfficeLimitNumber of emails matching outOfOfficeString allowed before member is set to 'on vacation'2
outOfOfficeStringComma-separated list of strings to look for in email subjectout of the office,out of office
passwordAlgorithmThe algorithm for hashing passwords – must be sN where N >=0 (weakest/fastest) and N<=9 (strongest/slowest)s5
productKeyProduct key for PageSeeder licensedev
profilingNumber of milliseconds a database query can take before it is logged as a slow query5000
projectsNumber of projects allowed by PageSeeder license or unlimitedunlimited
publishEngineUrlURL to use the Publish Engine on a different PageSeeder server. For example:
http://myserver.com/ps/servlet/publisher
redirectPortsComma-separated list of TCP ports which are redirected to webSitePort (for example, 80,8080) – only supported on Windows, for Linux we recommend using Nginx
serviceStrictIf true an HTTP error is returned for deprecated or non-released services. If log only a warning is logged.log
servletPrefixThe path used to access PageSeeder servlets as defined in the Web configuration (web.xml)/ps/servlet
sessionTimeoutIf a user has not accessed PageSeeder for this many minutes they are signed out automatically (unless they ticked remember me). Requires PageSeeder v6 or higher.120
sitePrefixThe path of the PageSeeder app as defined in the Web configuration (web.xml)/ps
slowIndexingSizeNon-PSML files with larger than this number of bytes join the slow indexing queue to conserve memory1000000
smtpAsyncIf ‘true’ send all emails asynchronously which can be useful if your SMTP server is slow. Send failures are shown in general and process logs and this property is overridden by the notify-async parameter in services. Requires PageSeeder v6 or higher.false
smtpServerAddressSMTP server to use for outgoing email messages (if blank, outgoing email is disabled)localhost
smtpServerPasswordPassword for SMTP authentication of outgoing emails
smtpServerPortPort of SMTP server to use for outgoing email messages25
smtpServerSSLIf 'true' connect to SMTP server using SSL for outgoing email messages. Requires PageSeeder v6 or higher.false
smtpServerSTARTTLSIf 'true' connect to SMTP server using START TLS for outgoing email messages. Requires PageSeeder v6 or higher.false
smtpServerUsernameUsername for SMTP authentication of outgoing emails
urlRequestDelayThe delay in seconds between requests to the same domain when validating URLs. Requires PageSeeder v5.99 or higher.10
webhookRequestIntervalThe number of seconds to collect webhook events into a batch before sending as a single request (0 means 0.5 seconds)5
webhookRequestSizeThe maximum number of bytes in a single webhook request (requests are split if they exceed this limit)1400
webhookRetriesThe maximum number of times a failed webhook request is resent before the webhook status is changed to “unreachable”12
webSiteAddressSpecifies the host of PageSeeder; must be a valid hostname localhost
webSitePortThe port to access PageSeeder; must be a valid port number 443
webSiteSchemeSpecifies the URL Scheme used to access PageSeeder. Supported values: http or httpshttps

The default value for both forbiddenAttachmentExtensions and forbiddenUploadExtensions is: ade,adp,apk,appx,appxbundle,bat,cab,chm,cmd,com,cpl,diagcab,diagcfg,diagpack,dll,dmg,ex,ex_,exe,hta,img,ins,iso,isp,jar,jnlp,js,jse,lib,lnk,mde,msc,msi,msix,msixbundle,msp,mst,nsh,pif,ps1,scr,sct,shb,sys,vb,vbe,vbs,vhd,vxd,wsc,wsf,wsh,xll

On Linux the files referenced in mailTlsCertificate and mailTlsKey must be accessible to the pageseeder user. Ensure that files have r permission and all ancestor directories have rx permission for the correct group.

The csrfMode determines if non-GET requests require an Anti-CSRF-Token header/parameter as follows: enforce means required, partial means required except for legacy API requests, disabled means not required. The -log suffix means that all non-GET requests without the token will be logged as warnings.

  • Properties that support multiple values must separate the values with a single comma and no spaces. 
  • Where properties expect boolean flags, the allowable values are: true or false.
  • The default values in this document are for guidance and convenience only; for existing servers, refer to the actual global.properties before making any decisions.

Role override

These optional properties affect the default functionality assigned to a role.

  • save-release is now deprecated, use create-workflow instead.
  • set-style-owner on adminEnable is now deprecated.
  • assign-all-comments on reviewerEnable and contributorDisable are now deprecated.
PropertyAllowed values
publicEnableself-register
reviewerEnablecreate-workflow
contributorDisableedit-comments,archive-comments,manage-documents
managerEnabledelete-comments
managerDisableedit-comments,archive-comments,edit-docids
adminEnabledelete-comments,delete-documents,admin-database,access-personal

Deprecated properties

The following properties have been deprecated and are no longer used in the latest version of PageSeeder (ver 6.XX)

PropertyDescriptionSince Version
customFolderA custom project template that applies to all projects on the server (use globalTemplate instead)5.98
topicsNumber of groups allowed by PageSeeder license or unlimited (use groups instead).5.98

Obsolete properties

After upgrading to PageSeeder ver 6.1, the following properties are obsolete and can be safely removed from the global.properties.

PropertySince version
anchorPrefix6.0
attachmentDir5.8
autoNoSeed5.1
autoSeed5.1
autoToolbar5.1 
backupExtension5.2
contentLineLength5.98
country5.97
customPackage 5.93
documentPort (now fixed at 806.1
documentScheme(now fixed at http6.1
ignoreExtensions5.2
ignorePrefix5.2
indexExtension5.2 
htmlOutputEncoding5.97
htmlSourceEncoding5.97
language5.97
linkSeeds 5.98
mailRelay 5.7
mailReturnedAddress5.8
manualExtension5.2
originalExtension5.2
notifyFromAddress5.97
servletApi5.98
sessionPrefix5.97
treeMaxObjects5.8
version6 6.0
webExtension5.2
warConfig 5.98
Created on , last edited on