crli
Dec 28, 2009
  6236
(0 votes)

Breaking changes between EPIServer 6 CTP2 and Release Candidate

Rather than enumerating every change between preview 2 and the release candidate we downloaded a few of the winning gadgets and made the required changes to make them work on the RC version.

This is the list of changes. Please feel invited to share any other breaking change that isn't listed here.

1. On the client, the gadget instance is passed directly instead of gadgetContext which has been removed

// from
function fcsm_initialize(e, gadgetContext) {
    fcsm_gadgetInstance = gadgetContext.instance;
// to
function fcsm_initialize(e, gadget) {
    fcsm_gadgetInstance = gadget;

2. The extensions in Shell Extensions now lives somewhere else

// from
<%@ Import Namespace="EPiServer.Shell.Extensions" %>
// to
<%@ Import Namespace="EPiServer.Shell.Web.Mvc.Html" %>

3. The dynamic data store has gained a factory

// from
DynamicDataStore<ReportSettings> store =
    DynamicDataStore<ReportSettings>.CreateStore("AnalyticsGadgetStore", false);
// to
DynamicDataStore store =
    DynamicDataStoreFactory.Instance.GetStore("AnalyticsGadgetStore")
    ?? DynamicDataStoreFactory.Instance.CreateStore("AnalyticsGadgetStore",
                                                    typeof(ReportSettings));

4. The dynamic data store “Find” has changed

// from
store.Find("GadgetId", gadgetId).FirstOrDefault<ReportSettings>();
// to
store.Find<ReportSettings>("GadgetId", gadgetId).FirstOrDefault();

5. The dynamic data store LINQ has changed

// from
from alertCollection in store
     where …
     select alertCollection;
// to
from alertCollection in store.Items<AlertMethodCollection>()
     where …
     select alertCollection

6. The gadget contracts namespace has moved

// from
using EPiServer.Shell.Gadgets.Contracts;
// to
using EPiServer.Shell.Gadgets;

7. Some resource texts have been moved

// from
[GadgetAction(ActionType.Menu, TextResourceKey = "Edit",
    ResourceType = typeof(EPiServer.Shell.UI.Views.Shared.SharedResources))]
// to
[GadgetAction(TextResourceKey = "Edit",
    ResourceType = typeof(EPiServer.Shell.Resources.Texts))] 

8. The configuration has changed to reflect that we now split modules by protected and public (added december 30)

// from
<episerver.shell>
  <siteSettings rootPath="~/U/" />
  <modules autoDiscovery="Minimal">
    <add name="DdsExplorer">
      <assemblies>
        <add assembly="DdsExplorer" />
      </assemblies>
    </add>
  </modules>
  <frameworkModules>
    <add name="Shell">...</add>
    <add name="CMS">...</add>
  </frameworkModules>
</episerver.shell>
// to
<episerver.shell>
  <protectedModules rootPath="~/U/">
    <add name="Shell" />
    <add name="CMS" />
  </protectedModules>
  <publicModules rootPath="~/public/" autoDiscovery="Minimal">
    <add name="DdsExplorer">
      <assemblies>
        <add assembly="DdsExplorer" />
      </assemblies>
    </add>
  </publicModules>
</episerver.shell>

9. Some style classes have a different name (added december 30)

//from
<div class="epi-defaultPadding">
<div class="epi-smallPadding">
//to
<div class="epi-padding">
<div class="epi-padding-small">

 

I also took the liberty of uploading the changes to codeplex. I take no responsibility for the quality of any gadget or any introduced errors. All credits goes to the original author. These are the gadgets that were updated:

Let me know right away if a gadget needs to be removed or if you need access to change a release.

Dec 28, 2009

Comments

Please login to comment.
Latest blogs
Recraft's image generation with AI-Assistant for Optimizely

Recraft V3 model is outperforming all other models in the image generation space and we are happy to share: Recraft's new model is now available fo...

Luc Gosso (MVP) | Nov 8, 2024 | Syndicated blog

ExcludeDeleted(): Prevent Trashed Content from Appearing in Search Results

Introduction In Optimizely CMS, content that is moved to the trash can still appear in search results if it’s not explicitly excluded using the...

Ashish Rasal | Nov 7, 2024

CMS + CMP + Graph integration

We have just released a new package https://nuget.optimizely.com/package/?id=EPiServer.Cms.WelcomeIntegration.Graph which changes the way CMS fetch...

Bartosz Sekula | Nov 5, 2024

Block type selection doesn't work

Imagine you're trying to create a new block in a specific content area. You click the "Create" link, expecting to see a CMS modal with a list of...

Damian Smutek | Nov 4, 2024 | Syndicated blog

.NET 8 FAQ

I have previously written about .NET compatibility in general and .NET 8 in particular, see blog posts here , here and here . With the end of suppo...

Magnus Rahl | Nov 4, 2024

Dynamic packages in Commerce Connect

In Optimizely Commerce Connect, you can group different items using packages and bundles. Package: A package has one or more versions of a product...

K Khan | Nov 1, 2024