close

Filter

loading table of contents...

Release Notes / Version 11.2301

Table Of Contents

Auto-Merge Robustness for Ambiguous and Deleted Links enhanced

Prior to addressing this issue, you may have observed auto-merge conflicts, for example, when a still linked content in the derived site got deleted, or when there are two derived contents (one of them linked) in the same site, which reference the same master. While auto-merge issues in these scenarios may still happen, a prediction mechanism tries to resolve these conflicts at best effort now.

New API

To support additional behavior for deleted contents in auto-merge scenarios, new methods have been introduced, related to Content.getLastPath() , which is the path of a deleted content it had prior to its deletion. In the similar way, you can now access the last site of a deleted content:

  • com.coremedia.cap.multisite.ContentObjectSiteAspect#getLastSite(): Site | null

  • com.coremedia.cap.multisite.ContentObjectSiteAspect#findLastSite(): Optional<Site>

Enhanced API Behavior

For a deleted content wrapped in a ContentSiteAspect the method getDirectlyDerived is now able using the "best match" approach for ambiguous scenarios, such as, that a given master content has two derived contents in a given site. While this state should be prevented (validators will warn editors), the "best match" API prefers the derived content having the same relative path. This is now also applicable for master contents which got deleted.

Note, that in such ambiguous states, a warning will be filed (as before, but method name changed from getDirectlyDerived to findBest ), like:

`findBest(Site:derived-site-id)`: Multiple directly derived contents for master coremedia:///cap/content/24 . Consider running cm validate-multisite . Random content chosen from candidates: coremedia:///cap/content/42 . All directly derived in given site (#2): coremedia:///cap/content/42 , coremedia:///cap/content/44

Upgrade

Unless, you provided custom implementations (or mocks in test context) of ContentObjectSiteAspect and related interfaces, no upgrade steps are required .

For custom implementations and mocks in test context, you may require implementing the getLastSite() method.

(CMS-19909)

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.