This chapter contains all changes made in Release 7.5.30 of CoreMedia Digital Experience Platform 8.
Follow the CoreMedia DXP 8 Help Center section to receive release and product announcements automatically.
Modules and Tooling
Release 7.5.30 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.16. Tooling of CoreMedia DXP 8
CoreMedia CMS Changes and Improvements
Removal of path-based fallback logic Whenever computing master or derived content items the classes in
com.coremedia.cap.multisite
implemented a fallback logic that used a path-based approach, when no master link property was available. This fallback logic has been removed.com.coremedia.cap.multisite.ContentObjectSiteAspect
The methodContentObjectSiteAspect#getMasterDirectly()
has been deleted. It had been introduced to explicitly prevent the path-based fallback mechanism to apply. Please use the methodContentObjectSiteAspect#getMaster()
instead.com.coremedia.cap.multisite.Site
The root document of a site can be null. A site is called readable if the siteIndicator and the siteRootFolder are readable. To test if a site is readable use the new method
(CMS-3824)Site#isReadable()
The methodSite#isUnderConstruction()
has been removed, as sites under construction cannot be retrieved anymore.Added Solr index fields
(CMS-3659)directProductCategories
andallProductCategories
for the Blueprint Content Feeder inmodules/search/solr-config/src/main/app/solr-home/configsets/content/conf/schema.xml
. These fields are used for the product catalog in the corporate extension of the Blueprint.Document type definition files are validated using XML Schema now. The old DTD-based doctype syntax is no longer supported. To this end, the property
(CMS-754)cap.server.documentTypes.xmlSchema.enable
in the filecontentserver.properties
has been removed. If you are still using DTD-based document type definitions, adapt your document type definition files by removing the DOCTYPE header and adding thexmlns="http://www.coremedia.com/2009/documenttypes"
default namespace declaration to the XML root element.
CoreMedia Studio Changes and Improvements
The user menu (top right corner) is now configurable for every user regarding its displayed elements:
user name
preferred site name
preferred site locale
By default all elements will be enabled although you won't see preferred site information unless you have selected a preferred site.
(CMS-3948)com.coremedia.ui.config.AddQuickTipPlugin
The
AddQuickTipPlugin
has been extended by the following two config options:(CMS-3847)bindTo
: A value expression evaluating to a string to be added as a quick tip to the main DOM element rendered by the component. If set the config option 'text' is ignored.elementMapping
: A function that evaluates to the element that the quick tip should be attached to (optional). Signature: function map(component:Component):Element
A user can show and hide columns in the repository view and the search view of the library now. Using drag and drop, the columns can also be reordered. The custom configuration is persisted and restored during the next Studio start.
(CMS-3833)A new dashboard widget and a new library filter have been introduced to support the user in the process of translating a site. The widget gives you an overview of the translation state of a selected site and displays for example the number of updated documents in the master site. The library filter then helps you find these documents, so that you can directly start a translation. For details please consult the Studio User Manual. To implement this feature, the Solr schema of the Content Feeder has been extended. In order for the search to work correctly on existing content, the master site or sites must be indexed again. See the section "Operation of the Content Feeder" in the CoreMedia Search Manual for details on how to re-index all documents below the master site root folder.
(CMS-3823)The Studio device preview does now fully emulate device resolutions, including width, height, and aspect ratio. This change improves support for complex media queries and effects based on the scroll position.
Changes
(CMS-3820)Visual: Devices are now framed, scaled to fit the preview area, and centered.
Device slider: A new Desktop mode is added to the device slider enabling a full size preview using all the available space of the preview area. There is no fixed width/height in this mode.
Preview metadata:
The metadata property _cm_isResponsive_ was removed.
A new metadata property _cm_preferredWidth_ was introduced. If set, the Desktop mode offers a full width option to scale down the preview until the configured width fits the available preview area width. The mode still uses the full height of the preview area.
Scrollbars: Scrollbars can be disabled for the Studio preview. A new setting was added to the preferences dialog.
Extended Studio Logging Studio authentication events are now logged. This includes successful authentication, authentication failures, logout operations and authorization events.
The events are logged with the following SLF4j markers:
security
authorization
authentication
Thus you can define an own logging appender for redirecting such events to extra log files using the following expression in
ch.qos.logback.core.filter.EvaluatorFilter
:return marker != null && marker.contains("security");
For details refer to Studio Developer Manual, Section Security, Logging.
(CMS-3188)Enable rendering of thumbnails in the library for certain document types like
CMArticle
,CMCollection
,CMSymbol
and more.An example configuration can be found in
BlueprintStudioPluginBase
.Use
IEditorContext#registerThumbnailUriRenderer
to register a custom function for each doctype. Document type hierarchy is respected.IEditorContext#getThumbnailUri
provides the URI for a thumbnail image for a given content.The blueprint's ImageLinkListRenderer is now also based on this registry.
(CMS-2133)
CoreMedia Blueprint Changes and Improvements
Added two new document types for the product catalog of the Corporate Blueprint. The new document types
(CMS-3936)CMProduct
andCMCategory
, which represent products and their categories, are defined in fileecommerce-doctypes.xml
of the Maven modulemodules/ecommerce/ec-doctypes
. They are used by the corporate extension of the Blueprint (modules/extensions/corporate
).In order to turn on JVM debugging, you can now set additional CATALINA_OPTS which get picked up by tomcat.
To do so, you need to set a node attribute with the following structure and value.
"coremedia": { "catalina_opts": { "<PACKAGE_NAME>": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" } }
where
(CMS-3923)<PACKAGE_NAME>
should match a tomcat package i.e.cm7-studio-tomcat
.For commerce-led scenario: All IBM WCS pages (incl. Commerce Composer managed pages as well as pages that are plain JSPs) can have an External Page representation in the CMS. Before, it worked only for Category Pages and PDPs, now it is also available for pages that are not included in the catalog hierarchy. All pages can be previewed in Studio where the external shop URL is used. To have this feature enabled for the homepage, be aware that the root channel must be of type External Page (for a pure commerce-led site). The homepage document type is changed in the default content. Please refer to the LiveContext manual for further details.
(CMS-3918)The AbstractHasContextsContextFinder was somewhat subtle: findContextsFor(linkable, currentContext) invoked an isApplicable check and delegated to findContextsFor(linkable). So, extending classes had to
invoke the isApplicable check in the findContextsFor(linkable) again,
override findContextsFor(linkable, currentContext) if they needed the currentContext
This turned out not to be not much helpful compared to a from-scratch implementation, therefore we improved it:
findContextsFor(linkable) was abstract, is implemented now and delegates to findContextsFor(linkable, currentContext), where currentContext is null.
findContextsFor(linkable, currentContext) invokes the isApplicable check and eventually calls doFindContextsFor(linkable, currentContext), a new abstract method.
So, all you have to do now is to implement doFindContextsFor(linkable, currentContext) and isApplicable(linkable). You do not need to care about the invocation of isApplicable or about the fallback direction of the findContextsFor methods any longer.
If you have subclassed an earlier version of AbstractHasContextsContextFinder, it won't compile because of the missing doFindContextsFor. In order to adapt it, move your implementation of findContextsFor(linkable, currentContext) to doFindContextsFor(linkable, currentContext), and delete any isApplicable checks. If your findContextsFor methods are independent instead of delegating to one another, you can simply keep them and implement doFindContextsFor by throwing an UnsupportedOperationException.
The following properties of commerce connections have been changed/added in the Spring configurations:
(CMS-3569)"managementToolWebUrl" has been renamed to "vendorUrl"
"wcsVersion" has been renamed to "vendorVersion"
the property "vendorName" has been added to commerce connections to identify the vendor of the underlying store. The value is used to differ the store types in the Studio.
Miscellaneous Changes and Improvements
For IBM WCS FEP8 B2B Stores it is now possible to configure Personas that preview WCS Contracts. E.g. you can now easily verify the behavior of the Homepage if a contract uses a catalog filter that does not allow certain categories or products. Please refer to the section "B2B Contract Based Preview" in the LiveContext manual for further customization steps.
(CMS-3978)The products and product variants from an external e-Commerce system can be now opened as tabs in the Studio, directly.
(CMS-3920)'Open in Tab' is now the default action: When double-clicking on product or variant items in the library or catalog link lists a new tab for the product or the variant is opened.
The toolbar and context menu of the library and catalog link list now have this new 'Open in Tab' action.
The tab looks very similar to a document tab but is read-only:
It consists of the left-side read-only form and the right-side preview.
The left side form provides catalog information of the product or the variant - especially the list of assets associated to the product/variant.
The preview shows the product detail page (PDP) in the preview mode.
The tab can be dragged and dropped in the same way as the products and variants out the library.
Fixed Issues
CMS-3954: Warn on Move between Sites
If the user moves content items and this move will change the site of the content items, the user gets a warning.
CMS-3943: CookieLeveler
The CookieLeveler ServletFilter also needs to be enabled for the WCS Preview Webapp, see chapter "Enabling Session Synchronization" in the LiveContext manual.
CMS-3859: TransformationMapBuilderTest
TransformationMapBuilderTest
is now independent of the configured transformations inframework/spring/mediatransform.xml
but overrides them using transformations locally defined for the test.CMS-3811: SiteService causes cache invalidation and CAE Feeder reindexing after rule changes
The CAE Feeder does not unnecessarily reindex anymore after rights rules have been changed for site indicator documents and their transitive parent folders including the root folder.
CMS-3698: cae-base-component
cae-base-component
changes the query for content bean initialization incomponent-blueprint-cae.properties
to the recommended setting to ignore deleted contents by addingisInProduction
toblueprint.contentbean.initialization.query
.CMS-3549: Article Richtext text is not floating around embedded images
Article Richtext text is now floating around embedded images
CMS-3543: jquery.coremedia.responsiveimages.js
The determination of the best fitting image in the Responsive Image Javascript is not using the largest image as fallback. Instead it will chosse the image with the lowest difference to the according container size.
CMS-1908: Publication Priorities
A new variant of the
publish
method of the Unified API'sPublicationService
allows to start a publication with a defined priority now. Using the propertystudio.publicationPriority
in theapplication.properties
the publication priority can be configured for publications initiated from CoreMedia Studio.