Introduction: CPN Open Virtual Platform

One major goal of the CPN project is to make sure that our personalisation platform will be 'open' to future third-party integrations. We are doing this by creating a ‘virtual’ platform that can be adapted to the needs of media companies by connecting different services together.

In other words, the CPN platform is not intended to be a physical system that media companies need to install, but an ‘Open Virtual Platform’ – read more about our approach here.

Over the course of the project we foresee three major releases of the CPN Open Virtual platform that include functionalities based on the requirements gathered from the three CPN pilots. Each platform release includes specific functionalities, chosen after a process of evaluation and prioritization of user requirements.

This process followed a Scrum agile methodology, in which the CPN media partners (VRT, DIAS and DW) assumed the role of Product Owner and the technical partners participated as Scrum Team.

The second version of the CPN platform described below is a more mature release and improves the reliability, safety and performance of the platform. In fact, the core components were improved and extended and integration tests were conducted in order to demonstrate the platform’s flexibility.

In addition, this platform release focused specifically on the recommender system configuration and personalization, featuring a new A/B Testing Component that provides media companies with an easy way to test the recommender engine.

Core Components and Technology Bricks

The CPN Open Virtual Platform v2 includes:

  • A toolbox with 10 Technology Bricks deployed as microservices (9 backend services + 1 web dashboard)

  • 1 Technology Brick as client application, in web and mobile version (Reader’s App)

  • 3 Core components

Screen Shot 2019-07-09 at 15.49.20.png

Open Stack: The CPN platform and its core components are based on an open source stack that ensures a high level of expandability and flexibility.

Screen Shot 2019-07-09 at 15.51.04.png
  • Docker is a container platform provider and the de facto standard for containerization. It provides tooling and a platform to manage the lifecycle of a container.

  • Rancher is an open source container management platform that allows for running and managing Docker containers in production.

  • Express Gateway is a Microservices API gateway built on Express.js.

  • A message Broker, based on Apache Kafka and Zookeeper was installed and configured to allow an async communication within the platform.

The CPN platform tools, called Technology Bricks, are divided into 4 main categories:

  • Content analysis and retrieval

  • User Profiling

  • Apps for end users

  • Apps for producers

Screen Shot 2019-07-09 at 15.53.50.png

The CPN platform provides media companies with many services and functionalities that improve the production and delivery of media content to their target audience. Thanks to the flexibility of the system, a media company that participates in the CPN ecosystem can decide to exploit parts or all the functionalities provided by the platform.

How to integrate CPN

In order to evaluate the flexibility of the CPN platform v2, we conducted several integration testing activities. In particular, we worked in collaboration with two media partners of the consortium (VRT and DW), leading to the integration of two other client applications: a new mobile website and a smart TV app. In parallel, we are collaborating with three major European media organisations interested in the functionality offered by the CPN platform. (We are also looking for more media companies to test the tool – read more here.)

The process of integration for media companies is an easy, 3-step process:

  1. Article injection: The articles from media company datasource are injected into the CPN platform

  2. Retrieving of recommendations: The CPN platform exposes a service to retrieve recommendations through the API gateway

  3. Collection of user actions: the client app of the media company has to provide user actions to the CPN platform. The API gateway provides an API for this purpose.

An optional step is the recommender configuration, which lets a media company experiment with the recommendation engine by themselves, allowing them to test it in a deeper way.


The CPN platform has now reached a more mature status in its second version, and is enhanced by new functionalities provided by the technology bricks and by processes that improve reliability, safety and performance. The core components were improved and extended and integration tests were conducted in order to demonstrate the platform’s potentiality. Now, CPN is ready for testing by external media companies.