2.2.1. Release 7.5.44

This chapter contains all changes made in Release 7.5.44 of CoreMedia Digital Experience Platform 8.

[Note]Note

Highlights in this Release

  • Platform: Update to Tomcat 7.0.72

  • Platform: Monitoring of license information via JMX added

  • Platform: CAE Spring profile "disableDataViews" added

  • Frontend: Update to latest versions of frontend-maven-plugin 1.1, node.js 4.6.0, npm 3.10.8

  • Various public API deprecations

  • Various bugfixes and improvements

  • Known issues: Do not upgrade to Adobe Bridge 6.3.x or Adobe CC 2017. The Adobe Drive client integration is not compatible with this version of Adobe Bridge. Adobe CC 2017 does not support Adobe Drive anymore at all. Recommended workaround by Adobe: Keep CC 2015 versions in use. (see https://helpx.adobe.com/drive/kb/drive-compatibility-cc-2017-apps.html)

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:

ProductKeyVersion
CoreMedia Application Maven Plug-inAPPPLUGIN2.7.9
CoreMedia Project Maven ExtensionPROJEXT1.0.5

Table 2.1. Tooling of CoreMedia DXP 8


CoreMedia CMS Changes and Improvements

  • Contentservers now expose their license validity information via JMX. MBean: com.coremedia.Server Properties: licenseValidFrom, licenseValidUntilSoft, licenseValidUntilHard

    (CMS-5718)
  • Introduced 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 frontend-maven-plugin to latest version 1.1, node.js to 4.6.0 and npm to 3.10.8. Since frontend-maven-plugin is threadsafe, the blupeprint can be build multithreaded (-T1C) without skipping themes (-DskipThemes) again.

    (CMS-6458)
  • The tomcat dependencies have been updated to 7.0.72

    (CMS-6452)
  • IBM WAS updates as of August 2016

    • 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

    (CMS-6238)

Miscellaneous Changes and Improvements

  • PATH_SPLITTER and PATH_JOINER have been moved from UriConstants to HandlerBase, since they are used only there, and they have nothing to do with UriConstants. If you use them elsewhere, you can make them public, copy them, move them elsewhere, as you like.

    joinPath and splitPathInfo have been deleted from ContentLinkBuilder. They were unused, had nothing to do with content link schemes, and they were only trivial one-line usages of PATH_SPLITTER and PATH_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);
    }
    
    
      
    (CMS-6849)
  • 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.

    • method getNamedLoginServiceIorUrl in hox.corem.Corem

    • field condition in com.coremedia.workflow.common.actions.AbstractAction

    • field condition in com.coremedia.workflow.common.actions.AbstractLongAction

    • methods addRunningAction and removeRunningAction in com.coremedia.workflow.common.actions.AbstractClientAction

    • method setMbeanRegistry in com.coremedia.workflow.common.util.SpringContextManager

    (CMS-6260)

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 the FragmentConnector being disabled. To resolve this issue, replace CoreMediaAssetWidget_UI.jspf in WebSphere Commerce with the new version, and update the template Product.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 in com.coremedia.springframework.web.ComponentWebApplicationInitializer or plain org.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 the Compose Task has a performers policy now. You can do this by executing cm 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 to com.coremedia.cap.workflow.plugin.AssignableResourcePermissionsPerformersPolicy. The class com.coremedia.workflow.common.policies.ResourcePermissionsPerformersPolicy was moved from module cap-workflow-server to module cap-unified-api. This class is called com.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 returns ContentBean 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.