edX DDD Bounded Contexts

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.

Subdomain

Users

Bounded Context

core, supporting, generic

Description

Subdomain

Users

Bounded Context

core, supporting, generic

Description

Content Authoring

(or Authoring for short)

  • Course teams

  • Instructional designers



  • "Educator.1 Easy Authoring"







core

Content 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 Authoring

core

  • 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 Processing

generic

  • 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)"





core

Learning (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 Learning

generic

  • Social Learning (generic) provides a service for collaboration and interactivity between learners and educators.

Support Learning

supporting

  • Support Learning (supporting) allows educators to administer and manage learners and learning contexts (courses, programs, etc).

Learning Credentials

supporting

  • 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"



supporting

Catalog 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 Authoring

generic

  • 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 / Enrollments

supporting

  • 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 Admin

supporting

TBD

Enterprise Catalog

supporting

TBD

Enterprise Enrollments

supporting

TBD



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 Enrollments

core

  • Program Enrollments (core) enable educators to handle grading, completion, and other for learner-facing features within the context of a program.

Registrar

supporting

  • Registrar (supporting) allows educators to administer programs, using identifiers from external systems, through the Program Manager interface.

Program Credentials

generic

  • 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"



supporting

Analytics (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.