Release Notes / Version 12.2506.0
Table Of ContentsMultiple changes were made to CAE Feeder configuration properties, its defaults and related Java API. This includes changes for configuring indexed blob values and properties by name, that may require adapting your configuration. Other changes deprecate existing configuration properties or API, and introduce suggested replacements. For the latter, it is not necessary but still recommended to switch to new properties and API. Deprecated properties and API will be removed in future releases.
The default configuration of the Blueprint CAE Feeder was changed to
restrict feeding of blobs to MIME-types for text, PDF, and MS Word
(text/*, application/pdf,
application/msword, and
application/vnd.openxmlformats-officedocument.wordprocessingml.document)
in file caefeeder-blueprint.properties of Blueprint
Maven module caefeeder-blueprint-component. This
breaking change was made to avoid potential issues when feeding and
parsing text from unexpected formats. If it is necessary to feed blobs
of other MIME-types, then you must add these MIME-types to the enabled
ones using configuration property
feeder.blob.enabled[<mimetype>]=true. If some
of the default MIME-types are not necessary for feeding, then you
should remove them from the list of enabled ones. Previously, blobs of
any MIME-type were accepted by default. Note, that the existing
configuration properties for configuring MIME-types
feeder.beanMapping.mimeType.includes and
feeder.beanMapping.mimeType.excludes have been
replaced by new property feeder.blob.enabled.
Configuration property feeder.beanPropertyMaxBytes
to limit the size of indexed bean properties was deprecated and its
default value changed from 5 MB to unlimited. It has been replaced by
property feeder.blob.max-size[*/*]. The new
property has the same default of 5 MB, but only for Blueprint usage,
where it is set in caefeeder-blueprint.properties.
You cannot configure a larger maximum size using the deprecated
property feeder.beanPropertyMaxBytes without
increasing the new property. The new property is also used for blobs
added by custom FeedablePopulator implementations.
However, opposed to feeder.beanPropertyMaxBytes it
is only used for Blob values. Bean properties of other types typically
don’t need to be skipped based on their size. If still necessary, this
must be implemented in the bean property's getter method itself or in
a custom implementation of
com.coremedia.cap.feeder.bean.PropertyConverter
The type of Spring bean
caeFeederBeanPropertiesByClass was changed from
Map<Class, String> to
Map<String, String>. If you add entries to
that map in a Spring Java configuration class with the
@Customize annotation, then you have to change the
Map key from type Class to
String as returned by
Class#getName(). No change is necessary for
<customize:append ...> elements in Spring
XML.
The following public Java API methods have been deprecated. See their deprecation notice in the API documentation for details.
Method
setMaxBytesof classcom.coremedia.blueprint.feeder.cae.assets.AssetDocumentBlobFeedablePopulatorMethods
getBeanPropertyMaxBytesandsetBeanPropertyMaxBytesof classescom.coremedia.cap.feeder.bean.BeanMappingFeedablePopulator,com.coremedia.cap.feeder.bean.BeanFeedableMapping, andcom.coremedia.cap.feeder.bean.BeanPropertyFeedableElementMappingMethods
getMimeTypeIncludes,setMimeTypeIncludes,setMimeTypeIncludesCsv,getMimeTypeExcludes,setMimeTypeExcludes, andsetMimeTypeExcludesCsvof classescom.coremedia.cap.feeder.bean.BeanMappingFeedablePopulator,com.coremedia.cap.feeder.bean.BeanFeedableMapping, andcom.coremedia.cap.feeder.bean.BeanPropertyFeedableElementMapping.
Multiple configuration properties of the CAE
Feeder have been renamed or replaced as part of an
initiative to use Spring Boot's type-safe
ConfigurationProperties. The old property names
still work as before but have been deprecated, and will be removed in
a future release. It's recommend to migrate to the new property names.
See also section 'CAE Feeder Properties' in the Deployment Manual for
a description of deprecated and new properties.
The following properties have been replaced:
contentDependencyInvalidator.invalidationStopped→caefeeder.invalidation.pauseddependencyStore.jobQueueCapacity→caefeeder.store.dependency-job-queue-capacitydependencyStore.maxTransactionWeight→caefeeder.store.dependency-transaction-max-weightdependencyStore.storeDependencyNames→caefeeder.store.dependency-namesfeeder.contentSelector.basePath->caefeeder.content.pathfeeder.contentSelector.contentTypeNames->caefeeder.content.typefeeder.contentSelector.includeSubTypes->caefeeder.content.include-subtypesfeeder.beanMapping.mimeType.includes→feeder.blob.enabledfeeder.beanMapping.mimeType.excludes→feeder.blob.enabledfeeder.beanPropertyMaxBytes→feeder.blob.max-size[*/*]jdbc.lock.enable→caefeeder.lock.enabledjdbc.lock.timeout→caefeeder.lock.timeoutpersistentcache.clear→caefeeder.store.resetproactiveengine.log.progress.interval.seconds→caefeeder.evaluation.log-intervalproactiveengine.senders.delay→caefeeder.evaluation.delayproactiveengine.senders.evaluators→caefeeder.evaluation.threadsproactiveengine.senders.idledelay→caefeeder.evaluation.idle-delaytimedDependencyInvalidator.timerResolutionMinimum→caefeeder.invalidation.timed-dependency-interval
The new properties caefeeder.content.path,
caefeeder.content.type,
caefeeder.blob.enabled, and
caefeeder.blob.max-size do not take a
comma-separated list of values as their predecessors, but a Map with
different configuration syntax. For details, have a look at the
section "Specifying the Set of Indexed Content Beans" and
“Mapping of Property Types“ in the Search Manual, or section "CAE
Feeder Properties" in the Deployment Manual. For example, a
comma-separated list of paths specified with
feeder.contentSelector.basePath=/Sites,/Settings/Taxonomies
can be replaced with two properties
caefeeder.content.path[/Sites]=true and
caefeeder.content.path[/Settings/Taxonomies]=true.
(CMS-27543)


