You may let Optimizely handle filtering (publish status, permissions, personalization) through the built-in rendering pipeline.
<div>
<div class="row" epi-property="@Model.CurrentPage.MainContentArea">
<div epi-property-item class="block" />
</div>
</div>
Thanks, but we don't use Razor for the rendering, so we really need to get hold of the data.
Already on .NET 10, EPiServer.CMS 13.0.2 restores and builds. Runtime is blocked by 10 partner packages plus a ShellModule DI breakage I can't pin down. Looking for first-hand confirmation on which packages already have CMS 13 lines, and pointers to a ShellModule contract migration note if one exists.
What's still open is the package set below.
For each: current, what we'd need, what we observed, what we already checked.
All cap at < 13.0.0. We use these for a downstream consumer app. Same question as TinyMce is a 4.x line for CMS 13 in flight, or is the recommended path to migrate the consumer to ContentGraph?
DbLocalizationProvider.AdminUI.AddOptimizelyAdminUI() skipped: Could not load type 'EPiServer.Cms.Shell.ServiceCollectionExtensions' from assembly 'EPiServer.Cms.Shell.UI, Version=13.0.2.0'.
EPiServer.Cms.Shell.ServiceCollectionExtensions was either removed or renamed in CMS 13.
Build OK. Runtime TypeLoadException:
Derived method 'get_String' in type 'Geta.Optimizely.Sitemaps.SpecializedProperties.PropertySEOSitemaps' cannot reduce parent method 'get_String' access.
This is the PropertyLongString → PropertyString hierarchy change in CMS 13. Is there a tracking issue / planned 4.x release, or has anyone moved off Geta sitemaps to something else on CMS 13?
Hard cap < 13.0.0, plus runtime:
Method 'TryResolveUriAsync' in type 'EPiServer.Labs.LanguageManager.CustomResolver' does not have an implementation.
IContentRouteResolver contract changed in CMS 13. Same question - is a 6.x release planned, or is this Labs package being retired in favor of something built into CMS 13?
3rd-party (not Optimizely), pinned to EPiServer.CMS.UI.Core >=12.10.0 && <13.0.0. Used for a single property type ("lat/long picker on the page edit view"). Looking for either a CMS-13 fork or a known replacement. Anyone solved this on CMS 13?
EPiServer.Commerce 15.0.0-preview1 is the only 15.x on the feed. EPiServer.Commerce.ODP is still 14.x. EPiServer.ContentDeliveryApi.Commerce still pins to CMS 12. Geta.Optimizely.Sitemaps.Commerce likewise.
We are not pushing Commerce 15 to production yet. PoC confirmed the preview package resolves on net10.0 with CMS 13, but the satellite ecosystem isn't there. Is there a known timeline for Commerce 15 GA + matching satellite packages (ODP, ContentDelivery.Commerce, Geta Sitemaps Commerce)? Even an "expected quarter" from someone closer to the roadmap would help our planning.
private readonly IPrincipalAccessor _principalAccessor;
private readonly IContentAreaItemsRenderingFilter _contentAreaItemsRenderingFilter;
public ComponentService(IContentAreaItemsRenderingFilter contentAreaItemsRenderingFilter,
IPrincipalAccessor principalAccessor)
{
_contentAreaItemsRenderingFilter = contentAreaItemsRenderingFilter;
_principalAccessor = principalAccessor;
}
var items = contentArea?.Items ?? Array.Empty<ContentAreaItem>(); await _contentAreaItemsRenderingFilter.FilterAsync(items, _principalAccessor.Principal, previewControllerMode ? ContextMode.Edit : ContextMode.Default)
We've started to upgrade one of our sites to CMS 13 preview (to be ahead of the game) but we stumble on breaking changes.
Some of the breaking changes we can make a qualified "guess" on how to fix, but some other changes are harder to figure out.
Is there an upgrade guide, like we had with CMS 12?
I've seen Robert's article which is really useful, but it only takes us so far. And it only discusses some of the breaking changes in Alloy, not a real-world site.
For instance, I am stuck on ContentArea.FilteredItems which now seems obsoleted and there is a new way of filtering items for the current user, by suggesting a new interface that we don't know how to work with.
Error CS0619: 'ContentArea.FilteredItems' is obsolete: 'Use Items to get all items. Or use HtmlHelpers or TagHelpers to render content area items, or depend on IEnumerable<IContentAreaItemsRenderingFilter> to filter a list based on current user.'