-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Added ADR for video indexing #832
Open
irfanuddinahmad
wants to merge
1
commit into
master
Choose a base branch
from
iahmad/ENT-8855
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
Indexing videos for search and driving enrollments | ||
================================================== | ||
|
||
Status | ||
------ | ||
|
||
Draft | ||
|
||
|
||
Context | ||
------- | ||
Microlearning, broadly defined, are short form educational experiences (<30 minutes) that are designed to deliver against a specific learning objective while minimizing learner fatigue. The scope of this decision record is a microlearning experience that focuses on videos. The videos will be utilized to market the associated course to prospective learners and help drive enrollments, which will eventually result in an increase of revenue. | ||
|
||
|
||
Solution Architecture | ||
--------------------- | ||
The videos will be indexed in Algolia for discoverability via search in the Enterprise Learner Portal. Since the video-course relationship resides in lms (edx-platform), api clients will be used to pull that information into enterprise-catalog, similar to how it is done for video skill tagging (https://github.com/openedx/course-discovery/blob/a0124cae632d44300f479ae59850499c4b7b6809/course_discovery/apps/taxonomy_support/providers.py#L254). Once pulled into enterprise-catalog, the video metadata will be stored as a new app "video_catalog" (https://github.com/openedx/enterprise-catalog/tree/master/enterprise_catalog/apps). This new app will be responsible for 3 primary tasks: firstly to pull and store video metadata from lms, secondly to generate Algolia sized text summary of video transcripts using generative AI and finally to interact with existing Algolia indexing routines to add the video as a full-fledged Algolia object similar to courses, programs and pathways. | ||
|
||
|
||
Decision | ||
-------- | ||
Video catalog is an enterprise catalog and should reside within the Enterprise Catalog service. Video and course metadata relationships can be easily managed while existing indexing routines in enterprise-catalog repository can be reused. | ||
|
||
|
||
Consequences | ||
------------ | ||
|
||
A large amount of Algolia indexing code in the enterprise-catalog repository will be reused, thus reducing the | ||
time to market. This also entails a tight coupling to the enterprise catalog. | ||
|
||
|
||
Alternatives considered | ||
----------------------- | ||
|
||
We considered adding Videos to the edx-discovery search, similar to what is implemented for Courses, Programs and Pathways. Since, this feature is enterprise specific, we did not see much benefit in adding the extra Discovery hop, which could trigger significant complexity due to another layer of indexing in elasticsearch. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the idea that there is one catalog record that references all of the video content? Or will the content be included in a subset of customer catalogs as a new content type?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@iloveagent57 the catalog relationship will be picked up from the associated course of any video. While indexing a course in Algolia, its associated videos will be fetched and also indexed with the same catalog/query/customer uuids as those of the course