Code Monkey home page Code Monkey logo

poc's Introduction

Kentico EMS integration with Recombee.

This repository contains source code for PoC integration of Kentico EMS and Recombee Artificial Intelligence Powered Recommender as a Service

โš ๏ธ DISCLAIMER

This is a sample module, it needs detailed testing and maybe some bug fixing for real production usage. See also Known issues.

Description

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).

Requirments

  1. Kentico EMS 12SP.
  2. This module uses online marketing contacts, so EMS license is required.
  3. Online marketing module has to be enabled in setting application.
  4. 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)

Installation

General steps

  1. Download the latest ZIP package from Release.
  2. Extract ZIP package.

Administration package

  1. Open solution with your administration project (WebApp.sln).
    1. Navigate to "NuGet Package Manager Console".
    2. Run Install-Package <path-to-package-folder>\Kentico.Recombee.Admin.nupkg where <path-to-package-folder> is file system path to extracted ZIP package.
  2. Build the project.
  3. Go to settings application in administration UI and navigate to Integration -> Recombee. Fill Recombe database identifier and secret token.

Package for MVC site.

  1. Open solution with your MVC project (eg. DancingGoatMvc.sln)
    1. Navigate to "NuGet Package Manager Console".
    2. Run Install-Package <path-to-package-folder>\Kentico.Recombee.MVC.nupkg where <path-to-package-folder> is file system path to extracted ZIP package.
  2. Build the project

Enable articles views logging [Optional]

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.

Installation MVC package on non-DancingGoat based project

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.

Known issues

  • 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.

poc's People

Contributors

standasojka avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.