Broadleaf Runtime Properties
When the application starts up, Broadleaf provides a mechanism to merge and override properties files based on the current environment that is being used. Broadleaf will look in the classpath for the following files, in order, to merge (later files override earlier files if two properties collide):
common-shared.properties
in the core project[specific-environment]-shared.properties
in the core projectcommon.properties
in either site or admin project, depending on which app is starting[specific-environment].properties
in either site or admin project, depending on which app is starting- JVM Args:
-Dproperty-override-shared
specified value, if any-Dproperty-override
specified value, if any
Account Module
- enable.account.archive
- Enable soft delete for Account and AccountXref
- account.pending-order.notification.email.fromAddress
- "From" address for pending order notification emails
- account.pending-order.notification.email.subject
- Subject line for pending order notification emails
Advanced CMS
- category.site.map.generator.row.limit
- Max number of rows queried at a time by the AdvancedContentSiteMapGenerator
- include.non.overridden.sc.items
- Make override SCItems opt-out by default
- advancedcms.contentItem.showEmptyGroups
- Setting this property to
true
will force the Admin to display ContentData that don't have any fields on ContentItems
- Setting this property to
Advanced Inventory
- advanced-inventory.operation.maxretries
- Retry policy for inventory modifications.
- This is used to wrap around invocations to
inventoryService#save()
that could throw a ConcurrentInventoryModificationException in a high-contention scenario
- advanced-inventory.quantityOnHand.management.enabled
- Whether the quantityOnHand field should display anywhere in the Admin.
- This is not enabled by default, as this is not incremented or decremented
- advanced-inventory.item.reservation.strategy
- In order to customize how inventory reservations are distributed within a FulfillmentGroup, there is a common interface called InventoryReservationStrategy.
- To select between the OOB strategies, override the this system property with one of the following values:
SINGLE_PER_GROUP
- Single location per gorupSINGLE_PER_ITEM
- Single location per itemMULTIPLE_PER_ITEM
- Multiple locations per item
- advanced-inventory.prioritize.higher.quantity
- Used to give the maximum inventory quantity available at a FulfillmentLocation first priority
- advanced-inventory.prioritize.lower.quantity
- Used to give the minimum inventory quantity available at a FulfillmentLocation first priority
- advanced-inventory.notification.job.pagesize
- How many notifications to process at a time
- advanced-inventory.notification.email.fromAddress
- From address for inventory notification emails
- advanced-inventory.notification.email.subject
- Subject line for inventory notification emails
Advanced Offer
- event.generateoffercodes.worker.type
- Specifies the node where offer codes generation event will be consumed
- ADMIN by default
API
None
Sample Payment Gateway
None
Broadleaf Commerce Private
CMS
- asset.server.url.prefix.internal
- The following property defines the prefix used internally by the CMS system to identify requests that it needs to process
- asset.server.url.prefix.secure
- Prefix used by CMS for secure channel.
- Useful when your regular prefix begins with "http:"
- asset.server.url.prefix
- When serving custom Pages or StructuredContent fields, the URL prefix defined above will be replaced with the string below.
- This is useful for sites that have a separate image domain or use a CDN to render images.
- This works well with CMSs that own the image part of your domain CNAME
- store.front.webapp.prefix
- Prefix in front of all URLs that hit your storefront from the Admin.
- This is useful when the storefront is located on a different server from the Admin (e.g. http://storefront:8080/)
- automatically.approve.pages
- Cause CMS sandbox items to be automatically approved without workflow
- No longer used
- automatically.approve.structured.content
- No longer used
- asset.use.filesystem.storage
- Controls whether the AssetService stores (and retrieves) the binary asset from the filesystem or database
- asset.server.max.generated.file.system.directories
- URLs for images and other assets will be stored efficiently on the filesystem using a set of generated directories based on the MD5 value of the filename.
- The number below will be used to determine the number of directories created.
2
supports a distribution of about 10 million files and is suitable for most purposes.- Increasing to
3
would add support for over 2 billion files, but for implementations of this size, distributed file system options should be considered.
- asset.server.max.uploadable.file.size
- The maximum file size that can be uploaded (10 Meg)
- Implementors should tune this according to their needs.
- asset.server.file.buffer.size
- The number of bytes from the input stream that will be read at a time
- asset.server.allow.unnamed.image.manipulation
- Dis/allows image manipulation through URL parameters and not only through named operations
- page.site.map.generator.row.limit
- Max number of rows queried at a time by the PageSiteMapGenerator
- preserveQueryStringOnRedirect
- When a URL redirect happens via the UrlHandlerFilter, if this property is true, it will append the old query params to the new URL
Common
- query.cacheable
- JPA second level cache to use for queries
- Not Used
- detect.sequence.generator.inconsistencies
- Turn on BLC detection support for corrupt primary key generation configuration
- auto.correct.sequence.generator.inconsistencies
- Turn on auto correction of corrupt primary key generation configuration
- default.schema.sequence.generator
- Qualify unqualified table name with this schema name when performing sequence generator inconsistency detection
- workflow.auto.rollback.on.error
- Make any RollbackHandler instances registered with the ActivityStateManager rollback automatically on a workflow error
- messages.useCodeAsDefaultMessage
- Fallback to use the default message in the Admin.
- This will ensure that client-specific friendly names are not required to appear in an internationalized properties file
- messages.cacheSeconds
- Number of seconds to cache loaded properties files
- Used by BroadleafMergeResourceBundleMessageSource
- Leave set to
-1
as this ensures that codes are always obtained from a merged property list.
- i18n.translation.enabled
- Whether to enable I18n translations
- cache.page.templates
- Whether to cache page templates
- In non development environments, we should aggressively cache page templates.
- cache.page.templates.ttl
- The time to live for page templates
- Defaults to 1 day
- stateless.request.path
- If the request starts with this path prefix, it will be used by the StatelessSessionFilter to prevent out of box filters from creating sessions
- bundle.enabled
- If true, resources inside of a
blc:bundle
tag within a template will be bundled into a single file. - Note that when
bundle.enabled
is set to true that changes to file-system based resources will not be picked up until the server is restarted.- For this reason,
bundle.enabled
is normally set to false in development (typically indevelopment.properties
).
- For this reason,
- If true, resources inside of a
- resource.versioning.enabled
- Used by BroadleafVersionResourceResolver to determine if resources should be versioned.
- When the staticResourceBrowserCacheSeconds is set to a non-zero number, resources should be versioned to prevent client browsers from caching a stale JS or CSS file.
- resource.caching.enabled
- Determines whether BroadleafCachingResourceResolver should cache resources
- resource.transformer.caching.enabled
- Determines whether BroadleafCachingResourceTransformer should cache resource transformations
- staticResourceBrowserCacheSeconds
- Number of seconds to add to static file cache headers.
- This property is used in the applicationContext to set the cache-seconds property for HTTPResourceHandlers
- See
org.springframework.web.servlet.resource.ResourceHttpRequestHandler
- minify.enabled
- Whether to minify JS and CSS resources inside of a
blc:bundle
tag with a template
- Whether to minify JS and CSS resources inside of a
- minify.allowSingleMinification
- No longer used
- minify.linebreak
- If set to a value other than
-1
, will enforce a linebreak at that value, during minification - note Only YUICompressor
- If set to a value other than
- minify.munge
- If true, will replace variable names with shorter versions, during minification
- note Only YUICompressor
- minify.verbose
- If true, will display extra logging information to the console, during minification
- note Only YUICompressor
- minify.preserveAllSemiColons
- If true, will never remove semi-colons, even if two in a row exist, during minification
- note Only YUICompressor
- minify.disableOptimizations
- If true, will disable some micro-optimizations that are performed, during minification
- note Only YUICompressor
- minify.closure.compiler.languageIn
- Sets the language spec to which input sources should conform.
- Options: ECMASCRIPT3, ECMASCRIPT5, ECMASCRIPT5_STRICT, ECMASCRIPT6_TYPED (experimental), ECMASCRIPT_2015, ECMASCRIPT_2016, ECMASCRIPT_2017, ECMASCRIPT_NEXT
- ECMASCRIPT5 by default
- note Only Google Closure Compiler
- minify.closure.compiler.languageOut
- Sets the language spec to which output should conform.
- Options: ECMASCRIPT3, ECMASCRIPT5, ECMASCRIPT5_STRICT, ECMASCRIPT6_TYPED (experimental), ECMASCRIPT_2015, ECMASCRIPT_2016, ECMASCRIPT_2017, ECMASCRIPT_NEXT, NO_TRANSPILE
- NO_TRANSPILE by default
- note Only Google Closure Compiler
- minify.closure.compiler.warningLevel
- Specifies the warning level to use.
- Options: QUIET, DEFAULT, VERBOSE
- QUIET by default
- note Only Google Closure Compiler
- site.baseurl
- Used to determine the base URL of the Site
- admin.baseurl
- Used to determine the base URL of the Admin
- site.domain.resolver.strip.subdomains
- Comma separated list of subdomains
- Used by the Domain Site Identifier Type to remove expected subdomains
- For example, stripping 'www' from www.domain.com to resolve to domain.com
- thymeleaf.threadLocalCleanup.enabled
- Unused
- thymeleaf.useLayoutDialect
- Whether to use Thymeleaf Layout Dialect when resolving Thymeleaf views
- site.strict.validate.production.changes
- Determines whether update restrictions are enforced on workflow enabled entities outside of the admin.
- If enabled, updates to entity properties (e.g. sku.retailPrice) will not be allowed unless performed in the Admin.
- This would serve to guarantee change auditing, but could cause pain for alternative update pathways, such as REST services.
- False by default.
- admin.strict.validate.production.changes
- Determines whether update restrictions are enforced on all workflow enabled entities inside of the Admin.
- It is unlikely that this property would be changed at the property file level; rather, it is more usual to change the value on the BroadleafRequestContext on a case-by-case basis for a given request.
- sitemap.gzip.files
- Determines whether sitemap files are gzipped during generation
- sitemap.cache.seconds
- Amount of time to rely on the local cache for a sitemap file in seconds
- sitemap.createIfNotFound
- Determines whether the system will create a sitemap if none exists when a sitemap is requested
- Should be set to false for large catalogs, which should generate the sitemap with an offline job.
- cache.stat.log.resolution
- Number of milliseconds between cache hit statistics log output
- Only occurs if log level for StatisticsServiceImpl is set to
INFO
or higher
- asset.server.file.classpath.directory
- The system will check for assets in this directory before checking the file system
- This field was primarily added to support needs like the Broadleaf Demo Site where we wish to provide assets as part of the distribution of the software.
- It is blank by default to indicate to the system that it should not to check this directory.
- Note Do not use in production environments
- asset.server.file.system.path
- The base path where file system assets will be stored. Should begin but not end with a "/"
- If not set, the system will use
System.setProperty("java.io.tmpdir")
- Deprecated: Should use
asset.server.file.system.path
instead
- asset.server.max.generated.file.system.directories
- This value will be used to determine the number of directories created to store images and other assets on the filesystem using a set of generated directories based on the MD5 value of the filename.
2
supports a distribution of about 10 million files and is suitable for most purposes.3
would add support for over 2 billion, but for implementations of this size, distributed file system options should be considered.
- file.service.temp.file.base.directory
- Determines the directory where temporary files reside if you want to use something besides
java.io.tmp
for your temp directory
- Determines the directory where temporary files reside if you want to use something besides
- streaming.transaction.item.page.size
- The amount of sandbox items to process in a single transaction.
- This is a useful setting for large sandboxes, as it would not be performant to process a significant amount of sandbox items in a single transaction
- e.g., updating the price on a 100,000 products in production
- By processing sandbox items in smaller batches, the transactions are kept small, and there is less chance of interfering with customer experience
- Note this setting is not the same as jdbc batch size.
- streaming.transaction.lock.retry.max
- Max number of times the system will retry a persistence operation for jobs or events when it fails to obtain a transactional lock
- googleAnalytics.testLocal
- Determines whether to force the domain to 127.0.0.1
- Useful to determine if the Google Analytics tag is sending a request to Google
- exploitProtection.xssEnabled
- Used by ExploitProtectionServiceImpl to determine whether to clean input strings
- True by default
- exploitProtection.xsrfEnabled
- Used by ExploitProtectionServiceImpl to determine whether to check the CSRF token for the web session
- True by default
- global.admin.prefix
- Use to make the Global Admin accessible by a domain prefix (subdomain style)
- e.g.,
global.mysite.com
- e.g.,
- Use to make the Global Admin accessible by a domain prefix (subdomain style)
- global.admin.url
- Use to make the Global Admin accessible by a subdirectory
- e.g.,
www.mysite.com/global
- e.g.,
- Use to make the Global Admin accessible by a subdirectory
- system.property.cache.timeout
- Cache timeout in seconds for system properties
- By default, set to
-1
, which means the cache is eternal
- ignore.no.process.detail.logger.configuration
- Whether to display a support message when the ProcessDetailLogger is used but not configured by a backing logging system
- disable.all.process.detail.logging
- Whether ProcessDetailLogger will attempt to log anything
- The ProcessDetailLogger functionality can be completely turned off here
- url.fragment.separator
- Determine the character to replace whitespaces with for Entity forms when automatically generating URLs based on the entity's name, such as for Categories
- e.g., if the Category's name is "Hot Sauces", then its URL is automatically generated to be "hot-sauces"
- Determine the character to replace whitespaces with for Entity forms when automatically generating URLs based on the entity's name, such as for Categories
- enterprise.use.production.sandbox.mode
- Determines whether production sandbox mode is used
Framework
- solr.index.product.pageSize
- Page (or batch) size for Solr reindexing
- solr.index.errorOnConcurrentReIndex
- This indicates that the SolrIndexService should throw an exception if more than one thread attempt concurrent reindexing
- If false, the service will log it and return gracefully.
- solr.cloud.defaultNumShards
- This is the default number of SolrCloud shards that will be created if a collection has to be created by the application
- This number needs to be less than or equal to the number of Solr nodes in the cluster.
- solr.cloud.configName
- When creating a collection in SolrCloud, you can specify the configuration by name as it is stored in Zookeeper
- solr.index.use.sku
- This indicates if we should be indexing/browsing by Sku instead of by Product (experimental)
- solr.index.commit
- Set this to false to disable API-based commits.
- If set to false, you must ensure that autoCommit is enabled in
solrconfig.xml
(on the Solr server).- You should also consider configuring autoSoftCommit if setting this to false.
- solr.index.softCommit
- This is for making incremental updates to the index.
- It's best to use hard commits for full reindexing in the reindex core.
- Soft commits are best if you are sending small, incremental updates to the primary index.
- If this is true, you must turn on autoCommit inside
solrconfig.xml
. Otherwise, changes will not get written to disk
- This is for making incremental updates to the index.
- solr.index.waitSearcher
- This indicates if Solr should block until a new searcher is configured.
- Default is true.
- solr.index.waitFlush
- Indicates if Solr should block until data is flushed to disk.
- Default is true.
- Should set it to false if
solr.index.softCommit=true
- pricing.retry.count.for.lock.failure
- Number of times to retry acquiring lock when saving pricing changes to an Order
- pricing.retry.wait.interval.for.lock.failure
- Interval in milliseconds between attempts to acquire lock to save pricing changes to an Order
- stop.checkout.on.single.payment.failure
- Unused
- automatically.merge.like.items
- If true and if the same item is added to the cart, the quantity will automatically be updated.
- clearCartOnLocaleSwitch
- Indicates the cart should be cleared if the locale changes
- password.site.encoder
- Determine the implementation of
org.springframework.security.crypto.password.PasswordEncoder
to use on the site for encoding passwords
- Determine the implementation of
- category.site.map.generator.row.limit
- Max number of rows queried at a time by the CategorySiteMapGenerator
- product.site.map.generator.row.limit
- Max number of rows queried at a time by the ProductSiteMapGenerator
- sku.site.map.generator.row.limit
- Max number of rows queried at a time by the SkuSiteMapGenerator
- default.payment.gateway.checkout.useGatewayBillingAddress
- If true, the DefaultPaymentGatewayCheckoutService will use the billing address sent back from the gateway.
- disableThymeleafTemplateCaching
- If true, the BroadleafCacheProcessor will not cache templates
- catalogUriService.appendIdToRelativeURI
- If true, relative URLs will have an id appended
- e.g. productId=123
- If true, relative URLs will have an id appended
- catalogUriService.useUrlKey
- If true, the catalogUriService will call
product.getUrlKey
orcategory.getUrlKey
to get the last fragment of the URL instead of parsing the results of Product or CategorygetURL()
method
- If true, the catalogUriService will call
- singleFulfillmentGroup.fgItem.sync.qty
- There are edge cases where the OrderItem and FulfillmentGroupItem quantities can fall out of sync.
- If this happens, by setting the
singleFulfillmentGroup.fgItem.sync
flag to true, the system will correct the fulfillmentGroup quantity from the OrderItem and save/reprice the Order to synchronize them.
- If this happens, by setting the
- This flag is only valid for single FulfillmentGroups.
- There are edge cases where the OrderItem and FulfillmentGroupItem quantities can fall out of sync.
Framework Web
- web.defaultPageSize
- Default SearchCriteria page size for SearchFacet results
- web.maxPageSize
- Max SearchCriteria page size for SearchFacet results
- order.lock.errorInsteadOfQueue
- Determines whether to queue the Order transaction or throw exception after failure to acquire lock on the Order
- order.lock.databaseLockPollingIntervalMs
- Time to sleep in milliseconds between attempts to acquire lock on Order
- order.lock.databaseLockAcquisitionNumRetries
- Number of attempts to acquire lock on Order
- googleAnalytics.clientId
- Left blank to be used as placeholder for client overrides
- googleAnalytics.clientSecret
- Left blank to be used as placeholder for client overrides
- googleAnalytics.accountId
- Left blank to be used as placeholder for client overrides
- googleAnalytics.webPropertyId
- Can be used in conjunction with the
masterWebPropertyId
to provide a more site-specific tracker that can be overridden via database System Properties.- In a single-site scenario you would typically only modify 1 or the other.
- If both are set them multiple trackers appear on the page. This might also be suitable if you have 2 analytics accounts that you want to capture traffic for.
- Can be used in conjunction with the
- googleAnalytics.profileId
- Left blank to be used as placeholder for client overrides
- googleAnalytics.masterWebPropertyId
- See
googleAnalytics.webPropertyId
- Used for multi-site installations only
- See
- allowProductResolutionUsingIdParam
- If true, allows Products to be retrieved using the ID parameter.
- This approach can be more efficient for large catalogs and more easily support dynamic URL building
- allowCategoryResolutionUsingIdParam
- If true, allows Categories to be retrieved using the ID parameter.
- This approach can be more efficient for large catalogs and more easily support dynamic URL building
Open Admin Platform
- adminUserNameEmail.fromAddress
- From (sender) email address for emails sent to Admin Users who forget their usernames
- adminUserNameEmail.emailTemplate
- Template for emails sent to Admin Users who forget their usernames
- adminUserNameEmail.subject
- Subject line of emails sent to Admin Users who forget their usernames
- adminResetPassword.fromAddress
- From (sender) email address for emails sent to Admin Users to reset their passwords
- adminResetPassword.emailTemplate
- Template for emails sent to Admin Users to reset their passwords
- adminResetPassword.subject
- Subject line of emails sent to Admin Users to reset their passwords
- tokenExpiredMinutes
- Length of session after logging into the Admin before being automatically logged out
- resetPasswordURL
- URL of page to send Admin User to in order to reset their password
- exception.showDebugMessage
- Determines whether AdminMappingExceptionResolver will display debug message when an Exception is thrown while working in the Admin
- cache.entity.dao.metadata.ttl
- Time to Live (ttl) for Entity Field Metadata cache
- Used by SkuCustomPersistenceHandler and DynamicEntityDao
-1
means cache eternally
- password.admin.encoder
- Determine the implementation of
org.springframework.security.crypto.password.PasswordEncoder
to use in the Admin for encoding passwords
- Determine the implementation of
- admin.search.string.onlyStartsWith
- Setting this property to true will force Admin String searches to only match if the value starts with the search string
- admin.enum.minCountForDropDown
- Minimum number of Enum values required before displaying them in a drop-down rather than a list with radio buttons
- uriPropertyValidator.ignoreFullUrls
- Determines whether full URLs should pass validation by UriPropertyValidator
- uriPropertyValidator.requireLeadingSlash
- Determines whether relative URLs that do not begin with a "/" should pass validation by the UriPropertyValidator
- uriPropertyValidator.allowTrailingSlash
- Determines whether relative URLs ending with a "/" should pass validation by UriPropertyValidator
- listGrid.forceShowIdColumns
- Used in the admin to show ID columns when displaying list grids.
- admin.user.requireUniqueEmailAddress
- Determines whether Admin Users have to have unique email addresses
- admin.form.validation.errors.hideTopLevelFieldErrors
- Prevent error messages from showing up on the top of the forms in the Admin
- exploitProtection.xssEnabled
- Used by ExploitProtectionServiceImpl to determine whether to clean input strings
- Also defined in BroadleafCommercePrivate Common module
- admin.category.treeViewEnabled
- Use Category tree view by default
- admin.default.max.results
- Max number of entities to fetch in Admin
Common Enterprise Modules
- streaming.transaction.item.page.size
- The amount of sandbox items to process in a single transaction.
- This is a useful setting for large sandboxes, as it would not be performant to process a large amount of sandbox items in a single transaction
- e.g., updating the price on a 100,000 products in production
- By processing sandbox items in smaller chunks, the transactions are kept small and there is less chance of interfering with customer experience.
- Note this setting is not the same as jdbc batch size.
- Also declared in BroadleafCommercePrivate Common module
Customer Segment
None
Custom Field
None
Demo Site Private
TODO
Enterprise
- enterprise.loaded.flag
- Used by the system to determine if the enterprise module is loaded
- blProducts.cache.region.evict.threshold
- Number of cache evictions belonging to a particular region at which individual evictions are no longer sent and the entire cache region is simply evicted instead
- blCategories.cache.region.evict.threshold
- See previous
- blOffers.cache.region.evict.threshold
- See previous
- sandbox.allow.auto.sync
- Determines whether changes from a parent sandbox are synced to the current sandbox before promotion.
- If set to false, and the current sandbox is not up-to-date, the user will be notified that a sync is required.
- Defaults to true after 5.0.0-GA
- sandbox.auto.promote.prod
- Whether changes are immediately promoted to production (effectively skipping workflow altogether)
- solr.cache.global
- Determines whether Solr uses a global cache that all VMs can update
- If running in stand-alone Solr, you will only want one of the VMs to update the index, as it would be shared between all VMs. In that case, this boolean should be set to false.
- workflow.scheduled.deploy.transactional.email.distro
- Email address to send promotion and deployment event statuses
- workflow.promote.transactional.email.send.on.success
- Determines whether an email is sent after a successful promotion event
- workflow.scheduled.deploy.showEmpty
- Determins whether to show empty deployments in the deployment history
- product.uri.search.using.urlKey
- Unused
- product.uri.search.using.url
- Unused
- category.uri.search.using.urlKey
- Determines whether to allow searching for products using
Product.urlKey
- Determines whether to allow searching for products using
- category.uri.search.using.url
- Determines whether to allow searching for products using
Product.url
- Determines whether to allow searching for products using
- sandbox.orders.admin.visibility
- Determines which kinds of orders to display in the Admin interface.
- Acceptable values are:
PROD
- for displaying orders made in a non-sandbox environment (e.g., production)PREVIEW
- for displaying orders made only in a sandbox environment
- crossapp.msvalid
- How long tokens used for authentication between the Admin and site apps are valid, in milliseconds
- crossapp.requireSsl
- Determines whether authentication between the Admin and site apps require SSL
- csr.clearCustomerOnCheckout
- Determines whether to clear the Customer after checking out in CSR mode
- csr.clearCartOnCheckout
- Determines whether to clear the Cart after checking out in CSR mode
- enterprise.workflow.logger.enabled
- Whether enterprise workflow logging is enabled
- Recommended for troubleshooting and support
- enterprise.workflow.logger.non.production.enabled
- Whether enterprise workflow logging is enabled for both production and non-production operations
- Recommended for troubleshooting and support
- seo.generatedTitleField.maxLength
- Determines the max length of HTML meta-titles generated by the SeoTagService for Products, Categories, and Pages
- seo.generatedDescriptionField.maxLength
- Determines the max length of HTML meta-descriptions generated by the SeoTagService for Products, Categories, and Pages
- seo.autogenerate.twitterCardUrl
- Determines whether the SeoTagService should generate a Twitter Card URL for Products, Categories, and Pages if there isn't one already
- seo.autogenerate.openGraphUrl
- Determines whether the SeoTagService should generate an OpenGraph URL for Products, Categories, and Pages if there isn't one already
- enterprise.use.production.sandbox.mode
- Determines whether production sandbox mode is used
- Also declared in BroadleafCommercePrivate Common module
- fetch.all.references.max
- Determines the max number of overrides a request can have to qualify for fetching everything up front
- The request cache for clone lib can be entirely fetched up front in a single query for request contexts with few overrides.
- admin.category.treeViewEnabled
- Use Category tree view by default
- Also declared in BroadleafCommercePrivate Open Admin module
- admin.image.file.extensions
- Specifies valid image extensions for the Admin
Enterprise Search
- show.search.score.default
- Determines whether to display the search score of Products after doing a search by default
- Note Can be toggled when in Preview on Site mode
- event.solrindex.worker.type
- Specifies the node where Solr index events will be consumed
- ADMIN by default
Gift Card and Customer Credit
- admin.creditAccount.canVoidTransaction
- Whether a user has permission to void a transaction
- admin.creditAccount.canRefundTransaction
- Whether a user has permission to refund a transaction
I18n Enterprise
- international.message.resolution.enabled
- Resolution flag on whether the BroadleafI18nMergeResourceExtensionHandler should resolve the message
- Off by default.
- international.message.cache.timeout
- Cache timeout in seconds for message sources
- By default, set to
-1
which is an eternal cache
- i18n.regional.form.enabled
- Enable region based DynamicForms
Menu
None
Merchandising Group
None
Multi-Tenant Single Schema
- mt.loaded.flag
- Used by the system to determine if the multitenant module is loaded
- site.baseurl.prefix
- This property is used for site URL resolition when the site is configured with the
DOMAIN
resolution type
- This property is used for site URL resolition when the site is configured with the
- site.baseurl.domain
- This property is used for site URL resolution when the site is configured with the
DOMAIN_PREFIX
resolution type. - For example, if the value of a given site is "test" and this property is "domain.com", the resulting url would be http://test.domain.com
- This property is used for site URL resolution when the site is configured with the
- site.baseurl.port
- Specifies the server port for site URL resolution
- site.baseurl.context
- Used to differentiate between the site and Admin apps
- site.baseurl.secure
- Specifies whether to use a secure SSL connection for the site
- admin.baseurl.prefix
- See
site.baseurl.prefix
- See
- admin.baseurl.domain
- See
site.baseurl.domain
- See
- admin.baseurl.port
- See
site.baseurl.port
- See
- admin.baseurl.context
- See
site.baseurl.context
- Set to "admin" to specify the Admin app
- See
- admin.baseurl.secure
- See
site.baseurl.secure
- See
- multitenant.static.asset.unset.behavior
- Determines whether static assets with unset StaticAssetShareableType are always or never shared with other MT sites
OMS
- oms.search.order.service.solr.primary.location
- URL of the OMS Order Primary Solr server
- The value of this property depends on the version of the Solr server in use.
- If using HttpSolrServer, this will be a single URL to Solr.
- If using LBHttpSolrServer, this will be a comma-separated list of URLs to Solr servers.
- If using CloudSolrServer, this will be a comma-separated list of Zookeeper Servers (e.g. zkHost1:1234,zkHost2:1234).
- oms.search.order.service.solr.reindex.location
- URL of the OMS Order Solr server for reindexing
- See
oms.search.order.service.solr.primary.location
- oms.search.order.service.solr.admin.location
- URL of the OMS Order Solr admin
- See
oms.search.order.service.solr.primary.location
- oms.search.order.service.solr.primary.name
- This is the name of the Solr Core or Solr Collection (in the case of SolrCloud).
- oms.search.order.service.solr.reindex.name
- See
oms.search.order.service.solr.primary.name
- See
- oms.search.order.service.solr.namespace
- Namespace to be used for indexing orders in Solr
- oms.search.customer.service.solr.primary.location
- Same as
oms.search.order.service.solr.primary.location
except for Customers rather than Orders
- Same as
- oms.search.customer.service.solr.reindex.location
- Same as
oms.search.order.service.solr.reindex.location
except for Customers rather than Orders
- Same as
- oms.search.customer.service.solr.admin.location
- Same as
oms.search.order.service.solr.admin.location
except for Customers rather than Orders
- Same as
- oms.search.customer.service.solr.primary.name
- Same as
oms.search.order.service.solr.primary.name
except for Customers rather than Orders
- Same as
- oms.search.customer.service.solr.reindex.name
- Same as
oms.search.order.service.solr.reindex.name
except for Customers rather than Orders
- Same as
- oms.search.customer.service.solr.namespace
- Same as
oms.search.order.service.solr.namespace
except for Customers rather than Orders
- Same as
- oms.search.service.solr.index.pageSize
- Page size when doing full reindex
- oms.search.solr.index.commit
- This tells the client whether to issue a commit to Solr or not.
- It's best for performance to turn this off and use autoSoftCommit.
- This tells the client whether to issue a commit to Solr or not.
- oms.search.solr.index.softCommit
- This tells Solr whether to issue a soft or hard commit.
- This only matters if
oms.search.solr.index.commit=true
. - Soft is better for performance, but it is advised to use autoSoftCommit.
- Default is true.
- oms.search.solr.index.waitSearcher
- Indicates if a the commit process should wait for a searcher.
- This only matters if
oms.search.solr.index.commit=true
. - Default is false.
- oms.search.solr.index.waitFlush
- Indicates if a the commit process should wait for a flush to disk.
- This only matters if
oms.search.solr.index.commit=true
. - Default is false.
- oms.returns.ra.splitMessage
- This message gets added to a note when an RA is split.
- This is a message that can be overridden in a properties file or in the
BLC_SYSTEM_PROPERTY
table.
- oms.changeOrder.payment.gateway.customerPayment.redirectUrl
- URL for the payment gateway to redirect to in order to save a new payment method for an *
- oms.order.fulfillButton.enabled
- The value of this property is used to enable the Order Fulfillment button only for development environment
- Default is false
- event.fulfillmentorderreindex.worker.type
- Specifies the node where fulfillment order reindex event will be consumed
- SITE by default
- event.omscustomerreindex.worker.type
- Specifies the node where oms customer reindex event will be consumed
- SITE by default
- event.omsorderreindex.worker.type
- Specifies the node where oms order reindex event will be consumed
- SITE by default
Price List
None
Scheduled Jobs and Events
- database.event.polling.interval.seconds
- Number of seconds between each polling attempt to the database in search of new system events to process.
- Only applicable for database-based event implementations, which is the default. Other implementations, such as JMS, may be used instead.
- database.event.quantity.per.poll
- Number of jobs/events to process during a single polling attempt
- master.node.heartbeat.interval.seconds
- Number of seconds between each hearbeat check event for a node.
- During this check, a node has the opportunity to ascend to master status if there isn't a master or if the current master is determined to be defunct.
- node.purge.threshold.seconds
- Number of seconds a node can miss heartbeat detection before determining that the node has become defunct.
- node.purge.interval.seconds
- Number of seconds between each polling attempt to the database in search of defunct nodes to purge.
- event.purge.interval.seconds
- Number of seconds between each polling attempt to the database in search of defunct SystemEvents to purge.
- database.event.candidate.deletion.pagesize
- Maximum number of defunct events to purge in a single pass
Theme
- theme.files.basedir
- Where Theme Files are located on the file system
- theme.templates.folder
- Where Theme Templates are located on the file system
- This folder should end in a slash