This chapter contains all changes made in Release 7.5.25 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.25 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.20. Tooling of CoreMedia DXP 8
CoreMedia CMS Changes and Improvements
Allow translation of a fixed version
The default translation workflow has been changed to take a list of
ContentObjectsinstead ofContentsfor the contents to translate. This means that the workflow can work with a list of masterContentsor a list of masterVersions.To support this scenario some
Actionshad to be adapted (see below).It is also necessary to convert running translation processes with
cm workflowconverter -Xand to re-upload the process definition from the filetranslation.xml.com.coremedia.translate.workflow.CompleteTranslationActionThis action now sets the master version number of the given derived content depending on the given master content objects. If the master content objects are versions, the numbers of these versions are used; If the master content objects are contents, their latest checked-in versions are used.
The methods
getContentsVariable()andsetContentsVariable(...)have been renamed togetDerivedContentsVariable()andsetDerivedContentsVariable(...)The methods
getMasterContentsVariable()andsetMasterContentsVariable(...)have been added.
com.coremedia.translate.workflow.GetDerivedContentsActionThe methods
getContentsVariable()andsetContentsVariable(...)have been renamed togetMasterContentObjectsVariable()andsetMasterContentObjectsVariable(...)The methods
getTargetContentsVariable()andsetTargetContentsVariable(...)have been renamed togetDerivedContentsVariable()andsetDerivedContentsVariable(...)
com.coremedia.translate.workflow.ValidateTranslationParametersAction(CMS-3108)The methods
getContentsVariable()andsetContentsVariable(...)have been renamed togetMasterContentObjectsVariable()andsetMasterContentObjectsVariable(...)
ContentSiteAspect(part ofcap-multisite) now also provides setters for site related property values which are:setMaster(<Content>):booleansetMasterVersionNumber(<Integer>):booleansetMasterVersion(<Version>):boolean
Sets both, master link and master version number.
setLocale(<Locale>):boolean
Automatically transforms the Locale into a String of valid format (language tag).
Just as the getters they are fault-tolerant in any way (property does not exist, property of invalid type, site model not available). If you want to ensure if the value got really set please query the boolean return value which is
(CMS-3106)truewhen the value was set,falseotherwise.Improved indexing performance of Content Feeder and CAE Feeder by sending batch requests to Apache Solr.
(CMS-3069)Method
(CMS-3042)createSolrServerSearchEnginesof classcom.coremedia.cap.search.solr.SolrSearchEngineFactoryhas been deprecated and will be removed in a future release.Improved documentation on the behavior of dumpusers / restoreusers regarding external groups and their rights rules.
(CMS-3013)Apache Solr has been updated to version 4.10.3.
(CMS-2844)Apache Tika has been updated to version 1.7.
(CMS-1566)
CoreMedia Studio Changes and Improvements
Since FEP8 IBM also supports Chrome as browser for the Management Center. Now the support in Chrome is also available in Studio.
(CMS-3369)Studio document forms were enhanced to improve usability. Specifically, the component
CollapsibleFormPanelwas added, which replaces the componentStandardCollapsibleFormPanelfor document forms. This new component has a new layout and also stores the collapse/expand state in the user preferences. All property fields are wrapped inside this new component. It allows to hide unused or unimportant fields.If the collapsible section contains fields with validation errors, they are always expanded.
Additionally, the attribute
expandOnValuescan be applied, which forces theCollapsibleFormPanelto always expand if one of the configured fields (comma-separated) is not empty.The new collapsible state for forms is applied in the version differencing view, too. Additionally, the collapse/expand state is synchronized between the two views. This means that when you expand a
CollapsibleFormPanelin the read-only document tab, it is also expanded in the regular document tab.CollapsibleFormPanelscan be used nested, too. For example, each placement of the page grid editor is a nestedCollapsibleFormPanelthat persists its own state. The previous behaviour (automatic expand of editable placements) is no longer applied here.All document forms have been reordered. The basic changes are described below.
As a result of trying to reduce the amount of tabs in forms, the property fields of the 'Settings' tab have been moved to the 'System' tab.
The property field 'Validity' has been moved from the 'Metadata' to the 'Content' tab. It is collapsed by default.
The link list property field 'Navigation Context' has been removed from all forms, since it is not used in the standard blueprint content any more.
The analytics tab for the page form has been removed completely since it is only relevant for technical users. The analytics manual provides a detailed description how to configure analytics using the settings editor.
The property fields 'HTML Keywords' and 'URL Segment' have been grouped into the collapsible panel 'Search Engine Optimization'.
The tab 'Tags' has been removed, the property fields 'Subject' and 'Location' tags have been moved to the 'Metadata' tab
The property fields 'Valid From' and 'Valid To' have been grouped into the collapsible panel 'Validity'. If a document provides these properties, it is located on the 'Content' tab.
The information about the site name and the site's locale have been grouped into the collapsible panel 'Site', available on the 'Localization' tag.
The (property) fields 'Locale', 'Master', 'Master Version' and 'Derived Content' are grouped into the collapsible panel 'Localization', available on the 'Localization' tab.
The property field 'Search' has been moved to the 'System' tab.
Note: The Studio forms have been rearranged using the Blueprint demo content as a reference. If you miss some property fields, you can still add them again to the corresponding form.
Furthermore, the form tabs 'System' and 'Localization' are hidden by default now. The user can hover a '...' labeled tab to expand the hidden tabs and see the corresponding property fields. Users can disable this behavior in the user preferences dialog, so that all tabs are shown by default.
(CMS-3312)When comparing two versions of a rich text property, additions, removals, and formatting changes are highlighted inline in the rich text property field.
(CMS-3253)When viewing a content and its master content in the side-by-side view, the differences between the displayed version of the master content and the last translated version of the content are highlighted.
(CMS-3251)When viewing an older version of a content in the versioning side-by-side view, the properties whose value differs from the current content are highlighted.
The
(CMS-3130)showIssuesPluginis also used to highlight the property fields in differencing mode. When the property value has changed, the CSS style classissue-changeis added to the property field DOM element.Display the Master Version in the Side-By-Side View
It is now possible to open a premular tab in the side-by-side view with a
Contenton the right and a read-onlyContentObjecton the left. This is used e.g. to open a derived document from a translation workflow right next to the master version which should be translated.com.coremedia.cms.editor.sdk.desktop.ContentTabManager:The method
openPremulars(premularConfigurations:Array, background:Boolean = false):voidhas been added to open premular tabs for a given list of premular configurations.The class
com.coremedia.cms.editor.sdk.premular.PremularConfigurationhas been introduced as an extensible parameter object forContentTabManager#openPremulars(...).
com.coremedia.cms.editor.sdk.actions.OpenInTabAction:The config parameter
documentViewModehas been removed in favor of the more genericOpenPremularAction.The class
com.coremedia.cms.editor.sdk.actions.OpenPremularActionhas been introduced to allow opening premular configurations via action.
com.coremedia.cms.editor.controlroom.workflow.translation.AbstractStartTranslationWorkflowPanelBase:(CMS-3090)The method
getProcessVariableMappings():Arrayhas been replaced by the methodcomputeProcessVariableMappings(callback:Function):voidto allow asynchronous computation of the variable mappings.The method
getMasterContents():Arrayhas been added. It returns the list of contents that are subject to translation which is used to remove the contents from my edited contents.Both methods must be overridden by subclasses.
The read-only document form can now display previous versions of a content. Property fields have to note that if the value expression provided through the option
(CMS-3064)forceReadOnlyValueExpressionevaluates totrue, the object provided through thebindTovalue expression might not evaluate to a content in the sense of the Unified API but to a bean that claims to be checked in and that returns the historic properties of the version to display. Correct handling of theforceReadOnlyValueExpressionis therefore crucial. For further details please refer to the Studio Developer Manual.Richtext editor toolbars in Studio are now accessible by using
(CMS-3008)richTextPropertyField.FIND_TOOLBAR.A validator was added which warns when content contains links to content in another site. See
(CMS-2922)com.coremedia.rest.cap.validators.CrossSiteLinkValidatorfor further details.Class
(CMS-2718)com.coremedia.livecontext.ecommerce.catalog.Categoryhas been extended with the methodgetDisplayName(). The Studio model ActionScript classes also reflect this change. This method is used e.g. to display the category name in Studio UI components (catalog tree and breadcrumb).The EXML validation mode has been set to
errorfor all modules. A few remaining EXML validation issues in CoreMedia Blueprint code have been fixed.Note that this means that for your build to succeed, you have to fix EXML validation errors in your project code, or set
<validationMode>back towarnin Blueprint'spom.xml.When the project is imported correctly, IDEA should show all validation errors as red code. Typically, validation errors result from an incorrect sequence of EXML property sub-element or forgotten or duplicate
(CMS-203)<exml:cfg>declarations. When using Ext JS config options that are not declared in the Ext AS API, these have to be used with the namespaceexml:untyped.
CoreMedia Blueprint Changes and Improvements
The Media site has been removed with its content, templates, web resources and configuration. The deployment properties
(CMS-3322)MEDIA_SEGMENT,PREVIEW_MEDIA_SEGMENT, andSTUDIO_MEDIA_SEGMENThave been removed as well.The Surefire, Surefire Report and Failsafe plugins have been updated to version 2.18.1 to be able to rerun failing tests.
(CMS-3311)You possibly want to use the Blueprint only with the new
corporatesite, without thelcextension. In this case you would encounter errors importing the example content, because some of the document types are only available with thelcextension. In order to avoid such problems, we moved thelcspecific content into a separate directoryblueprint/modules/extensions/lc/test-data. The new extensioncorporatealso brings some content of its own. Some global content remains in the well knownblueprint/test-data directory. Extension content may reference global content, but not vice versa. Thelcandcorporatecontents are independent of each other.Due to the limited path length on Windows machines the content is stored with compressed file paths as created by "serverexport -cut" now. This affects some deeply nested folders only, the file names of most example content remain the same.
The boxes module builds separate zip archives for these three content sources. By default, the Chef deployment addresses all content archives. You can configure the list of archives in
(CMS-3182)blueprint/boxes/chef/chef-repo/cookbooks/coremedia/attributes/default.rb.A global logger is available for JavaScript development in Blueprint for displaying infos to JavaScript console of the browser. It is disabled by default and enabled in developerMode. Just use
(CMS-2989)coremedia.blueprint.logger.log("Example Log Message")to print debug messages.
Miscellaneous Changes and Improvements
Deprecated getter methods in the public API of the Proactive Engine
com.coremedia.cap.persistentcache.proactive.TriggerBase#getLoggercom.coremedia.cap.persistentcache.proactive.BaseReceiver#getLoggercom.coremedia.cap.persistentcache.ProcessingCallbackBase#getLog
Do not call these methods but construct your own Logger instances.
(CMS-3218)
Fixed Issues
CMS-3273: Automatic reloading of Views from the Content Repository
When updating a JAR containing templates, the CAE now automatically reloads all views. It's advised to use a specific DocumentType for storing templates JARs (
CMTemplateSetin the Blueprint) since all relevant changes (create, move, delete, JAR upload, publication) made to any of those documents leads to reloading the Views. The DocumentType is configurable, see documentation chapter "Dynamic Templating".CMS-3272: View Lookup improvements
To reduce the time spent doing view lookups, Classes with certain suffixes ("Base", "Impl", "#", "$$", "AssumesIdentity", "DataView", "HasCustomType", "AspectAggregatorAware", "ContentBean") are now excluded from the view lookup.
This reduces the number of view lookups made by the CAE dramatically. Without the reduction, the CAE makes over 27,000 lookups for the main "PerfectChef" page. With the optimization, only 15,000.
Depending on the structure of the templates, the ratio of saved view lookups may differ for other sites.
CMS-3242: Studio comment moderation: user filter does not work with upper-case names
The Solr schema configuration for Elastic Social has changed in file
<solr-home>/configsets/elastic/conf/schema.xml. This fixes a bug that filtering comments by user name did not work in the Studio comment moderation for user names with upper-case characters.Existing comments must be reindexed in Solr to apply the bugfix to them. You can reindex the Elastic Social comments by invoking the JMX reindex operation of interface
com.coremedia.elastic.core.api.search.management.SearchServiceManagerwith parameter "comments". You can find the SearchServiceManager MBean of the elastic-worker web application for tenant media under the object namecom.coremedia:application=elastic-worker,type=searchServiceManager,tenant=media.CMS-3229: Property change events
A superfluous property change event used to be fired for the property containing a sub-bean when a property of the sub-bean changed. Now only the event for the actually updated property is fired.
CMS-3197: e-Commerce library sorting by name is now kept on category changes
sorting order of columns in the e-Commerce library is now kept when changing the folder/category and newly opened categories are sorted in the same way as in the category before.
CMS-3192: Studio Memory Stability
Memory stability in the studio has been improved further by fixing a leak in PropertyPathExpressions. This allows for slightly longer editing sessions before reloading the studio client.
CMS-3163: database schema change for translation
In order to reliably protect versions in a translation workflow from destruction by the publisher or clean-up tools, the content server's database schema has been extended. When upgrading, you need to activate the
sql.schema.alterTableflag, so that the content server will automatically add the required columns to each document type table in the database. Depending on the database model, the process may be instantaneous or take time proportional to the number of versions. Concrete timing depends on the installation and, for very large content volumes, should be verified prior to migration.CMS-3103: Hide Studio system Information from anonymous users
Studio users now have to be logged-in in order to access the Studio system information. The client side
CapSystemInfoclass is now aRemoteBean. Please note that it is not loaded together with theCapConnectionanymore.CMS-3092: Contentserver Folderindex slow because of non-prepared update statements
Improved folder index performance with large folder hierarchies by using prepared statements. This reduces pauses before query execution when a query accesses the folder index using a "BELOW" clause.
CMS-3038: CacheInvalidation Listener might hang in endless loop
In rare situations the CacheInvalidation Listener that polls cache invalidations from IBM WebSphere Commerce, might hang in an endless loop and requests the same clearall event again and again. This is due to an issue in the REST CacheInvalidationHandler.
CMS-3026: Spring Patch-Version Update
The Studio performance was massively impacted by SPR-11545 Spring version was updated from 4.0.1 to 4.0.9 where SPR-11545 is fixed.
CMS-3007: UserProvider deprecated
The interface
com.coremedia.ldap.UserProviderhas been deprecated. Use interfacecom.coremedia.ldap.UserProvider2instead, which has an additionalclosemethod.The abstract class
com.coremedia.ldap.LdapUserProviderhas been changed to implement the newUserProvider2interface and custom classes extendingLdapUserProviderdo not need to be adapted.CMS-2983: Perso Cookie Overflow
com.coremedia.personalization.context.collector.CookieSource#maxBytes can be used to limit the size of an encoded personalization context. If maxBytes is exceeded, the cookie is cleared so that the cookie may grow anew.
CMS-2959: SolrJ connection object not properly closed on shut down
The interface
com.coremedia.cap.search.solr.SolrSearchEnginehas been deprecated. Use interfacecom.coremedia.cap.search.solr.SolrSearchEngine2instead, which has an additionalshutdownmethod.The method
createSearchEngineof classcom.coremedia.cap.search.solr.SolrSearchEngineFactoryhas been deprecated. Use methodcreateSearchEngine2instead.CMS-2869: SolrSearchQueryBuilder does not deactivate spellchecking suggestions
Spellchecking is turned off by default now for the request handler
/cmdismaxin the Solr configuration filemodules/search/solr-config/src/main/app/solr-home/collection1/conf/solrconfig.xml. The Blueprint CAE enables spellchecking in methodsearchof classcom.coremedia.blueprint.cae.action.search.SearchServiceto show "did you mean" suggestions for search results.This change improves the performance of Solr queries using the
/cmdismaxrequest handler which does not need spellcheck results.If you have custom code that sends Solr queries to the
/cmdismaxrequest handler and expect spellcheck results in the Solr response, then you must set thespellcheckSolr query parameter totrue. To this end, if you construct your query with classcom.coremedia.blueprint.cae.search.SearchQueryBean, you just need to call its methodsetSpellcheckSuggest(true).CMS-2835: CAE Feeder has incompatible version of ASM for Tika
Excluded incompatible version of ASM library from Blueprint CAE Feeder.
CMS-2820: Elastic Social search for users or comments shows error for special characters
Fixed searching with special characters for Elastic Social users or comments in Studio.
CMS-2818: Solr replication not working because of incorrect configuration
Fixed configuration of Solr master-slave replication in the Blueprint modules
solr-master-tomcatandsolr-slave-tomcat.CMS-1863: XLIFF Import
The XLIFF importer detects missing translations in rich text properties now. Affected XLIFF files will not be imported, avoiding content corruption.







