Documentation Home

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 project
  • common.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

  1. enable.account.archive
    • Enable soft delete for Account and AccountXref
  2. account.pending-order.notification.email.fromAddress
    • "From" address for pending order notification emails
  3. account.pending-order.notification.email.subject
    • Subject line for pending order notification emails

Advanced CMS

  1. category.site.map.generator.row.limit
    • Max number of rows queried at a time by the AdvancedContentSiteMapGenerator
  2. include.non.overridden.sc.items
    • Make override SCItems opt-out by default
  3. advancedcms.contentItem.showEmptyGroups
    • Setting this property to true will force the Admin to display ContentData that don't have any fields on ContentItems
  4. notifications.email.tracking
  5. Setting this property to true will track email sending and add records to the BLC_EMAIL_TRACKING table

Advanced Inventory

  1. 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
  2. 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
  3. 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 gorup
      • SINGLE_PER_ITEM - Single location per item
      • MULTIPLE_PER_ITEM - Multiple locations per item
  4. advanced-inventory.prioritize.higher.quantity
    • Used to give the maximum inventory quantity available at a FulfillmentLocation first priority
  5. advanced-inventory.prioritize.lower.quantity
    • Used to give the minimum inventory quantity available at a FulfillmentLocation first priority
  6. advanced-inventory.notification.job.pagesize
    • How many notifications to process at a time
  7. advanced-inventory.notification.email.fromAddress
    • From address for inventory notification emails
  8. advanced-inventory.notification.email.subject
    • Subject line for inventory notification emails

Advanced Offer

  1. 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

  1. 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
  2. asset.server.url.prefix.secure
    • Prefix used by CMS for secure channel.
    • Useful when your regular prefix begins with "http:"
  3. 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
  4. 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/)
  5. automatically.approve.pages
    • Cause CMS sandbox items to be automatically approved without workflow
    • No longer used
  6. automatically.approve.structured.content
    • No longer used
  7. asset.use.filesystem.storage
    • Controls whether the AssetService stores (and retrieves) the binary asset from the filesystem or database
  8. 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.
  9. asset.server.max.uploadable.file.size
    • The maximum file size that can be uploaded (10 Meg)
    • Implementors should tune this according to their needs.
  10. asset.server.file.buffer.size
    • The number of bytes from the input stream that will be read at a time
  11. asset.server.allow.unnamed.image.manipulation
    • Dis/allows image manipulation through URL parameters and not only through named operations
  12. page.site.map.generator.row.limit
    • Max number of rows queried at a time by the PageSiteMapGenerator
  13. 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

  1. query.cacheable
    • JPA second level cache to use for queries
    • Not Used
  2. detect.sequence.generator.inconsistencies
    • Turn on BLC detection support for corrupt primary key generation configuration
  3. auto.correct.sequence.generator.inconsistencies
    • Turn on auto correction of corrupt primary key generation configuration
  4. default.schema.sequence.generator
    • Qualify unqualified table name with this schema name when performing sequence generator inconsistency detection
  5. workflow.auto.rollback.on.error
    • Make any RollbackHandler instances registered with the ActivityStateManager rollback automatically on a workflow error
  6. 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
  7. 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.
  8. i18n.translation.enabled
    • Whether to enable I18n translations
  9. cache.page.templates
    • Whether to cache page templates
    • In non development environments, we should aggressively cache page templates.
  10. cache.page.templates.ttl
    • The time to live for page templates
    • Defaults to 1 day
  11. 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
  12. 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 in development.properties).
  13. 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.
  14. resource.caching.enabled
    • Determines whether BroadleafCachingResourceResolver should cache resources
  15. resource.transformer.caching.enabled
    • Determines whether BroadleafCachingResourceTransformer should cache resource transformations
  16. 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
  17. minify.enabled
    • Whether to minify JS and CSS resources inside of a blc:bundle tag with a template
  18. 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
  19. 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
  20. minify.closure.compiler.warningLevel
    • Specifies the warning level to use.
    • Options: QUIET, DEFAULT, VERBOSE
    • QUIET by default
  21. site.baseurl
    • Used to determine the base URL of the Site
  22. admin.baseurl
    • Used to determine the base URL of the Admin
  23. 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
  24. thymeleaf.threadLocalCleanup.enabled
    • Unused
  25. thymeleaf.useLayoutDialect
    • Whether to use Thymeleaf Layout Dialect when resolving Thymeleaf views
  26. 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.
  27. 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.
  28. sitemap.gzip.files
    • Determines whether sitemap files are gzipped during generation
  29. sitemap.cache.seconds
    • Amount of time to rely on the local cache for a sitemap file in seconds
  30. 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.
  31. 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
  32. 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
  33. 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
  34. 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.
  35. 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
  36. 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.
  37. 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
  38. 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
  39. exploitProtection.xssEnabled
    • Used by ExploitProtectionServiceImpl to determine whether to clean input strings
    • True by default
  40. exploitProtection.xsrfEnabled
    • Used by ExploitProtectionServiceImpl to determine whether to check the CSRF token for the web session
    • True by default
  41. global.admin.prefix
    • Use to make the Global Admin accessible by a domain prefix (subdomain style)
      • e.g., global.mysite.com
  42. global.admin.url
    • Use to make the Global Admin accessible by a subdirectory
      • e.g., www.mysite.com/global
  43. system.property.cache.timeout
    • Cache timeout in seconds for system properties
    • By default, set to -1, which means the cache is eternal
  44. 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
  45. disable.all.process.detail.logging
    • Whether ProcessDetailLogger will attempt to log anything
    • The ProcessDetailLogger functionality can be completely turned off here
  46. 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"
  47. enterprise.use.production.sandbox.mode
    • Determines whether production sandbox mode is used

Framework

  1. solr.index.product.pageSize
    • Page (or batch) size for Solr reindexing
  2. 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.
  3. 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.
  4. solr.cloud.configName
    • When creating a collection in SolrCloud, you can specify the configuration by name as it is stored in Zookeeper
  5. solr.index.use.sku
    • This indicates if we should be indexing/browsing by Sku instead of by Product (experimental)
  6. 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.
  7. 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
  8. solr.index.waitSearcher
    • This indicates if Solr should block until a new searcher is configured.
    • Default is true.
  9. 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
  10. pricing.retry.count.for.lock.failure
    • Number of times to retry acquiring lock when saving pricing changes to an Order
  11. pricing.retry.wait.interval.for.lock.failure
    • Interval in milliseconds between attempts to acquire lock to save pricing changes to an Order
  12. stop.checkout.on.single.payment.failure
    • Unused
  13. automatically.merge.like.items
    • If true and if the same item is added to the cart, the quantity will automatically be updated.
  14. clearCartOnLocaleSwitch
    • Indicates the cart should be cleared if the locale changes
  15. password.site.encoder
    • Determine the implementation of org.springframework.security.crypto.password.PasswordEncoder to use on the site for encoding passwords
  16. category.site.map.generator.row.limit
    • Max number of rows queried at a time by the CategorySiteMapGenerator
  17. product.site.map.generator.row.limit
    • Max number of rows queried at a time by the ProductSiteMapGenerator
  18. sku.site.map.generator.row.limit
    • Max number of rows queried at a time by the SkuSiteMapGenerator
  19. default.payment.gateway.checkout.useGatewayBillingAddress
    • If true, the DefaultPaymentGatewayCheckoutService will use the billing address sent back from the gateway.
  20. disableThymeleafTemplateCaching
    • If true, the BroadleafCacheProcessor will not cache templates
  21. catalogUriService.appendIdToRelativeURI
    • If true, relative URLs will have an id appended
      • e.g. productId=123
  22. catalogUriService.useUrlKey
    • If true, the catalogUriService will call product.getUrlKey or category.getUrlKey to get the last fragment of the URL instead of parsing the results of Product or Category getURL() method
  23. 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.
    • This flag is only valid for single FulfillmentGroups.
  24. solr.catalog.useLegacySolrIndexer
  25. If true, use standard legacy flow for reindex, if false, use multithread solr reindex, defauls is true

Framework Web

  1. web.defaultPageSize
    • Default SearchCriteria page size for SearchFacet results
  2. web.maxPageSize
    • Max SearchCriteria page size for SearchFacet results
  3. order.lock.errorInsteadOfQueue
    • Determines whether to queue the Order transaction or throw exception after failure to acquire lock on the Order
  4. order.lock.databaseLockPollingIntervalMs
    • Time to sleep in milliseconds between attempts to acquire lock on Order
  5. order.lock.databaseLockAcquisitionNumRetries
    • Number of attempts to acquire lock on Order
  6. googleAnalytics.clientId
    • Left blank to be used as placeholder for client overrides
  7. googleAnalytics.clientSecret
    • Left blank to be used as placeholder for client overrides
  8. googleAnalytics.accountId
    • Left blank to be used as placeholder for client overrides
  9. 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.
  10. googleAnalytics.profileId
    • Left blank to be used as placeholder for client overrides
  11. googleAnalytics.masterWebPropertyId
    • See googleAnalytics.webPropertyId
    • Used for multi-site installations only
  12. 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
  13. 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

  1. adminUserNameEmail.fromAddress
    • From (sender) email address for emails sent to Admin Users who forget their usernames
  2. adminUserNameEmail.emailTemplate
    • Template for emails sent to Admin Users who forget their usernames
  3. adminUserNameEmail.subject
    • Subject line of emails sent to Admin Users who forget their usernames
  4. adminResetPassword.fromAddress
    • From (sender) email address for emails sent to Admin Users to reset their passwords
  5. adminResetPassword.emailTemplate
    • Template for emails sent to Admin Users to reset their passwords
  6. adminResetPassword.subject
    • Subject line of emails sent to Admin Users to reset their passwords
  7. tokenExpiredMinutes
    • Length of session after logging into the Admin before being automatically logged out
  8. resetPasswordURL
    • URL of page to send Admin User to in order to reset their password
  9. exception.showDebugMessage
    • Determines whether AdminMappingExceptionResolver will display debug message when an Exception is thrown while working in the Admin
  10. cache.entity.dao.metadata.ttl
    • Time to Live (ttl) for Entity Field Metadata cache
    • Used by SkuCustomPersistenceHandler and DynamicEntityDao
    • -1 means cache eternally
  11. password.admin.encoder
    • Determine the implementation of org.springframework.security.crypto.password.PasswordEncoder to use in the Admin for encoding passwords
  12. 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
  13. admin.enum.minCountForDropDown
    • Minimum number of Enum values required before displaying them in a drop-down rather than a list with radio buttons
  14. uriPropertyValidator.ignoreFullUrls
    • Determines whether full URLs should pass validation by UriPropertyValidator
  15. uriPropertyValidator.requireLeadingSlash
    • Determines whether relative URLs that do not begin with a "/" should pass validation by the UriPropertyValidator
  16. uriPropertyValidator.allowTrailingSlash
    • Determines whether relative URLs ending with a "/" should pass validation by UriPropertyValidator
  17. listGrid.forceShowIdColumns
    • Used in the admin to show ID columns when displaying list grids.
  18. admin.user.requireUniqueEmailAddress
    • Determines whether Admin Users have to have unique email addresses
  19. exploitProtection.xssEnabled
    • Used by ExploitProtectionServiceImpl to determine whether to clean input strings
    • Also defined in BroadleafCommercePrivate Common module
  20. admin.category.treeViewEnabled
    • Use Category tree view by default
  21. admin.default.max.results
    • Max number of entities to fetch in Admin
  22. admin.password.regex.validation
    • Regular expression for admin user password should be validated against

Common Enterprise Modules

  1. 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

  1. enterprise.loaded.flag
    • Used by the system to determine if the enterprise module is loaded
  2. 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
  3. blCategories.cache.region.evict.threshold
    • See previous
  4. blOffers.cache.region.evict.threshold
    • See previous
  5. 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
  6. sandbox.auto.promote.prod
    • Whether changes are immediately promoted to production (effectively skipping workflow altogether)
  7. 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.
  8. workflow.scheduled.deploy.transactional.email.distro
    • Email address to send promotion and deployment event statuses
  9. workflow.promote.transactional.email.send.on.success
    • Determines whether an email is sent after a successful promotion event
  10. workflow.scheduled.deploy.showEmpty
    • Determins whether to show empty deployments in the deployment history
  11. product.uri.search.using.urlKey
    • Unused
  12. product.uri.search.using.url
    • Unused
  13. category.uri.search.using.urlKey
    • Determines whether to allow searching for products using Product.urlKey
  14. category.uri.search.using.url
    • Determines whether to allow searching for products using Product.url
  15. 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
  16. crossapp.msvalid
    • How long tokens used for authentication between the Admin and site apps are valid, in milliseconds
  17. crossapp.requireSsl
    • Determines whether authentication between the Admin and site apps require SSL
  18. csr.clearCustomerOnCheckout
    • Determines whether to clear the Customer after checking out in CSR mode
  19. csr.clearCartOnCheckout
    • Determines whether to clear the Cart after checking out in CSR mode
  20. enterprise.workflow.logger.enabled
    • Whether enterprise workflow logging is enabled
    • Recommended for troubleshooting and support
  21. enterprise.workflow.logger.non.production.enabled
    • Whether enterprise workflow logging is enabled for both production and non-production operations
    • Recommended for troubleshooting and support
  22. seo.generatedTitleField.maxLength
    • Determines the max length of HTML meta-titles generated by the SeoTagService for Products, Categories, and Pages
  23. seo.generatedDescriptionField.maxLength
    • Determines the max length of HTML meta-descriptions generated by the SeoTagService for Products, Categories, and Pages
  24. seo.autogenerate.twitterCardUrl
    • Determines whether the SeoTagService should generate a Twitter Card URL for Products, Categories, and Pages if there isn't one already
  25. seo.autogenerate.openGraphUrl
    • Determines whether the SeoTagService should generate an OpenGraph URL for Products, Categories, and Pages if there isn't one already
  26. enterprise.use.production.sandbox.mode
    • Determines whether production sandbox mode is used
    • Also declared in BroadleafCommercePrivate Common module
  27. 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.
  28. admin.category.treeViewEnabled
    • Use Category tree view by default
    • Also declared in BroadleafCommercePrivate Open Admin module
  29. admin.image.file.extensions
    • Specifies valid image extensions for the Admin
  30. disabled.file.extensions
    • Specifies a comma-separated blacklist of upload file extensions
  31. allowed.file.extensions
    • Specifies a comma-separated whitelist of upload file extensions, if specified disabled.file.extensions are ignored
  1. 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
  2. event.solrindex.worker.type
    • Specifies the node where Solr index events will be consumed
    • ADMIN by default

Gift Card and Customer Credit

  1. admin.creditAccount.canVoidTransaction
    • Whether a user has permission to void a transaction
  2. admin.creditAccount.canRefundTransaction
    • Whether a user has permission to refund a transaction

I18n Enterprise

  1. international.message.resolution.enabled
    • Resolution flag on whether the BroadleafI18nMergeResourceExtensionHandler should resolve the message
    • Off by default.
  2. international.message.cache.timeout
    • Cache timeout in seconds for message sources
    • By default, set to -1 which is an eternal cache
  3. i18n.regional.form.enabled
    • Enable region based DynamicForms

None

Merchandising Group

None

Multi-Tenant Single Schema

  1. mt.loaded.flag
    • Used by the system to determine if the multitenant module is loaded
  2. site.baseurl.prefix
    • This property is used for site URL resolition when the site is configured with the DOMAIN resolution type
  3. 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
  4. site.baseurl.port
    • Specifies the server port for site URL resolution
  5. site.baseurl.context
    • Used to differentiate between the site and Admin apps
  6. site.baseurl.secure
    • Specifies whether to use a secure SSL connection for the site
  7. admin.baseurl.prefix
    • See site.baseurl.prefix
  8. admin.baseurl.domain
    • See site.baseurl.domain
  9. admin.baseurl.port
    • See site.baseurl.port
  10. admin.baseurl.context
    • See site.baseurl.context
    • Set to "admin" to specify the Admin app
  11. admin.baseurl.secure
    • See site.baseurl.secure
  12. multitenant.static.asset.unset.behavior
    • Determines whether static assets with unset StaticAssetShareableType are always or never shared with other MT sites

OMS

  1. 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).
  2. oms.search.order.service.solr.reindex.location
    • URL of the OMS Order Solr server for reindexing
    • See oms.search.order.service.solr.primary.location
  3. oms.search.order.service.solr.admin.location
    • URL of the OMS Order Solr admin
    • See oms.search.order.service.solr.primary.location
  4. oms.search.order.service.solr.primary.name
    • This is the name of the Solr Core or Solr Collection (in the case of SolrCloud).
  5. oms.search.order.service.solr.reindex.name
    • See oms.search.order.service.solr.primary.name
  6. oms.search.order.service.solr.namespace
    • Namespace to be used for indexing orders in Solr
  7. oms.search.customer.service.solr.primary.location
    • Same as oms.search.order.service.solr.primary.location except for Customers rather than Orders
  8. oms.search.customer.service.solr.reindex.location
    • Same as oms.search.order.service.solr.reindex.location except for Customers rather than Orders
  9. oms.search.customer.service.solr.admin.location
    • Same as oms.search.order.service.solr.admin.location except for Customers rather than Orders
  10. oms.search.customer.service.solr.primary.name
    • Same as oms.search.order.service.solr.primary.name except for Customers rather than Orders
  11. oms.search.customer.service.solr.reindex.name
    • Same as oms.search.order.service.solr.reindex.name except for Customers rather than Orders
  12. oms.search.customer.service.solr.namespace
    • Same as oms.search.order.service.solr.namespace except for Customers rather than Orders
  13. oms.search.service.solr.index.pageSize
    • Page size when doing full reindex
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. oms.changeOrder.payment.gateway.customerPayment.redirectUrl
    • URL for the payment gateway to redirect to in order to save a new payment method for an *
  20. oms.order.fulfillButton.enabled
    • The value of this property is used to enable the Order Fulfillment button only for development environment
    • Default is false
  21. event.fulfillmentorderreindex.worker.type
    • Specifies the node where fulfillment order reindex event will be consumed
    • SITE by default
  22. event.omscustomerreindex.worker.type
    • Specifies the node where oms customer reindex event will be consumed
    • SITE by default
  23. 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

  1. 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.
  2. database.event.quantity.per.poll
    • Number of jobs/events to process during a single polling attempt
  3. 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.
  4. node.purge.threshold.seconds
    • Number of seconds a node can miss heartbeat detection before determining that the node has become defunct.
  5. node.purge.interval.seconds
    • Number of seconds between each polling attempt to the database in search of defunct nodes to purge.
  6. event.purge.interval.seconds
    • Number of seconds between each polling attempt to the database in search of defunct SystemEvents to purge.
  7. database.event.candidate.deletion.pagesize
    • Maximum number of defunct events to purge in a single pass
  8. database.event.lock.threshold
  9. Number of milliseconds for the event lock threshold. Default 10800000

Theme

  1. theme.files.basedir
    • Where Theme Files are located on the file system
  2. theme.templates.folder
    • Where Theme Templates are located on the file system
    • This folder should end in a slash