edX DDD Bounded Contexts

Ubiquitous Language (Glossary)

For definitions of various terms, refer to edX DDD Ubiquitous Language.

edX Subdomains

Illustrates a high-level view of the main subdomains within the edX system.

edX Subdomain Map

Illustrates interactions between the high-level subdomains of the edX system.  This was generated from captured top-level edX Use Cases and aligning on the main responsibilities of each subdomain in the edX life cycle.

edX Bounded Contexts

Illustrates possible bounded contexts within each subdomain.  It shows where today's shared data storage is located.  The responsibility of each bounded context is described below.

Responsibilities of Bounded Contexts

This section describes the responsibilities of each bounded context as depicted in the diagram above.

See edX DDD Domains and Use Cases for table of use cases.

SubdomainUsersUse CasesBounded Contextcore, supporting, genericDescription

Content Authoring

(or Authoring for short)

  • Course teams
  • Instructional designers


  • "Educator.1 Easy Authoring"




coreContent Authoring (core) allows educators to create, modify, discover, package, annotate (tag), and share learning content.  Learning content may be packaged from multiple content sources.
Catalog Content Authoring

generic
  • Catalog Content Authoring (generic) allows educators to create higher-level learning contexts, such as Courses and Programs, which includes metadata related to those contexts.

Course Run Authoring

supporting
  • Course Run Authoring (supporting) allows educators to launch a Course Run. This includes the ability to override configuration settings and fields, including dates and grading policy.
Learning Content Authoringcore
  • Learning Content Authoring (core) allows educators to create and publish learning content and pathways,  which can be utilized to create course runs.

Learning Content Repository

supporting
  • Learning Content Repository (supporting) provides a shared service for storing, versioning, sharing, and discovering published learning content.  The learning content is available at varying degrees of granularity - including Pathways, Blocks and Units.
Video Processinggeneric
  • Video Processing  generic) is a service for processing, encoding, and translating authored videos for consumption by learners.

Learning

  • Learners
  • Admins
  • "Learner.2 Achieve Learning Outcomes"
  • "Learner.3 Support through their learning pathway – progress, messaging, social"
  • "Educator.5 Supporting Learners (Community and Mentorship)"



coreLearning (core) allows learners to consume content and perform actions in a learning activity (participating on forums, etc) on the platform.  It also allows educators to support learners via interactions with learners and other support tools.
Consuming Learning Content

core
  • Consuming Learning Content (core) is the primary context where learners engage with content in personalized learning pathways.  This includes functionality such as:
    • Completion / Progress
    • Digital Journal
    • Grades
    • xBlocks (each as its own separate micro-context): Video, CAPA, ORA, etc.
Social Learninggeneric
  • Social Learning (generic) provides a service for collaboration and interactivity between learners and educators.
Support Learningsupporting
  • Support Learning (supporting) allows educators to administer and manage learners and learning contexts (courses, programs, etc).
Learning Credentialssupporting
  • Learning Credentials (supporting) allows learners and educators to access and manage credentials/certifications achieved from learning.

Catalog Discovery



  • Learners
  • "Learner.1 Discovery: Find the right course/program to help them achieve their goals"

supportingCatalog Discovery (supporting) allows learners to find the right content at the right time to help achieve their learning goals.

Marketing

generic

  • Marketing (generic) provides a portal for learners to discover higher-level learning contexts, such as Courses and Programs.

Catalog Content

supporting

  • Catalog Content (supporting) is a service for storing catalog data with interfaces for searching and discovery.  
Catalog Content Authoringgeneric
  • Catalog Content Authoring (generic) allows educators to author and manage their catalog content.

Purchasing (ecommerce)

generic

  • Purchasing (ecommerce) (generic) allows learners to pay for edX content and features.
Content Access / Enrollmentssupporting
  • Content Access / Enrollments (supporting) is a service for managing access and enrollment information to catalog content.

Enterprise


  • Enterprise Learners
  • Enterprise Admins



  • "Admin.1 Actionable Data and Feedback"






Enterprise Adminsupporting

TBD

Enterprise CatalogsupportingTBD
Enterprise EnrollmentssupportingTBD

Programs
  • Program Learners
  • Program Admins
  • Credit Organizations
  • "Learner.4 Proof of Learning, credentials/certifications"
  • "Educator.2 Administration of Courses"

supporting
  • Programs(supporting) allows educators and learners to manage and engage in bundled packages (programs) of learning.
Program Enrollmentscore
  • Program Enrollments (core) enable educators to handle grading, completion, and other for learner-facing features within the context of a program.
Registrarsupporting
  • Registrar (supporting) allows educators to administer programs, using identifiers from external systems, through the Program Manager interface.
Program Credentialsgeneric
  • Program Credentials (supporting) allows learners and educators to access and manage credentials and certifications achieved from engaging in Programs.






Analytics

  • Course Teams
  • Course Admins
  • "Educator.3 Actionable Data and Feedback"
  • "Admin.1 Actionable Data and Feedback"

supportingAnalytics (supporting) allows both educators and admins to access data about learner behavior and proficiencies and content usage in order to assess learners and the pedagogical impact of the content.