Configuration Files#

sysadmin

Some global settings are made via configuration files in the ALLEGRA_HOME directory.

GeneralSettings.properties#

The following settings can be made in GeneralSettings.properties.

# Set the maximum number of concurrent connections to the SMTP server
maxNoOfSMTPConnections=10

# Maximum number of items to render in navigator without extra showAll request
maxItemsNavigator=1000

# Maximum number of items loaded from the database by any filter
# (item navigator/cockpit/datasource).
# If the result is greater than this value an empty result is returned
# with a corresponding message
maxItems=10000

# The maximum number of recurring items to generate at once
# (it does not limit the total number of generated items)
maxRecurringToCreateAtOnce=25

# Replace (instead of inserting new) history changes of fields with explicit
# history for changes in the last x minutes and do not send an e-mail again if a
# field changes again within x minutes. The status field is exempt from this rule.
historyAndEmailDelay=5

# Whether the automatic bottom-up calculation of plan and expenses is active
# disallowing direct plan, expense, values, for parent items
summaryItemsBehavior=true

# Force recomputing the bottom up or resetting summary computations
# on application startup. Should not be kept permanently on true but
# only for a single startup after changing the summaryItemsBehavior
recomputeSummaryOnStartup=false

# Whether (individual) automails should be sent after mass operation:
# Edit/Copy selection or Excel import.
# Drag and drop in item navigator will notify in any case
notifyAfterMassOperation=false

# Whether to use internal comment
item.useInternalComment=true

# Whether to show groups as possible target recipients by sending an
# e-mail from an item.
item.emailRecipient.allowGroups=false

# Whether to allow all persons with read right as selectable in the target
# recipients of an item e-mail or the RACI persons of the item only.
# This flag decides only the electable persons from the drop-down or list, but
# any e-mail address can be added by typing it in manually.
item.emailRecipient.possibleTargetRecipients.allReaders=false

item.notification.observer.workspaceRoles=2,3

# Locales activated
# Further narrowing is possible by adding the region code:
# locale.de_DE=true, locale.de_=true => language without region identifier etc.
locale.de=on
locale.en=on
locale.es=on
locale.es_AR=off
locale.fr=on
locale.it=on
locale.no=on

# Base file name for exporting items from item browser (in excel, pdf, etc.)
export.itemNavigator.baseFileName=AllegraReport

# Docx export settings section --------------------------
# The style used for image caption text
export.docx.style.imageCaptionStyle=Caption

# Whether to highlight inline content
export.docx.style.highlightInlineContent=true

# The style used for highlighting the inline item's content. It can be a
# paragraph style (like Quote) or a character style (like Subtle Emphasis)
export.docx.style.inlineContentStyle=Quote

# The headings in the HTML source should normally be removed before
# transforming it into MS Word content (the HTML to Word converter would
# create equivalent word headings).
# Otherwise, it would mess up the word headers explicitly generated based
# on item hierarchies
export.docx.removeHTMLHeaders=true
# Docx end -------------------------------------------------

# The number of pixels for LaTeX textWidth
export.tex.textWidth=1000

# Timeout in seconds to interrupt the LaTeX process if not finished automatically.
# It might be blocked on an error that's why after some time it is interrupted.
# Very long documents might need longer processing time.
export.tex.latexProcessTimeout=40
export.tex.textWidth=1000
export.tex.landscapeRatio=1.3

filter.expandResponsibleGroupsToPersons=false


# URL to TKeyGen app.
tkeygenURL=https://trackplus.com/keygen
purchaseURL=https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FTQZRXR5G93CA

# captureRequests=on
# sso.enabled = off
# sso.ssoServerUrlPrefix = https://localhost:8443/cas
# sso.ssoServerLoginUrl = https://localhost:8443/cas/login
# sso.trackServerUrl = https://localhost:8444/com.trackplus.core

# If true the save parameters passed by the user are tested
# and cleaned against XSS hacks.
security.enableXSSParameterCleaning=true

# Get a JSON string with videos available
videoTutorials.allegraUrl=https://www.alltena.com/getVideos.php
videoTutorials.customUrl=
onboarding.userlane=false

# If true then the Db. backup and restore menu items are removed from the Admin menu.
# If missing or false then the menu items are present
dbExportImportDisabled=false

# Whether receiving/sending e-mails is allowed. Useful for test instances.
# allowEmail=true
addItemEmailAsComment=true

# Add the allowed cross-site domains as comma-separated values
# allowedCrossSiteDomains=example1.com,example2.com
wiki.disableDocumentCache=false
wiki.renderAttachments=true
wiki.renderAttachmentsInSection=true
wiki.renderLinks=true
wiki.renderComments=true
wiki.renderInternalComments=false

# Whether to load comments in inline item macro's report bean
# (used only if inline item template refers to the comment field)
# otherwise leave false for performance reasons
wiki.loadCommentsInInlineItems=false
wiki.warnOnNonConflictingEdit=true

# Has meaning in computing the workload for an item having
# a start date in the past and an end date in the future:
# Compute the duration from now on till end (not from start date).
# The workload might increase because the remaining effort should be
# divided on fewer days
scheduler.onlyFutureDurationOnWorkload=true

# Whether watcher changes are registered in the item history
watcherHistory=false

# Whether watcher changes modify the last edited field of an item
watcherModifiesLastEdited=false

# Whether attachment changes are registered in the item history
attachmentHistory=true

# Whether attachment changes modify the last edited field of an item
attachmentModifiesLastEdited=true

# Fixes the Gantt milestone tasks, it can be shifted only manually.
# Automatic shifts like cascade is not applied.
gantt.fixMilestones=false

# This should be a public filter for fixing the dates of certain tasks
gantt.fixFilter=GanttFixFilter

# Whether to hide the fixed filter items in the Gantt chart: typically past
# (start/end date passed) and closed items are implicitly fixed
gantt.hideFixFilterItems=false

# Whether the originally rendered time span should be preserved while zooming.
ganttAndSch.zoomKeepsOriginalTimespan=false


# the path to the item
serviceDesk.itemPath=#/application/item/{itemID}

allegra.infrastructure.url=https://allegra-software.com/allegra-infrastructure/

# Number of days after a user has to confirm his two-factor authentication
# if the custom intensity is turned on.
tfaRenewalInterval=5

# Number of minutes until the email-based two-factor authentication code is valid.
tfaEmailCodeValidityInMin=10

# Master flag to disable the whole 2FA. Overwrites DB settings.
tfaDisabled=true

# If turned on then the Gantt task start date can't be modified
# to a date in the past.
gantt.disableStartDateToPast=false

# Gantt and Scheduler print server URL. For installing the print server
# please check the installation manual.
ganttAndSch.printServer.url=

# Allegra and external app. integrations
# Allegra Slack app. client ID
integration.slack.allegraApp.clientID=514327577985.1177782413895

# If enabled then the password is validated by the rule defined in:
# system.passwordValidationRegexp + the password cannot contain
# parts of the user name
system.securePassword=false

# Example password validation rule for user password policy:
# At least 8 characters
# At least one upper and one lower case character
# At least one special character
# At least one number
# Commas must be escaped
# Use ChatGPT to generate regular expressions for your own password policies
# Prompt: please create a regular expression meeting the following conditions:
#    1. At least 8 characters
#    2. At least one special character
#    3. At least one capital letter
#    4. At least one number
system.passwordValidationRegexp=(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@\#$%^&+=])(?=\\S+$).{8,}

# User welcome email (either sent explicitly or by admin user creation)
# confirmation link expiration time in hours.
system.welcomeEmailLinkExpirationInHours=8

# The rest API documentation URL when hosted locally.
# restAPIDoc.url=http://company-intranet.com/rast-api-doc
# The remote General settings JSON file URL.
system.remoteGeneralSettingsUrl=https://www.trackplus.com/allegra-remote-config.php

# Ms. Exchange integration
integration.microsoft.allegraSoftwareApp.mailScopes=https://outlook.office.com/IMAP.AccessAsUser.All,https://outlook.office.com/SMTP.Send
integration.microsoft.allegraSoftwareApp.authorityEndpoint=https://login.microsoftonline.com/{tenantID}/oauth2/v2.0/authorize

# Flag which determines to auto-generate the client user name
# during creation based on user first and last name.
# autoGenerateClientUserName=true;

# Flag which determines if the client email is mandatory or not
# during creation/edition.
# isClientEmailRequired=false

# Whether to clean the quoted content of the e-mail by processing
item.emailReceived.removeQuotedPart=true

# apple mail
item.emailReceived.replySelector.appleMail=blockquote[type*=cite]

# Although in AppleMail cite is included in blockqoute (no need to remove
# explicitly). The reply selector is same as for Thunderbird so possibly
# sending e-mail from Thunderbird might match the apple selector but in
# this case the Thunderbird cite prefix would not be removed. To avoid this
# try to remove the Thunderbird cite prefix even from apple mail
appleMail.cite=div[class=moz-cite-prefix]
appleMail.delimiterSelector=div[class*=answerDelimiter]

# Thunderbird
item.emailReceived.replySelector.thunderbird=blockquote[type=cite]
thunderbird.cite=div[class=moz-cite-prefix]
thunderbird.delimiterSelector=div[class=answerDelimiter]

# Outlook: whether the e-mail is from Outlook
item.emailReceived.outlookSelector=body > div[class*=WordSection1]
item.emailReceived.replySelector.outlook=div[style*=border:none;border-top:solid]
outlook.delimiterSelector=div[id*=answerDelimiter] span:containsOwn(%delimiterText%)

# Yahoo mail
item.emailReceived.replySelector.yahooMail=div[class*=yahoo_quoted]
yahooMail.delimiterSelector=div:containsOwn(%delimiterText%)

# Gmail
item.emailReceived.replySelector.gmail=blockquote[class*=gmail_quote]
gmail.delimiterSelector=div:containsOwn(%delimiterText%)
gmail.cite=div[class*=gmail_attr]


# Own delimiter selector variants to search for
item.emailReceived.delimiterSelector=div[class=answerDelimiter]
item.emailReceived.delimiterSelector=div[class*=answerDelimiter]
item.emailReceived.delimiterSelector=div[id*=answerDelimiter]

# Own automail detail variants to search for
item.emailReceived.automailDetailSelector=div[class=automailDetails]
item.emailReceived.automailDetailSelector=div[class*=automailDetails]
item.emailReceived.automailDetailSelector=div[id*=automailDetails]

# Own item details variants to search for
item.emailReceived.itemDetailSelector=div[class=itemDetail]
item.emailReceived.itemDetailSelector=div[class*=itemDetail]
item.emailReceived.itemDetailSelector=div[id*=itemDetail]

# own conversation history variants to search for
item.emailReceived.itemConversationHistorySelector=div[class=itemConversationHistory]
item.emailReceived.itemConversationHistorySelector=div[class*=itemConversationHistory]
item.emailReceived.itemConversationHistorySelector=div[id*=itemConversationHistory]

# own item link variants to search for
item.emailReceived.itemLinkSelector=div[class=itemLink]
item.emailReceived.itemLinkSelector=div[class*=itemLink]
item.emailReceived.itemLinkSelector=div[id*=itemLink]

item.emailSend.includeDelimiterInAutomail=false
# A comma-separated list of file extensions which indicates:
# Always save the attachment regardless of the "Always save attachment"
# configuration in the users profiles.
# fileExtensionsToAlwaysSave=xml,html,xhtml
# Item view/edit copy to clipboard template: ${<fieldName>}
# item.copyToClipboardTemplate=[#${IssueNo}] ${Synopsis}

# Read more about handling the following links:
# https://stage.alltena.com/docs/en/latest-dist/installation-guide/extServices/docHosting.html
# termsOfUse.url.en=
# termsOfUse.url.de=
# privacy.url.en=
# privacy.url.de=
# onlineHelp.url.en=
# onlineHelp.url.de=
# restAPIDoc.url=

FilterSubscriptions.properties#

The following settings can be made in FilterSubscriptions.properties These set the filter subscriptions for newly created users.

Public.AllItems=on
Public.Outstanding=on
Public.MyItems=on
Public.ManagerItems=on
Public.ResponsibleItems=on
Public.AuthorItems=on
Public.Meetings=on
Public.Unscheduled=on
Public.ClosedRecently=on
Public.AddedRecently=on
Public.UpdatedRecently=on

PdfExcelExport.properties#

The following settings can be made in PdfExcelExport.properties. These control the appearance of the print view when creating reports directly from the item overview.

# export to pdf
pageWidth = 842
pageHeight = 585
leftMargin = 30
rightMargin = 30
topMargin = 20
bottomMargin = 20
# export to pdf or excel
groupTextFirstLeftPadding = 5
groupTextLeftPaddingPace = 10
imageTopPadding = 2
imageBottomPadding = 2
textLeftPadding = 3
textRightPadding = 0
issueOverdueIconWidth = 35
budgetExpenseUnitWidth = 35
detailBandHeight = 13
groupBandHeight = 13
pageHeaderBandHeight = 13
detailFontSize = 9
groupFontSize = 9
pageHeaderFontSize = 9
# scaling between the pdf pixels and the field width from db layout (782/930)
scalingFactor = 0.85
# long field width in excel
longFieldWidthGrid = 500
# convert the long fields from HTML to plain
longFieldIsPlain = true
defaultFieldWidth=150
# export images in excel
showImageInGrid = false
# export all fields in Excel not only the fields from the current layout
showAllFieldsInGrid = false
# the logo file for pdf
logo=reportLogo.png