diff --git a/source/community/release_notes/sumac/content_libraries_redesign_beta.rst b/source/community/release_notes/sumac/content_libraries_redesign_beta.rst index a53f204ef..3a16fa1bc 100644 --- a/source/community/release_notes/sumac/content_libraries_redesign_beta.rst +++ b/source/community/release_notes/sumac/content_libraries_redesign_beta.rst @@ -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 ` 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. diff --git a/source/community/release_notes/teak/libraries_unit_support.rst b/source/community/release_notes/teak/libraries_unit_support.rst index 46f4f116d..fbd9c748c 100644 --- a/source/community/release_notes/teak/libraries_unit_support.rst +++ b/source/community/release_notes/teak/libraries_unit_support.rst @@ -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 ` includes a suite of new features and functionality that make Libraries centralized hubs for creating, managing and reusing content. diff --git a/source/community/release_notes/ulmo/ulmo_libraries.rst b/source/community/release_notes/ulmo/ulmo_libraries.rst index 7370cb46e..0e741223e 100644 --- a/source/community/release_notes/ulmo/ulmo_libraries.rst +++ b/source/community/release_notes/ulmo/ulmo_libraries.rst @@ -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 `. 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. diff --git a/source/educators/concepts/instructional_design/content_libraries.rst b/source/educators/concepts/instructional_design/content_libraries.rst new file mode 100644 index 000000000..62d6abdb3 --- /dev/null +++ b/source/educators/concepts/instructional_design/content_libraries.rst @@ -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 `, +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 | ++--------------+-------------------------------+----------------+--------------------------------+ \ No newline at end of file diff --git a/source/educators/concepts/instructional_design/libraries.rst b/source/educators/concepts/instructional_design/libraries.rst index 6917ca968..0ec6634d1 100644 --- a/source/educators/concepts/instructional_design/libraries.rst +++ b/source/educators/concepts/instructional_design/libraries.rst @@ -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` diff --git a/source/educators/how-tos/course_development/add_components_library.rst b/source/educators/how-tos/course_development/add_components_library.rst index 824278d05..28e406e3a 100644 --- a/source/educators/how-tos/course_development/add_components_library.rst +++ b/source/educators/how-tos/course_development/add_components_library.rst @@ -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 `. -.. seealso:: - +.. seealso:: :ref:`Content Libraries Redesign Teak` diff --git a/source/educators/how-tos/course_development/override_library_content_title.rst b/source/educators/how-tos/course_development/override_library_content_title.rst new file mode 100644 index 000000000..cb27cf7b5 --- /dev/null +++ b/source/educators/how-tos/course_development/override_library_content_title.rst @@ -0,0 +1,94 @@ +.. _Override the Title of Library-Sourced Content: + +Override the Title of Library-Sourced Content +############################################# + +.. 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 | ++--------------+-------------------------------+----------------+--------------------------------+ \ No newline at end of file diff --git a/source/educators/how-tos/course_development/override_library_text_component.rst b/source/educators/how-tos/course_development/override_library_text_component.rst new file mode 100644 index 000000000..335879f90 --- /dev/null +++ b/source/educators/how-tos/course_development/override_library_text_component.rst @@ -0,0 +1,103 @@ +.. _Override Text Content in a Library-Referenced Component: + +Override Text Content in a Library-Referenced Component +####################################################### + +.. 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 | ++--------------+-------------------------------+----------------+--------------------------------+ \ No newline at end of file diff --git a/source/educators/how-tos/course_development/override_library_text_component_in_structural_block.rst b/source/educators/how-tos/course_development/override_library_text_component_in_structural_block.rst new file mode 100644 index 000000000..39a7dac21 --- /dev/null +++ b/source/educators/how-tos/course_development/override_library_text_component_in_structural_block.rst @@ -0,0 +1,98 @@ +.. _Override Text Content in a Library-Sourced Structural Block: + +Override Text Content in a Library-Sourced Structural Block +########################################################### + +.. tags:: educator, how-to + +When you add a section, subsection, or unit from a content library to your +course, the content is linked to its source library. 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 any text component within a +library-sourced structural block to customize it for your course, without +unlinking the rest of the block from the library. + +For information about overriding a standalone library-sourced text component +(one that is not nested inside a library-sourced section, subsection, or unit), +see :ref:`Override Text Content in a Library-Referenced Component`. + +.. note:: + Text content overrides within structural blocks 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 section, subsection, or unit that was added to the course from a content + library, containing at least one text component. + +Override Text Content Within a Structural Block +*********************************************** + +1. In Studio, open the unit that contains the library-sourced text component + you want to customize. The unit may itself be library-sourced, or it may be + a course unit that contains a library-sourced section or subsection. + +2. Locate the text component. It will display an :guilabel:`Edit` button even + though it is part of a library-sourced block. + +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. + +How Text Overrides Interact with Syncing +***************************************** + +Overriding the text content of a component within a structural block changes +how that component is handled during future syncs. The following rules apply. + +- **Overridden components are excluded from content syncs.** When you sync the + structural block or any of its parents, the overridden text component is + ignored. Its content is never updated from the library, even if a newer + version has been published. +- **Position changes are still applied.** If the component is moved up or down + within the structural block in the source library, its position in your + course is updated when you sync, but its content remains unchanged. +- **Deleted components are still removed.** If the component is deleted in the + source library and you accept that sync on its parent block, the component is + removed from your course even if it had a local override. +- **Other components in the block sync normally.** Overriding one text + component does not affect your ability to sync updates to the rest of the + structural block. + +.. important:: + Unlike standalone text component overrides, syncing a structural block does + not give you a choice to keep or drop individual text overrides. Overridden + components are always excluded from the sync automatically. + +.. 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 the Title of Library-Sourced Content` (how-to) + + +**Maintenance chart** + ++--------------+-------------------------------+----------------+--------------------------------+ +| Review Date | Working Group Reviewer | Release |Test situation | ++--------------+-------------------------------+----------------+--------------------------------+ +| 2026-04-08 | sarina | Verawood | Pass | ++--------------+-------------------------------+----------------+--------------------------------+ \ No newline at end of file diff --git a/source/educators/navigation/content_creation_management.rst b/source/educators/navigation/content_creation_management.rst index f5873730f..bd07500cc 100644 --- a/source/educators/navigation/content_creation_management.rst +++ b/source/educators/navigation/content_creation_management.rst @@ -43,6 +43,7 @@ Work with Content Libraries :maxdepth: 1 :glob: + ../concepts/instructional_design/content_libraries.rst ../how-tos/course_development/navigate_library_homepage.rst ../how-tos/course_development/create_new_library.rst ../how-tos/course_development/use_content_sidebars_to_manage_content.rst @@ -58,6 +59,9 @@ Work with Content Libraries ../how-tos/course_development/add_library_content_to_a_course.rst ../how-tos/course_development/add_a_problem_bank_to_your_course.rst ../how-tos/course_development/sync_a_library_update_to_your_course.rst + ../how-tos/course_development/override_library_content_title.rst + ../how-tos/course_development/override_library_text_component.rst + ../how-tos/course_development/override_library_text_component_in_structural_block.rst .. _Add Text Components: