This repository contains source code for PoC integration of Kentico EMS and Recombee Artificial Intelligence Powered Recommender as a Service
This is a sample module, it needs detailed testing and maybe some bug fixing for real production usage. See also Known issues.
This project consists of two modules each for one instance (Admin, MVC). After installation of the administration module, you will have available Recombee application in the application menu. This application provides you administration interface to initialize Recombe database. Without the initialized database the module won't work correctly.
The MVC module ensures PageBuilder widget RecommendedProducts in your MVC site. By default, the module logs cart actions - purchases and products additions. The widget contains a basic set of CSS styles to be usable on all MVC sites (non-DancingGoat).
- Kentico EMS 12SP.
- This module uses online marketing contacts, so EMS license is required.
- Online marketing module has to be enabled in setting application.
- You need to have an account on Recombee.com
- you can create your free account on Recombee.com or have a project registered in the Kentico organization (contact stanislavs(at)kentico.com for more details)
- Download the latest ZIP package from Release.
- Extract ZIP package.
- Open solution with your administration project (WebApp.sln).
- Navigate to "NuGet Package Manager Console".
- Run Install-Package <path-to-package-folder>\Kentico.Recombee.Admin.nupkg where <path-to-package-folder> is file system path to extracted ZIP package.
- Build the project.
- Go to settings application in administration UI and navigate to Integration -> Recombee. Fill Recombe database identifier and secret token.
- Open solution with your MVC project (eg. DancingGoatMvc.sln)
- Navigate to "NuGet Package Manager Console".
- Run Install-Package <path-to-package-folder>\Kentico.Recombee.MVC.nupkg where <path-to-package-folder> is file system path to extracted ZIP package.
- Build the project
To log articles page views, add the following code into your ArticlesController action Detail
var contact = ContactManagementContext.GetCurrentContact();
var recombeeClient = new RecombeeClientService();
recombeeClient.LogPageView(contact.ContactGUID, article.DocumentGUID);
Please note Online marketing feature has to be enabled in the settings application.
The widget can be used on all MVC sites based on K12SP (older version were not tested). Since the widget renders products list with links to an appropriate detail you will need to add/have ProductController with action Detail (see DancingGoat sample for more details). Alternatively, you will need to modify the widget view.
The second requirement for non-DG sites is to have Bootstrap CSS linked on the page with the widget.
Without previous steps, the MVC widget may work or be displayed incorrectly.
- When a new product is added to the E-commerce store, it is not reflected in Recombee
- Similar problems are known when deleting/changing a product.
- Contact merge is not handled
- Unavailable products (due to selling out) are not handled as well.
- When creating(updating) new contact, detailed information (such as email address or name) are not pushed to Recombee database.