Release Notes / Version 13.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 editor if you install the Native Personalization plugin for Studio. Without the plugin, editor cannot create variants. Before doing that, all Content Servers must have been upgraded to a release that supports variants.
(CMS-28490)


