Skip to content

Recommendations

Introduction

Recommendations integration is responsible for providing user-specific and content-related video catalog recommendations - a list of content catalog objects that are relevant for a given context.

From Accedo One perspective, there are two main recommendation types: Related Content & User Recommendations. They are fulfilled by a separate gRPC service and are therefore not depending on each-other. An integration may support both, but does not strictly have to.

Related content recommendations are always associated with a content object, but are user agnostic. When application is configured to display "Related content" on e.g Details pages, Accedo One sends RelatedContentRecommendationService.GetRelatedContentObjects call to the integration and expects a list of content object identifiers (ID & type tuple) in a priority order (most relevant first) as a response.

User Recommendations

When client application is configured to show user recommendations (e.g via Recommended shelf), Accedo One will perform a UserRecommendationService.GetRecommendedContentObjects RPC call. This call can optionally have an associated content catalog object (i.e "recommendations for a user based on this piece of content").

Integration is expected to return a list of content object identifiers (ID & type tuple) in a priority order (most relevant first).

Development with IDK

To start IDK in Recommendation mode, simply run idk up recommendation

$ idk up recommendation

grpc-mock Done!  
router Done!  
recommendation-api Done!  
ui Done!  
Creating network "default-recomidk" with the default driver
Creating recommendation_default_router_1 ... 
Creating recommendation_default_ui_1     ... 
Creating recommendation_default_grpc-mock_1          ... 
Creating recommendation_default_recommendation-api_1 ... 
Creating recommendation_default_recommendation-api_1 ... done
Creating recommendation_default_router_1             ... done
Creating recommendation_default_grpc-mock_1          ... done
Creating recommendation_default_ui_1                 ... done
### IDK environment URLs ###

    - IDK - Admin UI: http://localhost:51730/

APIs

Following APIs must be fulfilled by the integration:

  • RelatedContentRecommendationService - as defined in recommendation/related.proto
  • UserRecommendationService - as defined in recommendation/user.proto