Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ Overview: The New Libraries Experience
.. image:: /_images/educator_how_tos/library_homepage.png
:alt: The Library Homepage with content units in individual tiles

The relaunch of Libraries includes a suite of new features and functionality
that make Libraries centralized hubs for creating, managing and reusing content.
The relaunch of :ref:`Content Libraries <Content Libraries Overview>` includes a
suite of new features and functionality that make Libraries centralized hubs for
creating, managing and reusing content.

Authors can create content independently of the course outline, and reuse it in
as many courses as they'd like, with synced updates.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The Content Libraries Redesign Initiative
Overview
**********

The Content Libraries redesign project includes a suite of new features and
The :ref:`Content Libraries redesign project <Content Libraries Overview>` includes a suite of new features and
functionality that make Libraries centralized hubs for creating, managing and
reusing content.

Expand Down
2 changes: 1 addition & 1 deletion source/community/release_notes/ulmo/ulmo_libraries.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Library Updates in the Ulmo Release
###################################

Ulmo adds authoring support for Sections and Subsections (also known as
"structural blocks") in Libraries. You can now author all levels of content for
"structural blocks") in :ref:`Libraries <Content Libraries Overview>`. You can now author all levels of content for
reuse in courses. Included are improvements to syncing changes made in a Content
Library to content that has been reused in courses.

Expand Down
121 changes: 121 additions & 0 deletions source/educators/concepts/instructional_design/content_libraries.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
.. _Content Libraries Overview:

Content Libraries Overview
##########################

.. tags:: educator, concept

In Studio, a Content Library is a centralized repository where you can create,
manage, and reuse course content across multiple courses. Instead of rebuilding
the same material in every course, you author content once in a library and add
it to as many courses as you need. When you update content in a library and
publish those changes, courses that use that content can sync to the latest
version centrally.

Content Libraries support all levels of course content, including individual
components (such as text, problems, and video), units, subsections, and
sections.

.. image:: /_images/educator_how_tos/library_homepage.png
:alt: The Library Homepage with content units in individual tiles

What You Can Do with Content Libraries
***************************************

Create and Organize Content
============================

You can author any level of course content directly in a library, using the
same editing tools available in Studio. Libraries support a wide range of
content types, including text components, problems, video, Open Response
Assessments, drag and drop, polls and surveys, word cloud, and Google
Integration blocks.

Within a library you can organize content using collections, making it easier
to group and discover related material. You can also add tags to library
content to support content alignment and discoverability across your
organization.

Reuse Content Across Courses
=============================

Once content is published in a library, you can add it to a course just as you
would add any other content in Studio. A single piece of library content can be
reused across many courses simultaneously. Because the content remains linked
to its source library, all courses benefit from updates centrally rather than
requiring manual edits in each course separately.

Customize Content for a Course
================================

Library-sourced content can be customized for a specific course without
unlinking it from the library. The following types of overrides are supported.

* **Title overrides.** You can rename any library-sourced section, subsection,
unit, or component in a course. The custom title is preserved when you sync
library updates.

* **Text content overrides.** You can edit the text content of a library-sourced
text component in a course. Overridden text components are excluded from
future content syncs, so your local edits are preserved. For standalone text
components, you can also choose at sync time whether to keep your local
content or update to the latest library version.

Sync Updates to Courses
=========================

When content in a library is updated and published, courses that use that
content are notified that updates are available. Course authors can review the
changes side-by-side with the current course content before deciding whether to
accept or ignore each update. Syncing can be initiated from the course outline,
the unit page, or the Library Updates page (accessible from the
:guilabel:`Content` menu in Studio).

Accepting a sync on a structural block — such as a section or subsection —
applies updates to all content within it, except for any components that have
local overrides.

Who Can Access a Library
*************************

Libraries have their own :ref:`user access settings <Add users to Libraries>`,
separate from courses. Access is managed through the Team Management panel in
the Administrative Console, which is accessible via the :guilabel:`ⓘ Library
Info` sidebar in Studio. Any change to a user's library access applies to that
library only and does not affect their access to other libraries or courses.

Libraries use four roles to control what each team member can do.

* **Library User** — can view and use library content in courses.
* **Library Contributor** — can create and edit content in the library.
* **Library Author** — can create, edit, and publish content in the library.
* **Library Admin** — can manage content and control team membership, including
adding and removing users and changing roles.

Only Library Admins and global site admins can add or remove team members or
change their roles.

.. seealso::

:ref:`Work with Content Libraries` (reference)

:ref:`Create a New Library` (how-to)

:ref:`Create and edit content in a Library` (how-to)

:ref:`Create and edit units in a Library` (how-to)

:ref:`Create and Edit New Subsections and Sections` (how-to)

:ref:`Add Library content to a course` (how-to)

:ref:`Add users to Libraries` (how-to)


**Maintenance chart**

+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
| 2026-04-08 | sarina | Verawood | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ The libraries that you create or have access to are listed on the **Libraries**
tab on the Studio Home page.

.. seealso::


:ref:`Content Libraries Redesign Teak`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ original version in the legacy library. For details, refer to :ref:`Edit Compone
a Legacy Library` and :ref:`Get the Latest Version of Library Content <Get the Latest Version of Legacy Library Content>`.


.. seealso::

.. seealso::

:ref:`Content Libraries Redesign Teak`

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
.. _Override the Title of Library-Sourced Content:

Override the Title of Library-Sourced Content
#############################################
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Decisions made: I split the steps by content type because the UI entry point is different — the course outline for structural content vs. the unit view for components. The spec doesn't describe the exact UI mechanics (pencil icon, click-to-edit, etc.), so those are reasonable assumptions based on how Studio typically works and should be verified against the actual Verawood UI.

Gaps to verify:

  • The exact UI interaction for renaming (pencil icon vs. double-click vs. a settings panel) — the spec doesn't specify, only that titles should be "editable."
  • Whether the rename UI differs between the course outline and unit views in any meaningful way that would require additional steps.


.. tags:: educator, how-to

When you add content from a content library to your course, it is linked to
its source library and its title reflects whatever was set in the library. You
can rename that content in your course without unlinking it from the library.
Title overrides are supported for all library-sourced content, including
sections, subsections, units, and components.

.. note::
Title overrides are available starting with the Verawood release of the
Open edX platform.

Prerequisites
*************

Before you begin, ensure that you have:

- A course open in Studio.
- At least one section, subsection, unit, or component that was added to the
course from a content library.

Override a Title
****************

The steps for overriding a title depend on the type of content you are
renaming.

Rename a Section, Subsection, or Unit
======================================

1. In Studio, open the course outline.

2. Locate the library-sourced section, subsection, or unit you want to rename.

3. Select the pencil icon or select the existing title to make it editable.

4. Enter the new title.

5. Press :guilabel:`Enter` or select outside the field to save the change.

Rename a Component
==================

1. In Studio, open the unit that contains the library-sourced component you
want to rename.

2. Select the pencil icon next to the component's title to make it editable.

3. Enter the new title.

4. Press :guilabel:`Enter` or select outside the field to save the change.

The component now displays your custom title in the course. The title in the
source library is not affected.

.. note::
Once you save a title override, there is no indicator in the current release
that marks the content as locally renamed. This is planned for a future
release.

How Title Overrides Interact with Syncing
******************************************

When you sync library-sourced content that has a locally overridden title,
your custom title is always preserved. Syncing never overwrites a title
override, even if the title has been updated in the source library.

There is one exception: if a piece of content is deleted in the library and
you accept that sync, the content is removed from your course even if it had
a local title override.

.. seealso::

:ref:`Add Library Content to a Course` (how-to)

:ref:`Sync a Library update to your course` (how-to)

:ref:`Override Text Content in a Library-Referenced Component` (how-to)

:ref:`Override Text Content in a Library-Sourced Structural Block` (how-to)


**Maintenance chart**

+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
| 2026-04-08 | sarina | Verawood | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
.. _Override Text Content in a Library-Referenced Component:

Override Text Content in a Library-Referenced Component
#######################################################
Copy link
Copy Markdown
Contributor Author

@sarina sarina Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gaps to verify before publishing:

  • The actual UI button labels — I used :guilabel:Edit and :guilabel:Save based on the spec description, but you'll want to confirm the exact labels in the Ulmo UI.
  • Whether the prerequisite about "published" library content is correct — the issue spec says the component needs to be published in the library first.


.. tags:: educator, how-to

When you add content from a content library to your course, that content is
linked to its source library and kept in sync with it. In most cases, you
cannot edit library-sourced content directly in a course — but text components
are an exception. You can override the text content of a library-sourced text
component to customize it for your course without unlinking the rest of the
content from the library.

This how-to covers standalone text component overrides. For information about
overriding text content within a library-sourced unit, subsection, or section,
see :ref:`Override Text Content in a Library-Sourced Structural Block`.

.. note::
Text content overrides are available starting with the Verawood release of
the Open edX platform.

Prerequisites
*************

Before you begin, ensure that you have:

- A course open in Studio.
- A published text component from a content library already added to the
course as a standalone component (not nested inside a library-sourced unit,
subsection, or section).

Override the Text Content
*************************

1. In Studio, open the unit that contains the library-sourced text component
you want to customize.

2. Locate the text component. It will display an :guilabel:`Edit` button even
though it is library-sourced.

3. Select :guilabel:`Edit` to open the text editor.

4. Make your changes to the text content.

5. Select :guilabel:`Save` to save the override.

The text component now displays your customized content in the course. The
original content in the source library is not affected.

.. note::
Once you save an override, there is no indicator in the current release that
marks the component as locally overridden. This is planned for a future
release.

Sync Library Updates After an Override
***************************************

Overriding the text content of a standalone text component changes how syncing
works for that component. When a newer version of the component is published in
the source library, you can choose what happens to your override during a sync.

When you sync and the library has a newer version of the overridden text
component, Studio will prompt you to choose one of the following options.

- **Keep course content** — your local override is preserved and the library
update is ignored for this component.
- **Update to published library content** — your override is discarded and the
component is updated to the latest version from the library.

.. important::
This choice — whether to keep or drop an override — is only available for
standalone text component overrides. Other types of overrides (such as
title overrides) are handled automatically during sync and cannot be
selectively kept or dropped.

What You Cannot Override
*************************

Not all edits are allowed on library-sourced content. Overrides are limited to
text content on text components. Edits that would change the structure of
library content — such as reordering components within a library-sourced unit —
are not permitted. To make structural changes, you must first unlink the
content from its source library.

.. seealso::

:ref:`Add Library Content to a Course` (how-to)

:ref:`Sync a Library update to your course` (how-to)

:ref:`Override the Title of Library-Sourced Content` (how-to)

:ref:`Override Text Content in a Library-Sourced Structural Block` (how-to)


**Maintenance chart**

+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
| 2026-04-08 | sarina | Verawood | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
Loading