This chapter contains all changes made in Release 7.5.44 of CoreMedia Digital Experience Platform 8.
Note | |
---|---|
Highlights in this Release
|
Follow the CoreMedia DXP 8 Help Center section to receive release and product announcements automatically.
Modules and Tooling
Release 7.5.44 contains the following CoreMedia modules:
CoreMedia Blueprint
CoreMedia CMS
CoreMedia Studio
CoreMedia Elastic Social
In addition, CoreMedia DXP 8 uses the following tooling:
Product | Key | Version |
---|---|---|
CoreMedia Application Maven Plug-in | APPPLUGIN | 2.7.9 |
CoreMedia Project Maven Extension | PROJEXT | 1.0.5 |
Table 2.2. Tooling of CoreMedia DXP 8
CoreMedia CMS Changes and Improvements
Contentservers now expose their license validity information via JMX. MBean:
(CMS-5718)com.coremedia.Server
Properties: licenseValidFrom, licenseValidUntilSoft, licenseValidUntilHardIntroduced spring profile "disableDataViews" to speed up startup time of CAE. The 'dataViewFactory' bean is still available but ignores further dataview configuration. Beans are returned as-is.
(CMS-5712)
CoreMedia Studio Changes and Improvements
Added a method skipOnException to skip entries in searches and queries of the Elastic Core if an exception for one result entry occurs. The returned search result will contain all results which did not cause a Model- or SerializerException. This is especially useful for REST calls in the CoreMedia Studio which might otherwise break features if otherwise no result at all would be returned. Be aware that skipped entries will mess up the limit of the result list. If you query with a limit of 10 results, the search result will have less than 10 results if exceptions occur and are skipped. There will not be any additional query to fill up the skipped entry.
(CMS-5358)The interface MimeTypeService has been extended with a method to detect the mime type of a resource based on its contents. The new bean tikaMimeTypeService implements this method based on Apache Tika. This bean is now used to detect the mime type of resources during Studio uploads.It allows for a much more reliable mime type detection than simply mapping a file extension.
The old implementation, DefaultMimeTypeService with bean mimeTypeSercvice, is still present, but deprecated. It will be replaced by the tikaMimeTypeSercice in a future release.
(CMS-3660)
CoreMedia Blueprint Changes and Improvements
Update
(CMS-6458)frontend-maven-plugin
to latest version 1.1,node.js
to 4.6.0 andnpm
to 3.10.8. Sincefrontend-maven-plugin
is threadsafe, the blupeprint can be build multithreaded (-T1C
) without skipping themes (-DskipThemes
) again.The tomcat dependencies have been updated to 7.0.72
(CMS-6452)IBM WAS updates as of August 2016
(CMS-6238)CoreMedia recommends to use the latest IBM WAS 8.5.5 Fix Pack 10 and IBM WebSphere Java SDK 7.1 Service Refresh 3 Fix Pack 40
Miscellaneous Changes and Improvements
PATH_SPLITTER
andPATH_JOINER
have been moved fromUriConstants
toHandlerBase
, since they are used only there, and they have nothing to do withUriConstants
. If you use them elsewhere, you can make them public, copy them, move them elsewhere, as you like.joinPath
andsplitPathInfo
have been deleted fromContentLinkBuilder
. They were unused, had nothing to do with content link schemes, and they were only trivial one-line usages ofPATH_SPLITTER
andPATH_JOINER
, so they are not worth bloating the interface. If you like them, move the implementations into your project code:public List<String> splitPathInfo(String path) { return newArrayList(PATH_SPLITTER.split(path)); } public String joinPath(List<String> nodes) { return PATH_JOINER.join(nodes); }
Either use the uapi connection cache or build a new cache instance yourself
(CMS-6490)The class `hox.corem.Corem` should not be used anymore and thus has been deprecated.
(CMS-6424)The following public API methods and fields were deprecated and will be removed in a future release.
(CMS-6260)method
getNamedLoginServiceIorUrl
inhox.corem.Corem
field
condition
incom.coremedia.workflow.common.actions.AbstractAction
field
condition
incom.coremedia.workflow.common.actions.AbstractLongAction
methods
addRunningAction
andremoveRunningAction
incom.coremedia.workflow.common.actions.AbstractClientAction
method
setMbeanRegistry
incom.coremedia.workflow.common.util.SpringContextManager
Fixed Issues
CMS-6658: Fix weight calculation of CacheKey "PropertiesKey"
The CacheKey "PropertiesKey" now calculates the weight depending on the number of dependants, header and the value properties weight. Previously the weight of a PropertiesKey was always 1, potentially leading to much bigger UAPI cache sizes than configured.
CMS-6655: Commerce Cache Invalidation
Commerce Cache Invalidation is now working again in CAE.
CMS-6525: Accept XLIFF files with ending .xlf
When uploading files in Studio ending with .xliff or now also .xlf they are interpreted as XLIFF translations.
CMS-6507: Documentation of Blueprint Cookies
Cookies used by the CoreMedia system have been described in the CoreMedia DXP Developer Manual.
CMS-6308: IBM product and category code now support spaces and slashes
Although non-URL-friendly characters are discouraged in IBM product and category codes, slashes and spaces are supported.
CMS-6305: Moved HTTPSessionEventPublisher To CAE Component
HTTPSessionEventPublisher is needed to enable CSRF support.
CMS-6304: Renamed property cae.blobtransformer.capacity to blobtransformer.capacity
Property 'blobtransformer.capacity' configures a threshold for concurrent blob transformations in CAE and Studio.
CMS-6292: Asset Widget in IBM renders JavaScript when FragmentConnector is disabled
If the
FragmentConnector
is disabled, CoreMedia must not render anything. On product detail pages, the CoreMedia Asset Widget is rendering JavaScript without respecting theFragmentConnector
being disabled. To resolve this issue, replaceCoreMediaAssetWidget_UI.jspf
in WebSphere Commerce with the new version, and update the templateProduct.asAssets.ftl
in the CMS.CMS-6261: Commerce cache ignores misconfigured store contexts at startup
CommerceCacheInvalidationLifecycle ignores misconfigured store contexts at startup and issues warnings instead of tearing the whole spring application context down.
CMS-6258: Safely configure filters in ComponentWebApplicationInitializer or WebApplicationInitializer implementations
Introduced
com.coremedia.springframework.web.context.FilterUtil
to safely configure filters incom.coremedia.springframework.web.ComponentWebApplicationInitializer
or plainorg.springframework.web.WebApplicationInitializer
implementations.CMS-6255: Search Profiles
The CoreMedia specific search profiles for IBM WebSphere Commerce have been adapted to reduce the JSON response payload. The JSON payload is cached in memory on CAE and Studio side. Therefor only the required attributes and details should be included. Especially details about SKUs of a CatalogEntry have been reduced as they are requested by subsequent REST calls, anyhow. A custom Postprocessor (com.coremedia.commerce.rest.search.postprocessor.solr.MinimizedSolrRESTSearchCatalogEntryViewSKUQueryPostprocessor) has been added to the search profiles and the coremedia-livecontext-wcs.jar needs to be copied to the Search-Rest module, as well.
CMS-6084: Added a PerformersPolicy for the ComposeTask of StudioTwoStepPublication workflow
When an editor in Studio returns a Reviewed Publication with "Needs revision", the publication goes to the Inbox of the editors, who are members of the "composer-role" group, as a Compose Task. Until now this Compose Task didn't validate if the editors have rights to modify the content in the given publication workflow.
From now on the Reviewed Publication workflow limits the list of editors, who can receive publication workflows returned with "Needs revision" in their Inbox. Only editors, who have rights to modify the content in a Reviewed Publication workflow will receive such workflows back.
Migration
You need to perform the following migration steps due to changes in the Reviewed Publication workflow:
Reviewed Publication workflow: You need to upload the updated
studio-two-step-publication.xml
definition to your workflow server, because theCompose Task
has a performers policy now. You can do this by executingcm upload -n studio-two-step-publication.xml
Workflowconverter: you need to execute
cm workflowconverter -X
in order to convert any Reviewed Publication workflows, which have not finished yet. Make sure the Workflow Server is not running when you convert the workflows.
See the "Upload" and "Workflowconverter" sections in the Workflow manual for more information about the tools.
The class
com.coremedia.cap.undoc.workflow.plugin.AssignableResourcePermissionsPerformersPolicy
was moved tocom.coremedia.cap.workflow.plugin.AssignableResourcePermissionsPerformersPolicy
. The classcom.coremedia.workflow.common.policies.ResourcePermissionsPerformersPolicy
was moved from modulecap-workflow-server
to modulecap-unified-api
. This class is calledcom.coremedia.cap.workflow.plugin.ResourcePermissionsPerformersPolicy
now.CMS-5965: Vagrant helper script removed
The
prepare-vagrant-once.bat
helper script has been removed.CMS-5757: Data view auto completion ignores getters with return types defined as generics type parameter
Data view auto-completion was improved for getter methods that use a generics type parameter as return type. The data view definition will now also be auto-completed with such getters, if they are defined in a super class and the type parameter can be resolved for the concrete class to some type from the auto-complete configuration.
The public API interface
com.coremedia.cae.aspect.contentbean.AbstractAspectContentBean
was slightly changed to support data view auto-completion for its#getAggregator
method. Its type parameter is now bounded:T extends ContentBean
. This reflects the existing behavior as#getAggregator
always returnsContentBean
instances.CMS-5256: Delete unused profile images
Unused profile images that are not referenced any more will now by default be deleted. Detecting unreferenced profile image requires a little bit of time on each persisting of a user profile. You can disable the feature by configuring the property
users.images.delete.unused=false"
. The change only has an effect on newly persisted user profiles. Older unreferenced images will not be deleted.CMS-5232: Bulk Rights Retrieval
The method
AccessControl.filterReadableContents
and its backing REST call/api/content/bulk/rights
have been optimized for huge content sets so that no timeouts occur.