CoreMedia Content Cloud v13 Upgrade Guide / Version 2512.0
Table Of Contents
In order to support personalization variants, a new meta-property variant was added to Content items.
It is immutable once set during content creation. It is accessible through isVariant() and
its inverse isBaseline(). For a baseline content item, multiple variants may be created.
Variants are created with the same content type as their baseline. They are used for delivering A/B tests or specialized
content for user segments.
For custom code, please check whether it can handle variant content items. Especially, check whether variants that
are returned from methods like getReferrersWithDescriptor(...) break the analysis of complex
content structures. In such cases, you can use the new methods getBaselineReferrersWithDescriptor(...)
to avoid reaching variants accidentally, as these methods efficiently limit the returned collection to baseline content
items. Similarly, instead of using getContentsWithValue(...) it might more robust to access
observed properties using getBaselineContentsWithValue(...). Similarly, the already deprecated
class ContentStringPropertyIndex might not be appropriate, because it includes variants in its results.
For the sites service and its associated classes, personalization variants are generally ignored in returned collections,
but accepted as input arguments. That is, you can use the sites service for determining the site of a variant or for
deriving variants, but variants are not contained in methods like ContentSiteAspect.getVariantsByLocale.
In the unlikely case that you need to include variants in this context, use the alternative methods like
ContentSiteAspect.getAllVariantsByLocale or ContentSiteAspect.getAllVariants.
The variant feature only becomes accessible to editors if you install the Native Personalization plugin for Studio. Without the plugin, editors cannot create variants. Before doing that, all Content Servers must have been upgraded to a release that supports variants.


