Skip to content

Integrate RecommendationEvent and RecommendationInteractionEvent creation during import and reject interaction #5057

@ozer550

Description

@ozer550

This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview

Integrate feedback utility functions into the recommendation flow by creating RecommendationEvent and RecommendationInteractionEvent objects during import and reject user interactions with recommended content.

Description and outcomes

Create RecommendationEvent creation :
When a user opens a topic and recommendations are retrieved for that topic, and then initiates content import into a target channel, create a RecommendationEvent object using the utility/helper functions existing in feedbackApiUtils.js.

Create RecommendationInteractionEvent on rejection:
When a user explicitly rejects a recommended content node through the UI, create a RecommendationInteractionEvent using the utilities in feedbackApiUtils.js. This Interaction event should link with the current RecommendationEvent object with context using the recommendation_event_id field.

Create RecommendationInteractionEvent on import:
When a user implicitly accepts (imports) a recommended node into their channel, create a RecommendationInteractionEvent with feedback_type: imported and link the context similar to as mentioned for the previous event.

Acceptance criteria

  • A RecommendationEvent is created when recommendations are retrieved and content is imported into a channel.
  • When a user rejects a recommendation explicitly, new RecommendationInteractionEvent is created with feedback_type: 'rejected'. It should be linked to the associated RecommendationEvent.
  • When a user imports a recommended content node, RecommendationInteractionEvent is created with feedback_type: 'imported'. It should be linked to the associated RecommendationEvent.
  • All feedback requests must go through the sendFeedbackRequest utility.
  • Robust tests to test the implementations.

Resouces

Ref Doc

Metadata

Metadata

Assignees

Labels

DEV: frontendP0 - criticalPriority: Release blocker or regressionjavascriptPull requests that update Javascript code

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions