Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Library Content Component will be implemented by enhancing the existing Randomized Content Module, which is implement by the library_content XBlock. The changes to the library_content XBlock are described in this ADR:

The Library Content Component

Briefly, the LibraryContent course component includes components from content libraries into courses, and then selects some or all of those components and shows them to learners.

Table of Contents

Inclusion (Studio)

Each Library Content component can be pointed to a single Source Library,from which components will be included. Once a Source Library is chosen, components are included from the library, and saved as the Children of the Library Content component. The way components are included (e.g., include all, include a filtered set, author manually picks which to included) depends on the component’s Mode, described later.

...

Once the course is published, the Children are pushed into the LMS instance of the Library Content component, where component selection occurs (next section).

Selection (LMS)

Given a particular Library Content component and a particular learner, the Selection defines the Children which the learner will actually see. The Selection could be equal to the Children; it could be the same components but in a different order; or it could be a subset of the Children. It may or may not vary from learner to learner. All of this behavior is determined by the Mode that the Library Content component is using.

...

If this either of those do happen, LMS will try to keep as many of the same components in the Selection as possible, and keep them in the same order. However, it may need to add or remove components in order to satisfy the selection criteria. (For example, if we are in Randomized mode, and the Count is reduced by one then LMS will keep all components in each learner’s existing selection except for one). The LMS aims for Selection stability, because any changes to it will impact course progress and grading.

Modes

The component can be configured to include and select blocks two different ways:

...

  • Statically-Included-Randomly-Selected Mode (needs a better name): The author manually includes zero or more components from the source library. The author optionally specifies a Count. From the included components, LMS selects a randomized subset of size Count for each learner. If Count is not specified, all included components are shown in a random order to each learner. (This really is just a generalization of Randomized and Static mode, combining the capabilities of both. It could be presented to the authors as an enhanced version of Random or Static mode).

  • Recommendation Mode (not fleshed out): Components are are smartly included from the source library based on tags or other metadata. TBD: How would components be selected for each learner?

Data flow diagram

...

(This is how components flow from the library to the learner, for a particular Library Content component instance. This isn’t a user flow diagram)

Source: https://lucid.app/lucidchart/4cfbb5d6-86f3-4cd6-98cf-c85c123a8cb7/edit?invitationId=inv_7c5dea04-a713-4f45-b73e-e06e20fcfa9d&page=TcjvDJoIqz14#

User stories

Colors are just to group related cells together; they are not significant.

...