Vincent Baaij
Dec 13, 2017
(3 votes)

Upgrading the AlloyDemoKit to Episerver 11

Update 23-1-2018

With update 198 we are now at a point that we can merge the V11 branch into the master! The update brings along A/B testing, so we now have everything we need. The last commit in the master branch has been tagged with a V10 label. If the need arrises to go back, you should be able to find it.

Update 16-1-2018

After update 197 the following package has been added to the demo again:

  • EPIServer.TinyMCESpellChecker (1.3.0)

Update 29-12-2017

After update 194 the following functionality is once again available in the demo kit in the v11 branch:

  • Episerver Self-Optimizing Block (2.4.0)
  • PowerSlice (3.0.0)

Custom Powerslice samples are available in the code in the Business\PowerSlice folder. Remember that you need to create your own Find index to get this to work.

Also as part of this update the EPiServer.VisitorGroupsCriteriaPack (2.0.0) package has been added back to the solution.

In making this a real version 11 solution, I have replaced (and removed) all the older XForms forms with 'new' forms.

The only thing missing to merge this in the master branch is the A/B testing functionality. This will probably come somewhere soon in the new year.

Update 20-12-2017

The following packages have now been added to the demo again:

  • BVN.404Handler
  • Episerver.GoogleMapsEditor
  • Geta.SEO.Sitemaps

Because of the upgrade to Episerver.CMS.UI to 11.2, the MenuPin functionality is now available ou-of-the-box. See this post for more information. Through code in MenuPin, we were able to adjust the styling of the Visitor Groups section. With the inclusion of MenuPin in Episerver, this code has now disappeared. I copied the required cocde over to the demo kit so the Visitor Groups styling is now looking better again.

The target framework for the projects is now .NET Framework 4.6.2


A new branch has been added to the AlloyDemoKit repository on GitHub. In this branch I have updated the site to Episerver CMS 11. Until all (or at least the most important) packages used by the demo kit are available for this new version, this branch will co-exist as a separate branch besides the master branch. The site works and can most certainly be used for demo scenarios, but not all functionality is there yet so be aware of that!

To get the demo kit up an running on version 11, I first made a list of all the packages that are not (yet) available or compatible. As more package become available, they will be added back in of course. The following lists shows all the incompatible packages. Each package links to the coresponding page in the Episerver NuGet site:

Some remarks apply to this list:

*Although the package says it has no dependencies, it will not work on Episerver 11. This is because of the separation of ASP.NET specific code into it's own assemblies and namespaces. A version 11 compatible package is released and added to the solution. See this post and this package for more information
**The MenuPin functionallity will be integrated into Episerver in an upcoming release
***Although the package says it has a dependency on EPiServer.CMS.UI (≥ 10.0.2), it will not work on Episerver 11. This is because of the separation of ASP.NET specific code into it's own assemblies and namespaces. The repo on GitHub shows an version 11 package is in the works.

Besides the packages mentioned, A/B testing is not yet available.

The packages that do not have an alternative available have been uninstalled from the solution. If there is source code linked to such a package, it has been excluded for now. The number of necessary code changes was quite low. They have been described in several posts like this one already. I also checked the code against the recently released Alloy Template source code (see this blog for more information). This led to a lot of small changes, but at least the standard Alloy part is now up-to-date again.

With CMS 11 we also get an officially supported version of the Property Value List, as described in this blog post. This can be used for the Unique Selling Points property on the Product page type (this is now also how it works in the new Template I just mentioned). I incorporated this into the source. It did require some manual updates to the database to change the existing values of the property though. I also made the Meta Keyword property work in this way. This is not the case within the available Alloy Template source. I don't know why that is. Oh, and by the way, if keywords have been entered, they will now actually show up in the rendered HTML :).

I will update this post when new packages become available and are added back into the solution.

Hope this helps.

Dec 13, 2017


Please login to comment.
Latest blogs
Performance optimization – the hardcore series – part 2

Earlier we started a new series about performance optimization, here Performance optimization – the hardcore series – part 1 – Quan Mai’s blog...

Quan Mai | Oct 4, 2023 | Syndicated blog

Our first steps into local AI

After a consumer of tools like ChatGPT and CoPilot, we as developers like to dive deeper into it. How does it work? Where to start? Can I create my...

Chuhukon | Oct 4, 2023 | Syndicated blog

Update on .NET 8 support

With .NET 8 now in release candidate stage I want to share an update about our current thinking about .NET 8 support in Optimizely CMS and Customiz...

Magnus Rahl | Oct 3, 2023

Adding Block Specific JavaScript and CSS to the body and head of the page

A common requirement for CMS implementations includes the ability to embed third party content into a website as if it formed part of the website...

Mark Stott | Oct 3, 2023