Logo Help Center

Advanced configuration settings for Elvis 4 Server

Advanced configuration settings for Elvis 4 Server

This article lists a set of advanced configuration settings supported by the Elvis server. The values listed are the default settings.

Applicable version

The settings that are listed here apply to version 4.6.16. If you are running an older version, some of the settings may not be available.

Changing the settings

To change any of these settings, add them to <Config>/config.properties.txt file and change the values to the described options.

Warning: Changing advanced configuration values is at your own risk. Please consult support@woodwing.com before changing any values that are not in the default config.properties.txt.

#------------------------------------------------------------------------------
#
# Elvis default configuration values
#
#------------------------------------------------------------------------------
#
# Special properties that are provided by the server and are used in this file:
#
# - appDataDir
# - configDir
# - logsDir
# - appDir
# - osName
# - cpuCores
# - cpuCoresPlusOne
# - serverVersion
# - serverVersionWithLabel
# - computerName
# - localIPAddresses
#
# These can be used in other configuration values, for example:
#
#   dataLocation=${appDataDir}/Elvis Data
#
#------------------------------------------------------------------------------



#------------------------------------------------------------------------------
#
# General configuration
#
# These properties are already available in the config.properties.txt
#
#------------------------------------------------------------------------------

#
# Email address that will receive server warnings
#
serverAdminEmail=

#
# Email address from which email notifications are sent to users
#
notificationEmailFrom=${serverAdminEmail}

#
# To improve reliability of warning emails, you may have to configure your
# SMTP server below. Otherwise mails might get marked as SPAM.
# Setting the host is usually enough. If needed, credentials can be specified.
#
# Remove the '#' in front of the settings that you configure.
#
smtpHost=
smtpPort=25
smtpUsername=
smtpPassword=
smtpDebug=false

#
# IP address or domain to listen on (to bind) for HTTP
# Use 0.0.0.0 to listen on all available IP addresses
#
serverHost=0.0.0.0

#
# TCP Port used by the server for HTTP
#
serverPort=8080

#
# Virtual path where the web application will run. For example '/elvis'. This can be
# useful in situations where the server is running behind a reverse proxy, serving
# multiple websites, running in different 'virtual subfolders' under one domain.
#
# Note: This will be part of the server URL, so only use slashes '/'.
# This is NOT a file or directory path.
#
serverPath=/

#
# IP address or domain to listen on (to bind) for HTTP
# Use 0.0.0.0 to listen on all available IP addresses
#
serverHostForProcessingCluster=0.0.0.0

#
# TCP Port used by the server to receive connections from processing cluster
#
serverPortForProcessingCluster=8081

#
# Allows to explicitly configure the serverUrl used internally by the Elvis Server.
#
# When empty, the server will attempt to define it's own url which might may be
# incorrect when multiple network interfaces are available. In such case, define
# the serverUrl here explicitly.
#
#    serverUrl=http://elvis.mydomain.com
#
serverUrl=

#
# Explicit base URL for e-mail links composed in the desktop client. See:
#
# https://woodwing.zendesk.com/hc/articles/202967275-Access-for-external-users
#
# Leave empty so the desktop client will use its own server URL (the one used to
# connect to the Elvis server) for e-mail links. Only specify an explicit URL
# when the Elvis server has a different external and internal address or domain.
# In most cases it is preferred to use proper DNS setup so the internal and
# external domain of the Elvis server are the same.
#
#    externalServerUrl=https://elvis.mydomain.com
#
externalServerUrl=

#
# Allows to explicitly configure the server URL used for communication with
# Processing Servers.
#
# When empty, the server will attempt to define it's own url which might may be
# incorrect when multiple network interfaces are available. In such case, define
# the clusterServerUrl here explicitly.
#
#    clusterServerUrl=http://10.0.0.21:8081
#
clusterServerUrl=

#
# Allows to explicitly configure the server URL used for plugins
#
# When empty, the server will attempt to define it's own url which might may be
# incorrect when multiple network interfaces are available. In such case, define
# the pluginsServerUrl here explicitly.
#
#    pluginsServerUrl=http://10.0.0.21:8081
#
pluginsServerUrl=

#
# Set to false to prevent auto-discovery of Elvis Processing Servers on the same
# network. For example on a test server to prevent conflicting with a production
# server and processing nodes in the same network.
#
# When set to false, processing nodes can still be connected to this machine by
# explicitly configuring the 'mainServerUrl' on the Elvis Processing Server to 
# the clusterServerUrl of this machine.
#
autoDiscoveryEnabled=true

#
# Main data location. This is where all originals, previews, thumbnails,
# profiles and other data are stored.
#
# In most cases this will be a large flexible volume. For example
# using external storage (SAN) connected using a block level protocol
# like iSCSI or Fibre.
#
# This folder should be included in your backup procedure.
#
# Note: Use '/' or enter '\\' instead of '\'.
#
dataLocation=${appDataDir}/Elvis Data

#
# Hot data location. This is where the search index and internal database are
# stored. For optimal performance you must put the hot data on the fastest
# storage available.
#
# In most cases this will be the internal RAID set of the server, especially when
# using SAS or even better: SSD. Although in some cases external storage (SAN)
# can be faster since more disks can be read and written at the same time.
#
# This folder does not have to be included in your backup. Since the files in it
# are constantly changing and being written to, they are hard to backup anyway.
# Elvis creates static backups of this data in the main dataLocation every night.
# See 'Backup' plugin.
#
# Note: Use '/' or enter '\\' instead of '\'.
#
hotDataLocation=${appDataDir}/Elvis Hot Data

#
# Set to true when the Elvis data folder (dataLocation) is connected to a 
# file level protocol storage device such as SMB/CIFS or NFS.
#
# When enabled, Elvis will be more robust against file system instabilities 
# caused by some storage solutions using file level protocols. It will retry file 
# operations, such as create, move copy and delete if they fail the first time. 
#
fileSystemReliability.retryOnError=false

#
# Set to true when the Elvis data folder (dataLocation) is connected to a
# file level protocol storage device such as SMB/CIFS or NFS.
#
# When enabled, Elvis will create a temp copy of asset for local processing.
# This might prevent possible problems with processing files in external tools (exiftool).
#
fileSystemReliability.makeLocalCopy=false

#
# To enable OpenCalais metadata enrichment for all files containing text, enter
# your OpenCalais API Key here. You can request an API key at:
#
# http://www.opencalais.com/APIkey
#
openCalaisAPIKey=

#
# Specify an http:// url for the welcome page that is displayed in the desktop
# client after login. Leave blank to disable the welcome page.
#
#    startScreenUrl=
#
# You can place a custom welcome page in the 'plugins' folder and use a URL like this:
#
#    startScreenUrl=${pluginsRootUrl}/welcome/welcome.html
#
startScreenUrl=http://start.elvisdam.com/start_screen/?v=$version

#
# Default locale to use when none is supplied by a client connected to the system.
# When you specify 'default', the locale provided by the operating system is used.
# This may not always be correct, so it is better to specify a locale explicitly.
#
#    locale=en_US
#
# Choose one of the following supported locales:
#
#	en_US, de_DE, fi_FI, fr_FR, it_IT, ja_JP, ko_KR, nl_NL, pl_PL, ru_RU, th_TH,
#	tr_TR, zh_CN, zh_TW
#
# When the 'analyzerLocale' config property is empty, this locale will be used to
# select the Lucene default analyzer that is used to index and search text.
#
# Important: when you change the locale or the analyzerLocale, all metadata needs to be
# re-indexed. Otherwise the indexed terms won't match the terms produced by analysis
# of the search query. Re-indexing metadata can be done by running an asset index-
# update with no options selected.
#
# This locale is also used to determine the primary language for Mac encoding
# detection in non-XMP metadata (for example IPTC metadata saved in MacRoman).
#
locale=default

#
# The default locale selected on the client login screen.
#
# Leave empty to use "same as client system", this option will let the desktop
# client decide which of the supported locales fits best to the language
# settings of the client operating system.
#
# The same goes for the email link viewer and web client. It will take the
# language provided by the web browser (which usually takes it from the OS).
# Unless you explicitly configure a defaultClientLocale.
#
# For example:
#
#    defaultClientLocale=de_DE
#
defaultClientLocale=

#
# Set to true to export assets as shadow objects by default, set to false to create
# a copy of the asset in enterprise by default.
#
# The default setting can be overruled in the AIR-client by setting 
# enableExportShadowObjets to true
#
# Exporting shadow objects is supported by Enterprise 8 or higher, this option has
# no effect on exporting to Enterprise 7 or lower.
#
defaultExportShadowObjects=true

#
# Enables a checkbox in the export to Enterprise dialog to allow a choice between 
# exporting a copy or a shadow object to Enterprise.
#
# Exporting shadow objects is supported by Enterprise 8 or higher, this option has
# no effect on exporting to Enterprise 7 or lower.
#
enableExportShadowObjects=false

#
# Timeout in seconds used by the client when logging in to Enterprise.
# 
# Increase this value when login fails on connection timeout in the export
# to Enterprise dialog.
#
enterpriseLoginTimeout=10

#
# Timeout in seconds used by the client when communicating to Enterprise.
# 
# Increase this value to increase the time the client will wait for large
# exports to Enterprise to be successful.
#
# When the request is timed out, the client will assume the export went fine.
#
enterpriseExportTimeout=30

#
# Set to true to route exported assets to the inbox of the user that was logged
# in to Enterprise for the export.
#
sceRouteToUser=true


# 
# Update queue for Enterprise setting: Max updates to be sent in retrieve call
#
sceUpdatesQueueMaxUpdatesToRetrieve = 50

# 
# Update queue for Enterprise setting: Max length of the queue. 
# If set to 0, queue is unbounded If some bound is
# set, puts will wait for maxPutWait and fail if maxPutWait time elapsed
#
sceUpdatesQueueMaxQueueLength = 1000

# 
# Update queue for Enterprise setting: 
# Max time to wait before giving up to perform put in the queue in
# milliseconds Will be taken into account if maxQueueLength > 0 
# and max queue length is reached
#
sceUpdatesQueueMaxPutWait = 2000

#
# Number of assets to fetched for the queue at a time (balances queue load 
# between bulk update and runtime updates)
#
enterpriseUpdateBatchSize = 50

#
# Pause in milis between batches (makes server less loaded with the update 
# process)
#
enterpriseUpdatePauseMilis = 1000

#
# We can send updates to the queue only if it is loaded not more than 
# allowedQueueLoadPercentage, this balances queue load between bulk update 
# and runtime updates
#
enterpriseUpdateAllowedQueueLoadPercentage = 60


#------------------------------------------------------------------------------
#
# Additional configuration for Elvis desktop client
#
#------------------------------------------------------------------------------

#
# URL to redirect to when arriving in the root of the server. By default
# redirects to the install page for the Elvis desktop client.
#
# For example, this can be changed to redirect to a custom HTML-based interface
# for Elvis:
#
#    landingPageUrl=plugins/api-samples/index.html
#
# It can also redirect to an external URL, for example to 'hide' the Elvis Server:
#
#    landingPageUrl=http://www.example.com
#
# Note: the landingPageUrl will be sent to the client browser as 302 redirect.
#
landingPageUrl=install

#
# Same as externalServerUrl, but for the e-mail URL that links to the client.
#
externalAirClientServerUrl=${externalServerUrl}

#
# Max number of simultaneous uploads for desktop clients.
#
# This limit is lower on Windows because the OS network stack will block more than
# a few connections to the same server.
#
maxSimultaneousUploadsWindows=2
maxSimultaneousUploadsOSX=5

#
# A comma separated list of supported locales with available translations.
#
# This can be customized to add a language that is not yet bundled in Elvis.
# Appropriate message files should be placed at:
#
#    <appDataDir>/Config/messages/
#                                 acm_<locale>.properties
#                                 cmn_<locale>.properties
#                                 web_<locale>.properties
#
# Note: the messages displayed by Elvis can all be translated. Some message are
# provided by the flex framework. Those cannot be modified and only support the
# following locales: da_DK, de_CH, de_DE, el_GR, en_AU, en_CA, en_GB, en_US, es_ES, fi_FI,
# fr_FR, it_IT, ja_JP, ko_KR, nb_NO, nl_NL, pt_BR, pt_PT, ru_RU, sv_SE, zh_CN, zh_TW
#
supportedLocales=en_US, de_DE, es_ES, fi_FI, fr_FR, it_IT, ja_JP, ko_KR, nl_NL, pl_PL, ru_RU, th_TH, tr_TR, zh_CN, zh_TW

#
# Add languages to this list that require CJK specific styling.
# For these languages, no small font sizes will be used in the desktop client.
#
useCJKStylesForClientLanguages=hi, ja, ko, th, zh

#
# These values can be changed to tweak the size of the metadata panel 
# labels when resizing the metadata panel. All values are in pixels.
#
# Rules:
# 1. A Metadata label is never smaller than the metadataPanelLabelMinWidth.
# 2. A Metadata label is never bigger than the metadataPanelLabelMaxWidth.
# 3. The label will stay at it's min width as long as the value is smaller than 
#    metadataPanelLabelGrowTreshold.
#
metadataPanelLabelMinWidth=100
metadataPanelLabelMaxWidth=210
metadataPanelLabelGrowTreshold=120

# 
# URL to a website that shows the estimated location details for an IP address.
#
# This is used in the History view in the desktop client.
# The actual IP address is inserted into the URL at $ip
#
ipLocatorUrl=http://www.geobytes.com/IpLocator.htm?GetLocation&IpAddress=$ip

#
# Enable or disable the Adobe Reader PDF capability. A user can preview original
# PDF files inside the desktop client if this setting is set to true.
#
# Set to false to hide the PDF preview button including it's functionality.
#
enableAdobeReaderPdfPreviews=true

#
# If enabled (true), a link (shadow object) to a file is created when dragging
# or exporting a file from Elvis to Content Station. Which means the original 
# file stays in Elvis and Enterprise has a link to this original. Note that the
# Elvis Content Source plugin must be configured inside Enterprise to make this
# work
# 
# If disabled (false), there is no link available for Content Station, which 
# means the file will not be added to Enterprise.
#
wwEnterpriseContentSourceEnabled=true

# 
# Used for asset communication between Elvis and WoodWing Enterprise. This prefix
# is used by Entrprise to identify to Content Source to communicate with. Make
# sure that the value below matches the ELVIS_CONTENTSOURCEPREFIX setting in the 
# Elvis Content Source config.php file.
#
wwEnterpriseContentSourcePrefix=_ELVIS_

#
# Level in which the desktop client shows a warning when the client version does not 
# match the current version. ALL|CRITICAL|NONE
#
# ALL - show a warning when versions mismatches and provide download link
# CRITICAL - show a warning when the installed version is not supported
# NONE - show a warning or show download links in the client
#
# defaults to ALL
#
clientVersionWarningLevel=ALL

#------------------------------------------------------------------------------
#
# Additional configuration for Elvis server
#
#------------------------------------------------------------------------------

#
# Use the HTTPS setup tool on the Elvis server admin page.
#
# Or configure HTTPS/SSL manually:
#
#	https://woodwing.zendesk.com/hc/articles/202966705-Setting-up-HTTPS
#	http://wiki.eclipse.org/Jetty/Howto/Configure_SSL
#
# Or the short version (for Windows):
#
#	$ cd "C:\Documents and Settings\All Users\Elvis Server\Config"
#	$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
#
# Or the short version (for OS X):
#
#	$ cd "/Library/Elvis Server/Config"
#	$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
#
#
# Or the short version (for Linux):
#
#	$ cd "/srv/elvis-server/config"
#	$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
#
# Make sure you enter the domain name of the Elvis server as you 'first and last name' (CN)
#
#	What is your first and last name?
#	   [Unknown]:  elvis.yourdomain.com
#
httpsEnabled=false

#
# IP address or domain to listen on (to bind) for HTTPS
# Use 0.0.0.0 to listen on all available IP addresses
#
httpsServerHost=${serverHost}

#
# TCP Port used by the server for HTTPS
#
httpsServerPort=443

#
# The keystore is created in the Config folder
#
httpsKeyStore=${configDir}/keystore.jks

#
# Password of the keystore
#
httpsKeyStorePassword=

#
# Password of the key stored in the keystore
#
httpsKeyManagerPassword=${httpsKeyStorePassword}

#
# Alias/name of the certificate stored in the keystore
#
httpsCertAlias=jetty

#
# Interval at which logging.properties.txt is checked for changes.
#
# 60000 = 1 minute
#
loggingConfigReloadDelay=60000

#
# Maximum allowed size (in bytes) before uploads are refused.
#
# -1 indicates no limit (default).
#
maxUploadSize=-1

#
# Default timezone to use when none is supplied by a client connected to the system.
# When you specify 'default', the timezone provided by the operating system is used.
#
# See java.util.TimeZone.getAvailableIDs() for available timezone names.
#
timezone=default

#
# Primary language for Mac encoding detection in non-XMP metadata.
# Currently supported:
#
#   de = german
#   no = nordic (Denmark, Sweden, Norway, Finland)
#   ro = romanian
#
# This property accepts full locale specs but will only look at the language part.
#
encodingDetectionLanguage=${locale}

#
# Comma separated list of remote host ip addresses that are allowed to initiate
# a shutdown of the server using the url:
#
# http://serverUrl/shutdown?confirm=true
#
# The stop url also requires authentication with a superuser account.
#
shutdownAllowedFromHost=127.0.0.1, 0:0:0:0:0:0:0:1%0

#
# Fixed set of fields that are visible for an authkey (email link).
#
# These receive 'view' permission when an authkey logs in. This prevents having
# to configure these fields manually or having to add them to the security database.
#
# Some fields like id, approvalState, approvalComment, are always made available
# because the shared link viewer needs them internally.
#
authKeyViewableFields=filename,tags,description,copyright

#
# Comma separated list of fields for the metadata panel of the basic web client.
#
# These fields are visible in the metadata panel. Fields that are not in this list will 
# not be shown.
#
basicWebclientMetadataPanelFields=filename,folderPath,extension,assetDomain,fileSize,fileCreated,fileModified,dimension,dimensionMm,dimensionIn,dimensionPt,resolution,resolutionUnit,tags,description,rating,status,caption,captionWriter,instructions,subject,subjectCode,generalSublocation,generalCity,generalCountryName,creationSublocation,creationCity,creationCountryName,shownSublocation,shownCity,shownCountryName,publicationName,publicationDate,aggregationType,publicationChannel,section,issueName,issueIdentifier,edition,volume,isbn,creatorName,creatorAddress,creatorCity,creatorPostalCode,creatorCountry,creatorPhone,creatorEmail,copyright,copyrightStatus,copyrightAgent,copyrightOwner,usageRights,usageTerms,credit,embargoDate,usageFee,alterationConstraints,sizeConstraints,fileConstraints,termsAndConditions,termsAndConditionsURL,adultContentWarning,minorModelAgeDisclosure,modelReleaseStatus,propertyReleaseStatus,bitDepth,colorMode,cameraManufacturer,cameraModel,orientation,compression,exposureTime,exposureProgram,fNumber,focalLength,colorSpace,scene,shotName,shotDate,shotLocation,videoLength,audioTitle,artist,genre,album,audioLength,beatsPerMinute,numberOfPages,numberOfCharacters,numberOfLines,numberOfParagraphs

#
# Mechanism used to handle missing required metadata, choose one of:
#
# loose
#    Show in desktop client that specific fields are required and show a warning
#    when metadata is incomplete.
#
# strict
#    Also check fields in the desktop client and make sure all required metadata
#    is entered before importing assets or changing metadata.
#
# enforced
#    Also check on server in AssetManager just before saving asset. If metadata
#    is incomplete, throw exception. Be careful with this setting, it can cripple
#    the system.
#
# See:
# https://woodwing.zendesk.com/hc/articles/202249649-Required-metadata
#
requiredMetadataHandling=loose

#
# Allows tuning which usage log actions are actually logged.
#
# Available actions to log. These must be specified comma separated.
#
# CREATE,
# DOWNLOAD,
# PREVIEW,
# MOVE,
# RENAME,
# COPY,
# CHECKIN,
# CHECKOUT,
# UNDO_CHECKOUT,
# CREATE_VARIATION,
# REMOVE,
# METADATA_UPDATE,
# DRAG_DROP,
# EMAIL,
# SCE_EXPORT
#
# Custom action types logged through the API can also be specified, by default
# they are enabled. You can enable specific actions to be logged by specifying
# their type.
#
# CUSTOM_ACTION_...
#
# You can also use a special wildcard to enable logging for all custom actions.
#
# CUSTOM_ACTION*
#
# Use can enable all logging using the following wildcard.
#
# enabledUsageLogActions=*
#
# You can disable specific actions from being logged by using a dash (-)
# in front of their name. In this case, make sure you also specify one of the
# two available wildcards, otherwise nothing will be logged.
#
# enabledUsageLogActions=*, -PREVIEW
#
enabledUsageLogActions=*


#
# Allows tuning what kind of metadata is logged in the database
#
# To log all changed metadata use the following wildcard
#
# includedUsageLogMetadata=*
#
# To log specific changed metadata fields use a comma separated list of 
# field names
#
# includedUsageLogMetadata=tags,description,cf_customfield
#
# To log no metadata fields at all leave the property empty
#
# includedUsageLogMetadata=
#
# By default all changed metadata fields are logged
#
includedUsageLogMetadata=*

#
# Allow filter events by metadata content.
#
# See https://helpcenter.woodwing.com/hc/articles/202249409-Query-syntax
#
enabledUsageLogActionsMetadataFilter=

#
# Comma separated list of additional exclude patterns for file imports
# (next to the default set of excludes).
#
# By default, files matching the following patters are already excluded.
# Extra patterns you define here will be added to that list.
#
#    **/.*/**, **/Thumbs.db, **/*.ini, **/*.lnk, **/DesktopDB, **/DesktopDF,
#    **/*~, **/~*, **/#*#, **/%*%, **/CVS, **/CVS/**, **/SCCS, **/SCCS/**,
#    **/vssver.scc
#
# The first one (all files starting with a dot '.') will already filter:
#
#    **/.AppleDouble/*, **/*.ithmb, **/.#*, **/._*, **/.DS_Store,
#    **/.cvsignore, **/.svn, **/.svn/**
#
# You can use * as prefix or postfix in your pattern.
#
extraImportExcludePatterns=

#
# Timeout in minutes used by server to remove inactive desktop client session.
# Set to -1 to indicate no timeout while the client has an open connection.
#
session.timeout.air=-1

#
# Timeout in minutes used by server to remove inactive indesign client session.
# Set to -1 to indicate no timeout while the client has an open connection.
#
session.timeout.indesign=-1

#
# Timeout in minutes used by server to remove inactive web client session.
# Negative or zero values will be changed to default 30 minutes
#
session.timeout.web=-1

#
# Set to false to exclude InDesign client information from the drag format by default
# Hold the option key when dragging an asset to toggle this behavior in the client.
#
dragformat.support.indesign=true

#
# Set to false to hide the Elvis InDesign Client installation download and instructions
# on the client install page.
#
install.show.indesign=true

#------------------------------------------------------------------------------
#
# Internal data and file store locations
#
#------------------------------------------------------------------------------

#
# Location for storing originals
#
# IMPORTANT: all *FilestoreLocation settings must be on the same volume to
# prevent poor performance from having to use copy instead of a quick move
#
mainFilestoreLocation=${dataLocation}/mainFilestore

#
# Location for storing previews
#
# Keep metaFilestoreLocation around for backward compatibility with old
# installations where this was customized.
#
# For new installs, use previewFilestoreLocation to configure a custom
# preview location, metaFilestoreLocation will then be ignored.
#
# IMPORTANT: all *FilestoreLocation settings must be on the same volume to
# prevent poor performance from having to use copy instead of a quick move
#
metaFilestoreLocation=${dataLocation}/previewFilestore
previewFilestoreLocation=${metaFilestoreLocation}

#
# Location for storing old versions of assets and their previews
# 
# IMPORTANT: all *FilestoreLocation settings must be on the same volume to
# prevent poor performance from having to use copy instead of a quick move
#
versionFilestoreLocation=${dataLocation}/versionFilestore

#
# Temp location for storage engine. Used as location to store uploaded
# files etc. Should be on the same disk as the mainFileStore and previewFilestore
# so files can be moved quickly instead of having to copy them.
# 
# IMPORTANT: all *FilestoreLocation settings must be on the same volume to
# prevent poor performance from having to use copy instead of a quick move
#
tempFilestoreLocation=${dataLocation}/tempFilestore

#
# Location for plugin folders
#
pluginsLocation=${configDir}/plugins

#
# Location for user profile data
#
profileDataLocation=${dataLocation}/profileData

#
# Location for interface perspective settings
#
perspectiveDataLocation=${dataLocation}/perspectiveData
perspectivesDirLocation=${perspectiveDataLocation}/perspectives
perspectiveMappingsConfigLocation=${perspectiveDataLocation}/perspective-mappings-config.properties

#
# Location for configuration files etc for index updater and other internal
# tools
#
toolStorageLocation=${dataLocation}/toolStorage

#
# Location for OpenCalais persistent queue. This is used to continue processing
# files across server restarts.
#
openCalaisQueueStorage=${toolStorageLocation}/openCalais/queue.xml

#
# Backup file included in demo pack.
#
# When it exists, this backup will automatically be restored at server startup.
# After it is restored, the file is deleted.
#
demoDataArchive=${backupLocation}/hotdemodata.zip

# 
# Backup location for Elvis "hot data" which includes the search index and
# the internal database.
#
backupLocation=${dataLocation}/hotDataBackup



#------------------------------------------------------------------------------
#
# Internal configuration for Elvis server
#
#------------------------------------------------------------------------------

#
# Maximum number of backups. The oldest backups in the backupLocation are removed
# if the number of backups exceeds maxBackups.
#
maxBackups=30

#
# Maximum number of days to keep server logs.
#
retainServerLogDays=30

#
# Server startup delay to use in case data volumes are not available on
# startup, for example when a SAN still needs to be connected.
#
# 180000 = 3 minutes
# 5000 = 5 seconds
#
waitForVolumeMountTimeout=180000
checkVolumeMountInterval=5000

#
# Request key timeout in milliseconds
#
# 1800000 = 30 minutes
#
requestKeyTimeout=1800000

#
# actionContext timeout in milliseconds
#
# 1800000 = 30 minutes
#
actionContextTimeout=1800000

#
# For backward compatibility with Elvis 2.5 and older, this is true by default.
# If you set this to false, you will have to assign ROLE_USER_ZONE to users
# manually in the desktop client in 'Manage permissions'.
#
allAirClientUsersHaveUserZone=true

#
# Low memory early warning system
#
# When available heap memory gets below threshold, caches will be shrunk. Threshold
# is calculated as percentage of maximum heap (Xmx) with a lower bound of minimum
# threshold.
#
lowMemoryThresholdPercentage=0.08
lowMemoryThresholdMin=180 MB

#
# Warning email settings
#
warningEmailTo=${serverAdminEmail}
warningEmailFrom=${serverAdminEmail}
warningEmailSubject=Elvis Server warning (${computerName})

#
# Low disk space thresholds.
#
# When low disk space is detected on any of the drives used by the Elvis server
# it will log a warning. When disk space gets critically low, the server will
# automatically initiate its shutdown procedure. This is required to prevent
# index corruption.
#
# The reason that the threshold is at 1 GB, is because under heavy import load,
# it might take just a few minutes to fill up that disk space (and the disk).
#
# -1 = disabled
#
lowDiskSpaceWarningThreshold=10 GB
lowDiskSpaceShutdownThreshold=1 GB

#
# Low disk space checking interval.
#
# Also validates if volume is still mounted.
#
# 30000 = 30 seconds
#
lowDiskSpaceCheckInterval=30000

#
# Auto organize files placed in 'zone' root
#
autoOrganizeZoneRoot=true

#
# Settings to customize URLs produced for API responses
#
useAssetPathInUrls=false
appendFilenameToUrls=true

#
# Uses assetPath in url of original used to 'preview' html pages and swf files.
# By using the assetPath instead of just the assetId, the file can reference
# and resolve css, js or swf files that are placed relative to it in the Elvis
# folder structure.
#
useAssetPathInOriginalAsPreviewUrls=true

#
# Cross-domain policy file location
#
crossDomainPolicy=${configDir}/crossdomain.xml

#
# Value for the Access-Control-Allow-Origin header to be sent in REST API responses.
#
accessControlAllowOrigin=*

#
# Name of the querystring parameter that specifies the function name that should
# be wrapped around the response for JSONP requests.
#
jsonpCallbackParam=callback

#
# Since HTTP error codes do not work with cross-domain AJAX calls and JSONP
# requests, errors are returned in JSON format with a normal HTTP 200 status.
# For search calls with format=xml, the error is returned in XML format.
#
# If you want the server to produce errors as normal HTTP status codes instead
# you can set this to false.
#
# See: https://woodwing.zendesk.com/hc/articles/202967035-REST-error-handling
#
sendServiceErrorAsJson=true

#
# These file types support usage of the following variables. These variables
# are only replaced in files hosted in active plugins.
#
# ${serverUrl}
# ${pluginsRootUrl}
# ${pluginsBaseRootUrl}
#
# The following two variables are only available if the files are in a plugin folder.
#
# ${pluginUrl}
# ${pluginBaseUrl}
#
pluginVariableSupportExtensions=html, htm, js, css

#
# Threshold above which files will be written to disk instead of memory while
# replacing variables.
#
pluginVariableSupportMemoryTreshold=256KB

#
# To ease development of action plugins, you can enable this in your config:
#
#    preventBrowserCacheForServedFilesOfType=html, htm, css, js
#
# When turned on, then for the specified file types, Elvis sends Cache-Control
# and Pragma headers and will send an Expires header that specifies a date in
# the past.
#
preventBrowserCacheForServedFilesOfType=

#
# Set to false to preventing schedule plugin scripts from being triggered by
# their schedules.
#
scheduledScriptsEnabled=true

#
# When false, prevent temp files created by scripts in ${temp} from being removed
# after successful execution.
#
removeAntScriptTempFilesOnSuccess=true

#
# When false, prevent temp files created by scripts in ${temp} from being removed
# after failed execution.
#
# This is false by default since useful information about the cause of the failure
# may be available in these temp files.
#
removeAntScriptTempFilesOnFailure=false

#
# Set to false to prevent Ant script log folders from being cleaned up automatically.
#
# When true (default):
#
# - Failed log files and temp folders will be removed after 1 month.
#   If there are more than 'retainAntScriptFailedLogs' failed logs,
#   the older ones will be deleted, even if they are less than 1 month old.
#
# - Success logs will be removed after 2 days.
#   If there are more than 'retainAntScriptSuccessLogs' success logs,
#   the older ones will be deleted, even if they are less than 2 days old.
#
autoCleanupAntScriptLogDirs=true

#
# Maximum number of failure logs to keep for ANT scripts.
#
retainAntScriptFailedLogs=100

#
# Maximum number of success logs to keep for ANT scripts.
#
retainAntScriptSuccessLogs=30

#
# Comma separated list of retry intervals. Can be used to tune failing file operation
# retries. 
#
# The number of intervals corresponds with the number of retries. The number iteself 
# is the total amount of time (in milliseconds) between each retry. The maximum total 
# retry time is the sum of all intervals.
#
# Only used when fileSystemReliability.retryOnError=true
#
fileSystemReliability.retryIntervals=200,400,800,1600,3200,6400


#------------------------------------------------------------------------------
#
# Automagic XMP relation creator configuration
#
#---------------------------------------------------------------------------------
relationHandlerEnabled=true

autoCreateReferenceRelations=true
autoCreateRelatedRelationsFromDerived=true
autoCreateRelatedRelationsFromHistory=true
autoCreateDuplicateRelations=false



#------------------------------------------------------------------------------
#
# Version management configuration
#
#------------------------------------------------------------------------------

#
# Set to true to remove a version when it is promoted to current asset.
#
# Setting this to true will save some disk space since the current asset is
# identical to the promoted version, apart from the embedded metadata.
#
# By default this is set to false to prevent confusing users when their
# just promoted version is no longer available.
#
removeVersionOnPromote=false

#
# Version cleanup filter query
#
# All versions that match this query will be removed. The cleanup is performed
# after every check-in, and every time the internal 'version_cleanup' schedule-
# plugin runs.
# 
# 
# The default filter will:
# - keep the last 5 versions
# - keep all versions marked with keepVersion:true
#
# This query supports all normal search engine query syntax, it executes on
# the version index though, which means metadata might be old. For example,
# the assetPath stored in the version index is not updated when and asset is
# moved.
#
# Below are a few more advanced examples, don't hesitate to ask us for help
# if you want to use a custom versionCleanupFilter.
#
# - remove versions older than 1 year
# - keep the last 5 versions
# - keep versions that were 'created' in the last month
# - keep versions with keepVersion set to true
#
# versionCleanupFilter=(assetFileModified:[* TO NOW-1YEAR] OR versionNumberDelta:[* TO -6]) AND NOT versionBackupCreated:[NOW-1MONTH TO *] AND NOT keepVersion:true
#
#
# - keep the last 5 versions
# - do not keep versions for video files
# - always keep first version
# - keep versions with keepVersion set to true
# 
# versionCleanupFilter=(versionNumberDelta:[* TO -6]) OR assetDomain:video) AND NOT versionNumber:1 AND NOT keepVersion:true
#
#
versionCleanupFilter=versionNumberDelta:[* TO -6] AND NOT keepVersion:true

#
# By default versions of an asset will be cleaned up when a new version is created.
#
# Set this property to false to prevent version cleanup.
# Instead they will be cleaned up at night using the versionCleanupFilter
#
versionCleanupOnCreateVersion=true

#------------------------------------------------------------------------------
#
# Advanced search engine configuration
#
#------------------------------------------------------------------------------

#
# This controls the Lucene default analyzer that is used to index and search text.
#
# When empty, the setting from the 'locale' config property will be used, which
# defaults to the locale configured in the operating system on this server.
#
# Important: when you change the locale or the analyzer, all metadata needs to be
# re-indexed. Otherwise the indexed terms won't match the terms produced by analysis
# of the search query. Re-indexing metadata can be done by running an asset index-
# update with no options selected.
#
analyzerLocale=

#
# Number of index changes after which the memory index will be flushed to disk.
#
searchEngineBatchSize=1000

#
# Maximum number of index changes at which memory indexing will block until some
# it has been flushed to disk.
#
searchEngineMaxBatchSize=10000

#
# Maximum delay until memory index changes are flushed to disk.
#
# 60000  = 1 minute
# 120000 = 2 minutes
# 300000 = 5 minutes
#
searchEngineBatchDelay=120000

#
# If no explicit maximum number of results is specified, this maximum will be
# used to prevent returning potentially millions of results.
#
defaultMaxResultHits=1000

#
# If no explicit maximum number of facets is specified, this maximum will be
# used to prevent returning potentially millions of results.
#
defaultMaxFacetValues=80

#
# Number of times a term has to appear before it is assumed to be a stop-word
# and is ignored in searches.
#
minDocsBeforeAutoAddingStopWords=50000

#
# Max length for highlighted text (excerpt) returned for text hits.
#
highlightedTextMaxLength=250

#
# Turn on to use both 2.0+ style case-insensitive term queries and 1.x style
# case-sensitive term queries.
#
# This allows searching while index updater is upgrading a 1.6 or lower index
# to 2.0 format.
#
useElvisPre20CompatibilityMode=false



#------------------------------------------------------------------------------
#
# Cache configuration
#
#------------------------------------------------------------------------------
#
# maxElementsInMemory
#   maximum number of cached assets in memory
#   default = 1000
#
# maxElementsOnDisk
#   maximum number of cached assets on disk
#   default = 10000
#
# overflowToDisk
#   whether elements can overflow to disk when the in-memory cache has reached
#   the maximum size limit
#   default = false
#
# diskPersistent
#   whether the disk store persists between restarts of the Virtual Machine
#   default = false
#
# eternal
#   whether elements are considered as eternal.
#   If "true", timeouts are ignored and the element is never expired.
#   default = false
#
# timeToLive
#   maximum time between creation time and when an element expires (in seconds)
#   120 = 2 min; 300 = 5 minutes; 3600 = 1 hour;
#   7200 = 2 hours; 43200 = 12 hours; 86400 = 24 hours
#   default = 120
#
# timeToIdle
#   maximum amount of time between accesses before an element expires (in seconds)
#   120 = 2 min; 600 = 10 min; 14400 = 4 hours
#   default = 120
#
# shrinkOnLowMemory
#   enables or disables shrinking the cache when when available heap memory
#   reaches below a configured threshold, set this to false when cache entries
#   do not consume a lot of memory
#   default = true
#
# shrinkDelay
#   delay to prevent cache from being shrunk multiple times in quick succession
#   (in seconds)
#   default = 30
#
# shrinkPercentage
#   when memory is low the cache is shrunk to this percentage of its current size
#   default = 0.75
#
# minElementsInMemory
#   lower bound for shrinking, do not shrink maxElementsInMemory lower than this
#   default = 10
#
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
#
# Cache configuration for Elvis server
#
#------------------------------------------------------------------------------

#
# Cache for net.sourceforge.wurfl device lookups
#
userAgentLookup.eternal=true
userAgentLookup.maxElementsInMemory=2000
userAgentLookup.memoryStoreEvictionPolicy=LFU
userAgentLookup.overflowToDisk=false
userAgentLookup.shrinkOnLowMemory=false

assetCache.maxElementsInMemory=5000
assetCache.minElementsInMemory=1000
assetCache.maxElementsOnDisk=10000
assetCache.overflowToDisk=false
assetCache.diskPersistent=false
assetCache.eternal=false
assetCache.timeToLive=7200
assetCache.timeToIdle=600

aclCache.maxElementsInMemory=1000
aclCache.maxElementsOnDisk=5000
aclCache.overflowToDisk=false
aclCache.diskPersistent=false
aclCache.eternal=false
aclCache.timeToLive=86400
aclCache.timeToIdle=14400
aclCache.shrinkOnLowMemory=false

ruleCache.maxElementsInMemory=1000
ruleCache.maxElementsOnDisk=0
ruleCache.overflowToDisk=false
ruleCache.diskPersistent=false
ruleCache.eternal=false
ruleCache.timeToLive=86400
ruleCache.timeToIdle=86400
ruleCache.shrinkOnLowMemory=false

securityCache.maxElementsInMemory=200
securityCache.minElementsInMemory=100
securityCache.maxElementsOnDisk=2000
securityCache.overflowToDisk=true
securityCache.diskPersistent=false
securityCache.eternal=false
securityCache.timeToLive=43200
securityCache.timeToIdle=7200

# maximum amount of resolved masks cached in memory per user
maskCache.maxInMemoryPerUser=10000

#------------------------------------------------------------------------------
#
# Cache configuration for both Elvis server and processing server
#
# All processing caches keep files for 5 minutes, this creates a few gigabytes
# of files in typical cases.
#
#------------------------------------------------------------------------------

dngCache.timeToLive=300
dngCache.timeToIdle=300
dngCache.shrinkOnLowMemory=false
dngCache.statistics=false

dngPreviewCache.timeToLive=300
dngPreviewCache.timeToIdle=300
dngPreviewCache.shrinkOnLowMemory=false
dngPreviewCache.statistics=false

xmlDocCache.maxElementsInMemory=200
xmlDocCache.timeToLive=60
xmlDocCache.timeToIdle=60
xmlDocCache.statistics=false

incxDocCache.maxElementsInMemory=200
incxDocCache.timeToLive=60
incxDocCache.timeToIdle=60
incxDocCache.statistics=false

icmlDocCache.maxElementsInMemory=200
icmlDocCache.timeToLive=60
icmlDocCache.timeToIdle=60
icmlDocCache.statistics=false

wweaDocCache.maxElementsInMemory=200
wweaDocCache.timeToLive=60
wweaDocCache.timeToIdle=60
wweaDocCache.statistics=false

xmpMetaCache.maxElementsInMemory=200
xmpMetaCache.timeToLive=60
xmpMetaCache.timeToIdle=60
xmpMetaCache.statistics=false

cdpOutputCache.timeToLive=300
cdpOutputCache.timeToIdle=300
cdpOutputCache.shrinkOnLowMemory=false
cdpOutputCache.statistics=false

#------------------------------------------------------------------------------
#
# Cache configuration for Elvis processing server
#
#------------------------------------------------------------------------------

#
# Cache for files downloaded by processing node
#
downloadFileCache.timeToLive=300
downloadFileCache.timeToIdle=300
downloadFileCache.shrinkOnLowMemory=false



#------------------------------------------------------------------------------
#
# Media processing configuration for Elvis server
#
# These settings can only be configured on a main server, not on a
# processing server.
#
#------------------------------------------------------------------------------

#
# Default resolution assumed when for example a PDF does not provide a
# resolution in its metadata.
#
defaultResolutionPixelsPerInch=72

#
# Control embedding of metadata into files. Set to false to disable all metadata
# embedding.
#
embedMetadataInOriginal=true

#
# Set to false to disable embedding the Elvis asset ID into files.
#
embedElvisId=true

#
# Set to false to disable embedding XMP document and instance IDs into new files.
# If a file already has an XMP instance and document ID, the existing XMP IDs will
# not be changed.
#
embedXMPIds=true

#
# Advanced embed settings to control safety checks that ensure originals are not
# corrupted during transport from a processing server back to the main server.
#
embedWriteResultDirectlyToOriginal=false
embedResultAcceptableSmallerFileSizeThreshold=4096
embedResultAcceptableLargerFileSizeThreshold=-1
embedCancelWhenFileSizeIsNotAcceptable=false

#
# Ensures previews will be available as soon as possible after assets have been
# created, updated, or a request to regenerate thumbnails was made.
#
# When set to false, the thumbnail and previews will be generated on-the-fly the
# first time they are requested.
#
autoGenerateThumbnailAndDefaultPreviews=true

#
# Control whether thumbnail and default previews will be generated when assets
# are created.
#
postProcessWhenAdded=true

#
# Control whether thumbnail and default previews will be generated when assets
# are updated.
#
postProcessWhenUpdated=true

#
# Dimension formats
#
dimensionPxFormat=%d x %d px
dimensionMmFormat=%.0f x %.0f mm
dimensionInFormat=%.2f x %.2f inch
dimensionPtFormat=%.0f x %.0f pt

#
# Resolution formats
#
resolutionSameFormat=%.0f
resolutionDifferentFormat=%.0f x %.0f
resolutionUnitPxPerInFormat=%s px/inch
resolutionUnitPxPerCmFormat=%s px/cm

#------------------------------------------------------------------------------
#
# Processing cluster configuration for Elvis server
#
# These settings can only be configured on a main server, not on a
# processing server.
#
#------------------------------------------------------------------------------

#
# Set to true when local processing should not be used when one or more remote
# processing nodes are connected and available, essentially off-loading all
# processing to the processing nodes allowing the main server to focus on
# searching, importing and other tasks. Set to false to always keep using the
# local processing engine.
#
useOnlyRemoteProcessingWhenAvailable=true

#
# Maximum time in milliseconds the request can stay in PROCESSING state.
# After this time it is considered as failed and returns to the queue
# to be processed at a later time, possibly by another node.
#
# 10800000 = 3 hours
# 250000 = 4 minutes 10 seconds
# (= a little longer then the node reply timeout + one minute ping interval)
#
processedRequestTimeout=250000

#
# Maximum number of tries to repeat request processing. Request is restored
# in the queue if its processing failed because of processing timeout or other
# not critical error.
#
# But this number of attempts to perform request is limited with maxRequestTries.
# After maxRequestTries request is considered as failed.
#
maxRequestTries=3

#
# Maximum time a synchronous processing request waits for the request to be completed.
# Requests can timeout if the capacity is insufficient to complete the request in time.
#
# 255000 = 4 minutes 15 seconds (a little longer then processedRequestTimeout)
#
defaultSynchProcessingRequestTimeout=255000

#
# Media processing local settings
#

#
# Processing capacity. By default, the number of CPU cores + 1.
#
# Adjust to fine tune server load.
#
localMediaEngineCapacity=${cpuCoresPlusOne}

#
# Processing capacity reserved for URGENT requests (thumbnails and previews that
# are requested by client but have not yet been generated).
#
localMediaEngineUrgentReserve=1

#
# Priorities used to decide whether processing requests should be sent to the local
# processing node (embedded in the main server).
#
# These are low for most request types so that those requests will be sent to a
# remote processing node, if one is available.
#
# Only embed has a higher priority so it will mostly be processed locally, which
# is usually more efficient than sending the original to the node and back.
#
localMediaEnginePriority.EMBED_METADATA=20
localMediaEnginePriority.EXTRACT_METADATA=5
localMediaEnginePriority.EXTRACT_TEXT=5
localMediaEnginePriority.MAKE_PREVIEW=5
localMediaEnginePriority.MAKE_THUMBNAIL_AND_DEFAULT_PREVIEWS=5
localMediaEnginePriority.MAKE_THUMBNAIL=5



#------------------------------------------------------------------------------
#
# Processing cluster configuration for Elvis processing server
#
# These settings can only be configured on a processing server.
#
#------------------------------------------------------------------------------

#
# Whether the node will allow a different main server to bind it while it's already
# connected to a server. Setting this to true will cause weird behavior on the main
# server the node was connected to.
#
allowBindWhenAlreadyConnected=false

#
# Processing capacity. By default, the number of CPU cores + 1.
#
# Adjust to fine tune server load.
#
nodeMediaEngineCapacity=${cpuCoresPlusOne}

#
# Processing capacity reserved for URGENT requests (thumbnails and previews that
# are requested by client but have not yet been generated).
#
nodeMediaEngineUrgentReserve=1

#
# Priorities used to decide to which processing node a request will be sent.
#
# These can be tuned to encourage certain types of requests to be sent to a
# particular processing server. The actual decision depends on many more
# factors, like remaining capacity of each node or whether the original file
# has already been transferred to a particular node, etc. So even if a
# request type has a higher priority on one node, it does not guarantee
# it will be sent there.
#
# Embed priority for processing servers is set to 0 to force embeds to be
# performed on the main server.
#
nodeMediaEnginePriority.EMBED_METADATA=0
nodeMediaEnginePriority.EXTRACT_METADATA=10
nodeMediaEnginePriority.EXTRACT_TEXT=10
nodeMediaEnginePriority.MAKE_PREVIEW=10
nodeMediaEnginePriority.MAKE_THUMBNAIL_AND_DEFAULT_PREVIEWS=10
nodeMediaEnginePriority.MAKE_THUMBNAIL=10

#
# Fixed server URL of the Elvis Main Server to connect to.
#
# Use this to ensure that this Processing Server only connects to the specified
# Elvis Main Server. 
#
# When empty, this Processing Server will try to locate the Elvis Main Server in
# the network by listening for a multicast broadcast from the Main Server.
#
mainServerUrl=



#------------------------------------------------------------------------------
#
# Media processing configuration for both Elvis server and processing server
#
# These settings can be configured on both the main server and processing server.
# You should use the same value on both sides, unless specified differently.
#
#------------------------------------------------------------------------------

#
# Comma separated list of IP addresses to broadcast on.
#
# Leave empty to broadcast on all network interfaces.
#
# To disable broadcasting, set autoDiscoveryEnabled=false
#
broadcastOn=

#
# Set this to a higher value if broadcasts between your main server and
# processing servers are being blocked by the network switch that they are
# connected trough.
#
# Especially advanced switches can think that broadcasts should be blocked,
# so if you can't get processing servers to connect to a main server, check
# the switch configuration as well.
#
# In general we advise to connect the main server and processing servers to
# the same network switch, since lots of data will be transferred between them.
#
# Must be in the range 0 - 255
#
broadcastTimeToLive=5

#
# The network group to broadcast on. Default should be fine.
#
handshakeBroadcastGroup=224.0.0.1

#
# The network port to broadcast to. If you change this, make sure you do so on
# the main server and all processing servers that should connect to it.
#
handshakeBroadcastPort=6375

#
# Interval at which the main server sends a ping to check if nodes are alive.
#
# 60000 = 1 minute
#
handshakeSchedulerPingInterval=60000

#
# Maximum time in milliseconds the remote node may not send REPLY on PING from the
# server. After this time the node is disconnected.
#
# 180000 = 3 minutes
#
nodeReplyTimeout=180000

#
# Maximum time in milliseconds the remote node may not send REPLY on PING from the
# server. After this time the node is marked as stopped. 
#
# 65000 = 1 minute, 5 seconds
#
nodeStopTimeout=65000

#
# Arguments passed to ffmpeg by Elvis:
#
# -y -i {input} -s {w}x{h} [-pad...] -f {format} {extra preview args} -threads {ffmpegThreads} {output}
#
# Size is downscaled to be a multiple of 16, as close to the desired maxWidth and
# maxHeight. Video will not be upscaled.
#
# Padding options (-padtop -padbottom -padleft -padright) are only passed if
# needed to minimize change in aspect ratio (because of multiple of 16 scaling).
#
# Format is passed as either 'mp4' or 'flv'.
# ffmpeg -formats
#
# For all ffmpeg options, see: http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html#SEC7
#
# Useful options:
#
# -y = overwrite output files
# -level 30 = required to make it play on iPad
# -t = limit output duration
# -ar = audio sample rate [22050|44100|...]
# -b:a = audio bitrate [32k|64k|...]
# -ac = audio channels [1|2]
# -b:v = video bitrate [200k|300k|1024k|...]
# -deinterlace = de-interlace pictures
# -threads = number of threads to use for encoding (0 = same as cores in machine)
#
# From: http://www.ioncannon.net/meta/1040/how-to-create-ipad-formatted-videos-using-handbrake-or-ffmpeg
#
# -acodec aac -ar 48000 -ab 128k -ac 2 -s 1024x768 -vcodec libx264 -b 1200k -flags +loop+mv4 -cmp 256 -partitions +parti4x4+partp8x8+partb8x8 -subq 7 -trellis 1 -refs 5 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 1200k -maxrate 1200k -bufsize 1200k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 16:9 -r 30 -g 90 -async 2
#
# NOTE: Lots of these options are provided by the ffmpeg preset files. Right now
# we use libx264-default.ffpreset
#
# ffmpegExtraVideoPreviewArgs=-t 00:05:00.000 -ar 22050 -ab 32k -ac 1 -b 300k
# ffmpegExtraVideoPreviewArgs=-t 00:10:00.000 -ar 44100 -ab 232k -ac 2 -b 768k
# ffmpegExtraVideoPreviewArgs=-t 00:05:00.000 -ar 22050 -ab 32k -ac 1 -b 768k -threads 0
# ffmpegExtraVideoPreviewArgsHD=-t 00:10:00.000 -b 2000k -vcodec libx264 -sameq -ab 232k -ac 2 -ar 44100 -acodec libfaac
#
#ffmpegExtraVideoPreviewArgsLD=-t 00:10:00.000 -level 30 -ar 22050 -ab 64k -ac 2 -vcodec libx264 -b 900k -bt 900k -maxrate 900k -bufsize 900k -sameq
#ffmpegExtraVideoPreviewArgsHD=-t 00:10:00.000 -level 30 -ar 44100 -ab 128k -ac 2 -vcodec libx264 -b 2000k -bt 2000k -maxrate 2000k -bufsize 2000k -sameq

ffmpeg.extraPreviewArgsLD=-t 00:10:00.000 -c:a libfaac -ar 22050 -b:a 64k -pix_fmt yuv420p -qmax 51 -crf 25 -x264opts level=30
ffmpeg.extraPreviewArgsHD=-t 00:10:00.000 -c:a libfaac -ar 44100 -b:a 128k -pix_fmt yuv420p -qmax 31 -crf 21 -x264opts level=30

#
# Number of threads to be used by ffmpeg
# Set to 0 to use as much as the number of cores in the machine.
#
ffmpeg.threads=1

#
# ffmpeg preset to use.
# This is now an option passed to libx264 directly and thus doesn't have an ffpreview file anymore!
#
ffmpeg.x264Preset=medium

#
# Thumbnail size
#
maxThumbnailSize=256
maxThumbnailWidth=${maxThumbnailSize}
maxThumbnailHeight=${maxThumbnailSize}

#
# Default preview formats
#
defaultImagePreview=maxWidth_1600_maxHeight_1600.jpg
defaultVideoPreviewLD=maxWidth_480_maxHeight_360.mp4
defaultVideoPreviewHD=maxWidth_1280_maxHeight_720.mp4
defaultAudioPreview=maxLength_600000.flv
defaultPdfPreview=maxWidth_1600_maxHeight_1600_page_0.jpg
defaultLayoutPreview=maxWidth_1600_maxHeight_1600_page_0.jpg
defaultPresentationPreview=html/index.html
defaultDocumentPreview=html/index.html
defaultTextPreview=html/index.html
defaultXmlPreview=html/index.html

#
# Framework to be used for rendering image previews and thumbnails on OS X.
#
# You can choose between coreimage which is fastest, and vimage which is a
# little slower (still fast) but renders sharper previews at small sizes.
#
# citImageFramework=vimage
#
# Note: for PDF previews, cit always uses coreimage.
#
citImageFramework=coreimage

#
# Thumbnail size for office doc preview generator
#
# Thumbnails look really bad at small sizes (or too big too for that matter).
# 512 produces good output and is a reasonable size. It may feel big
# for a thumbnail, but it's usually lots of white with some text, which does
# result in small file size for the thumbnail.
#
cdpHandler.maxThumbnailWidth=512
cdpHandler.maxThumbnailHeight=512

#
# Character encoding assumed for text files.
#
# We have to assume something here since the files do not specify the charset
# they actually used.
#
assumedTextFileEncoding=UTF-8

#
# Limits the amount of text extracted from files to prevent memory and indexing
# issues with huge binary files with wrong extension (zip files with .txt
# extension). Sadly those do exist.
#
# 262144 = 256 * 1024 chars = 512 KB of UTF-16 java chars in memory
# 131072 = 128 * 1024 chars = 256 KB of UTF-16 java chars in memory
#
maxTextContentToExtract=262144

#
# If possible, the charset will be determined from the HTML file itself.
#
# If not specified, this encoding is assumed.
#
assumedHtmlFileEncoding=UTF-8

#
# The order of the text tokens in a PDF file may not be the same as they
# appear visually on the screen. For example, a PDF writer may write out all
# text by font, so all bold or larger text, then make a second pass and write
# out the normal text.
#
# The default is to not sort by position due to performance reasons. Unless
# you do a lot of "phrase searching", this should be fine.
#
pdfSortTextByPosition=false

#
# Location for XSLT files that can generate previews.
#
xmlPreviewsDir=${configDir}/xml_previews

#
# Extract only XMP metadata if available. This can be set to true to prevent
# issues with incorrectly encoded IPTC metadata.
#
# The current Elvis version has intricate logic to detect and fix incorrect
# IPTC encoding, so this option is false by default. For the moment it seems
# there should not be any reason anymore to set this to true. 
#
useOnlyXmpWhenAvailable=false

#
# Set to true to enable calculation of the contentChecksum and
# firstExtractedChecksum fields. Note that calcuating the checksum requires
# the complete file to be read (lots of IO), slowing down metadata extraction
# and import and checkin.
#
# Turned off by default (since version 3.2) because the field is rarely used.
#
calculateContentChecksum=false
Was this article helpful?
0 out of 0 found this helpful / Created: / Updated:
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.