Skip to content

Conversation

@tarentomaheshvakkund
Copy link

@tarentomaheshvakkund tarentomaheshvakkund commented Dec 31, 2025

  • Implement extendedReadContent operation to enrich Learning Pathway milestones with full course hierarchy and assessment data
  • Add Redis caching for extended read responses with configurable TTL
  • Fetch course metadata from Neo4j and hierarchy from Cassandra in parallel
  • Filter hierarchy children to include only configured fields for optimization
  • Update application.conf with 60+ fields for hierarchy children nodes:
    • Add metadata fields: lastStatusChangedOn, organisation, mediaType, etc.
    • Add timestamp fields: createdOn, lastUpdatedOn, lastPublishedOn, etc.
    • Add content fields: streamingUrl, resourceCategory, framework, etc.
    • Add publishing fields: prevStatus, reviewStatus, pkgVersion, etc.
  • Format extended.content.enrichment.fields configuration for consistency
  • Add comprehensive inline documentation explaining:
    • 9-step extended read flow with cache and milestone enrichment
    • Dual data source architecture (Neo4j for metadata, Cassandra for hierarchy)
    • Parallel fetching strategy for courses and assessments
    • Field filtering mechanism for response size optimization
    • Cache implementation with Redis and error handling

Cache key patterns:

  • extended_read_content_{{courseId}} for courses with hierarchy
  • extended_read_assessment_{{assessmentId}} for assessments

This enables efficient retrieval of complete Learning Pathway data with all related course hierarchies and assessments in a single API call.

…d for learners pathway

- Implement extendedReadContent operation to enrich Learning Pathway milestones
  with full course hierarchy and assessment data
- Add Redis caching for extended read responses with configurable TTL
- Fetch course metadata from Neo4j and hierarchy from Cassandra in parallel
- Filter hierarchy children to include only configured fields for optimization
- Update application.conf with 60+ fields for hierarchy children nodes:
  * Add metadata fields: lastStatusChangedOn, organisation, mediaType, etc.
  * Add timestamp fields: createdOn, lastUpdatedOn, lastPublishedOn, etc.
  * Add content fields: streamingUrl, resourceCategory, framework, etc.
  * Add publishing fields: prevStatus, reviewStatus, pkgVersion, etc.
- Format extended.content.enrichment.fields configuration for consistency
- Add comprehensive inline documentation explaining:
  * 9-step extended read flow with cache and milestone enrichment
  * Dual data source architecture (Neo4j for metadata, Cassandra for hierarchy)
  * Parallel fetching strategy for courses and assessments
  * Field filtering mechanism for response size optimization
  * Cache implementation with Redis and error handling

Cache key patterns:
- extended_read_learningpathway_{{identifier}} for Learning Pathways
- extended_read_content_{{courseId}} for courses with hierarchy
- extended_read_assessment_{{assessmentId}} for assessments

This enables efficient retrieval of complete Learning Pathway data with
all related course hierarchies and assessments in a single API call.
…d for learners pathway

refactor: Generalize extended read API with category-based enrichment strategy

Implement pattern matching for different course categories in extendedRead:
- Learning Pathway: Enrich milestones with course hierarchy and assessments
- Other categories (Course, Blended Program, etc.): Fetch and add hierarchy children
@tarentomaheshvakkund tarentomaheshvakkund changed the base branch from 4.8.32-dev-v2 to 4.8.32.1-dev-v1 January 2, 2026 05:27
1. Moved all the changes from contentactor to extendedcontentactor.
@karthik-tarento karthik-tarento merged commit 1d9da23 into KB-iGOT:4.8.32.1-dev-v1 Jan 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants