A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Jonas Bergqvist
Oct 6, 2014
  6628
(0 votes)

Comments and Ratings in Commerce 8.0

In Commerce 8.0, we have dropped the dependency to EPiServer Common Framework. When dropping the dependency, we had to remove all classes in EPiServer.Business.Commerce which had dependencies to EPiServer Common Framework. With the dropped classes, we dropped some functionality. This blog post will show how to recreate the missing functionality.

Dropped functionality

When we dropped the dependency to EPiServer Common Framework, we lost comments and ratings, which has been a part of Commerce in earlier versions. This will cause problems when upgrading to Commerce 8, if the site uses comments or rating.

Dropped classes

The following classes have been dropped from EPiServer.Business.Commerce:

  • Comment
  • CommentExtensions
  • DynamicEntry
  • DynamicEntryHandler
  • DynamicEntryProvider
  • IMessage
  • IProductComment
  • IProductRating
  • ProductComment
  • ProductCommentResult
  • ProductEntry
  • ProductEntryHandler
  • ProductRating
  • RatingMessage
  • UserExtensions

Make logging work

In “EPiServer CommonFramework”, there is functionality for logging, which will help developers to find problems in the code. This code will not be available anymore as long as the “EPiServer CommonFramework” nuget package isn’t explicitly installed on the site. Projects that has used EPiServer Common logging should change to work directly against “log4net”. By changing the using statement to “log4net”, log4net will start handling the logging.

Recreate functionality

To add back comments and ratings after upgraded to Commerce 8, the following steps are needed:

  1. Add the package “EPiServer Common” to your project.
  2. Download the zip-package below.
  3. Add the classes to your project after you have unzipped the package.

After you have the classes in to your project, you have to add a couple of lines to an initialization module:

// register entity provider with supported types
EntityProviderHandler.Instance.RegisterEntityProvider<DynamicEntityProvider, DynamicEntity>();
EntityProviderHandler.Instance.RegisterEntityProvider<DynamicEntityProvider, ProductEntity>();

Download

Zip file containting comments and ratings: CommentsAndRatings.zip

Oct 06, 2014

Comments

Please login to comment.
Latest blogs
A day in the life of an Optimizely OMVP: Learning Optimizely Just Got Easier: Introducing the Optimizely Learning Centre

On the back of my last post about the Opti Graph Learning Centre, I am now happy to announce a revamped interactive learning platform that makes...

Graham Carr | Jan 31, 2026

Scheduled job for deleting content types and all related content

In my previous blog post which was about getting an overview of your sites content https://world.optimizely.com/blogs/Per-Nergard/Dates/2026/1/sche...

Per Nergård (MVP) | Jan 30, 2026

Working With Applications in Optimizely CMS 13

💡 Note:  The following content has been written based on Optimizely CMS 13 Preview 2 and may not accurately reflect the final release version. As...

Mark Stott | Jan 30, 2026

Experimentation at Speed Using Optimizely Opal and Web Experimentation

If you are working in experimentation, you will know that speed matters. The quicker you can go from idea to implementation, the faster you can...

Minesh Shah (Netcel) | Jan 30, 2026