UX/UI Requirements

Epic 1: UI Improvements to the Library Authoring Environment
Epic 2: Libraries support Collections (subsets of components)
Epic 3: Simplifying the ā€œUse Existing Contentā€ Workflow in Courses (formerly the ā€œLibrary Blockā€)


Epic 1: UI Improvements to the Library Authoring Environment

Key user stories:

  • I want my Library to contain all of the text, video and problem blocks that I may want to reuse in other courses later, so that I have a readily available content bank to draw from which will make it easier, quicker and more efficient to create new courses.

  • I want it to be easy to manage and navigate a Library that has hundreds or thousands of text, video and problem blocks.

  • I want to be able to track where/which courses content is being used.

Requirements:

Search and Discoverability

BROWSE ALL CONTENT PAGE

  • List/grid views of all content in the Library

SORT OPTIONS

  • I want options to sort all of the content in my library by:

    • A-Z, Z-A

    • Newest/Oldest

    • Most recently modified

    • Most recently published

    • All Collections (see Collections epic below)

FILTER OPTIONS

  • I want options to filter all of the content in my library by:

    • Type: Video, text, problem

Ā 

SEARCH

  • I want to search in my Library using free-form keyword/text search.

  • I want to search in my Library using tags. Give me all the components that are tagged for ā€œaccountingā€. Give me all the components that are tagged for ā€œaccountingā€ and let me refine by ā€œtype: videoā€.

  • I want to conduct basic boolean searches. Give me all the multiple-choice problems that are tagged with ā€œaccountingā€ AND ā€œeasyā€.

SEARCH REFINEMENTS

  • I want to refine my search results by tags

  • I want to refine my search results of Type: video, text, problem

At-a-glance content data

  • Which courses are using this content?

  • When was it last updated?

  • How many times has it been used?

Ā 

Ā 

Epic 2: Libraries support Collections (subsets of components)

Superseded by Collections Spec !!!

Iā€™m preserving this in case there are comment-related followups that should be preserved, but new discussion should happen in the new doc.

Key user stories:

  • As a content author, I donā€™t want to have to create a new Library every time I need to create a different pool of content for randomization.

  • As a content author, I want to be able to create subsets of content within a Library with any media type (videos, text blocks, problem blocks, or any combination thereof) as a means of organizing my content, and without the expectation that I would ever need to randomize from it. For example, I want to organize a subset of videos on the same topic so that itā€™s easier for me to find them later when I want to use them.

  • As a content author, I donā€™t want to lose the ability to create a subset of content (problems) to randomize from. I still use randomized problem sets for my exams and assignments. But I need an easier way to create these subsets and use them in one or multiple courses, because the current workflow is cumbersome.

Requirements for Collections within the Library Authoring Environment:

Ā 

General requirements:

  • Authors can create subsets of components for the sake of grouping like components together as a method of content organization and management.Ā 

    • For example, I want to create a subset of evergreen videos about how to do peer-reviews.

  • Authors can create as many Collections in a Library as they wish.

  • Authors can add as many components to a collection as they wish.

  • Components can live in multiple collections.

  • Collections can contain mixed media types (for example, a collection may contain video components, text blocks and problems all within the same collection).

  • Basic keyword search within a collection

  • Basic sort and filter

    • Sort alphabetical

    • Filter by tag

  • [FUTURE STATE] When Libraries support units, subsections and section, collections may also contain any combination of components, units, sections and subsections. Note that a single unit or a single section is not considered a Collection. Rather, a Collection is comprised of multiple sections, multiple units, etc.

Do Libraries need to display publish status?

Library publish options:

  • Publish all library

  • Publish collection

  • Publish component

Ā 

How authors create Collections:

  • When authors create new components in a Library or edit them, they can choose to ā€œadd to a new Collectionā€ or ā€œadd to a pre-existing Collectionā€.

  • Authors can create a collection and add components to it. I know I need a collection of all my ā€˜how-to videosā€™, I go to my library > create new collection > title it > save. Now I can go ahead and add content to the existing library.

  • Authors can use tag queries to create Collections, based on tags that have already been added to components. For example, create a Collection, or add, with all components that have been tagged with ā€œalgebraā€, ā€œeasyā€ and ā€œmultiple choiceā€. [live updates/sync option]

  • Authors can give Collections titles and brief descriptions. These can be edited later.

  • Authors can add tags to Collections, in the same way that they can add tags to components.

Ā 

How Collections function within Libraries:

  • Authors can view all of their Collections in one place within the Library.

  • Authors can search for Collections in the same way they search for content. Collections turn up in search results, and authors can refine search results by collection.

    • Search results indicate whether the result is a component or a collection.

    • Eg, I conduct a free-text search for ā€œalgebraā€ and 239 results display, including individual components and collections. I can further refine my search for ā€œcollections onlyā€.

  • OUT OF SCOPE FOR NOW: Searching or refining searches within a collection. The assumption is that Collections will be small enough that complex search functionality within a Collection probably isnā€™t necessary.

Ā 

Epic 3: Simplifying the ā€œUse Existing Contentā€ Workflow in Courses (formerly the ā€œLibrary Blockā€)

Key User Stories:

As a content author/instructional designer:

  • I want to pull existing content from my Library into my Course, without having to navigate away from my course.

  • I need a quick way to find the content I need and want to use from my Library.

  • I might just want to use a single text, video or problem. (ā€œone and doneā€)

  • I might also want to choose a problem bank, or a set of questions with a set of parameters (eg, give me all the questions that are tagged with ā€œaccountingā€ and ā€œeasyā€) and configure a set of randomization parameters so that each learner receives a different subset of questions from the bank during their exam.

  • I want the workflow to ā€œuse existing contentā€ to be as simple, efficient and streamlined as the current workflow to create new content. I donā€™t want to have to think about a separate Library block, separate workflows, etc.

Ā 

General Requirements:

  • Authors can opt to connect one or multiple Libraries to a Course. Two pathways to connect a Library to a Course:

    • At the course level (ie, somewhere at the Course Outline page, etc)

    • At the unit level, particularly the first time an author wants to ā€œuse existing contentā€

      • [Note: This assumes that Libraries are a feature enabled in the ā€œout of the boxā€ Open edX experience and donā€™t require to be enabled via Advanced Settings.]

  • Once a Library is connected, Authors do not have to choose which Library(ies) to pull from, every time they want to use existing content.

  • Authors can disconnect Libraries at any time.

  • Authors can add new Libraries at any time.

  • What metadata needs to be displayed in the course view of Library content?

    • [Support of thumbnails in course view of Library content]

    • At a glance info?

Requirements for reuse:

  • Authors can pull any particular component from their connected Libraries into their Course

  • Authors can use/leverage the same search and discovery functionality (Epic 1) that exists within the Libraries in order to find the content they wish to use.

  • If multiple Libraries are connected to the course, the default search experience encompasses all connected Libraries, with an option to refine a search to a single particular Library.

  • When components are pulled into a course, if tags had been added to the Component in the Library, those tags carry over with the Component and display in the course

    • Authors can add new tags to the Course version of the component, but they cannot delete tags that were added in the Library.

  • Requirement for content edits in the course - mirrors current behavior

  • Updates do apply/notifications

Requirements for randomized reuse:

  • Authors have four options for creating pools of content to randomize:

    • Authors can choose a Collection that already exists from a Library. All of the content in that Collection will become part of the randomized pool.

    • Authors can query tags to choose which components they want to become part of a randomized pool/collection:

      • Give me all the problems with Tag: Accounting

      • Give me all problems with Tag: Accounting and Tag:Easy

      • Give me all the problems with one of the following tags: Tag: Accounting, Tag:Section1

    • Authors can query tags with refinement

    • Authors can select a Collection and then search and refine within the Collection

Ā 

Requirements for updating content:

  • If content is updated in a Library, authors receive a notification in the Courses where that content is being used, with an option to view the updates and either to accept or reject them.

  • Authors can pro-actively query Libraries for updated content, view the updates, and opt to update any existing content in their courses.

    • Option to pull all updates from a Library.

    • Option to update individual components.

Do updates from a library override any changes that had been previously made locally? Could see the edit history?

Define requirements for whether library content has any settings/configurations/policy attached to it at the library level, or just the course level?

Ā 

Ā