Open edX Maple and Open edX Nutmeg bring exciting features to provide an online learning experience with more detail on course dates, tracks, and walkthroughs. In addition, it introduces changes on Tutor, a focus on Open edX events and filters, and some security updates. Olive, the latest Open edX software release, was published last week and additional content will follow, updating you on the newly integrated features. You will learn more about Olive at the upcoming Open edX Meetup, scheduled for 1/26/2023 at 10 AM (EDT). Registration link to this free virtual event will be posted on our event’s calendar, in the coming week.
This blog will tell you about some of the latest additions to Maple and Nutmeg that will surely come in handy when navigating the platform and generating online courses. As usual, the changes and improvements are organized by the experience it provides to the type of user using the platform: learners, instructors, administrators, operators, and developers. So let’s take a look at what these latest versions have to offer!
Without MFE – Default Pages and grading policies
The default course pages now have a standardized order to ensure consistency across all courses on the platform. However, instructors can create new custom tabs and order them according to their preferences.
Additionally, course authors will be able to set the new grading policies to set a minimum grade threshold of 99 (previously it could not be higher than 97).
Course Authoring Import Messaging & Validation
Although many course teams do not typically use this course import, educators are unable to continue course creation when it fails. In previous versions, occasional problems could occur when importing a new version of your course through Studio. Error messages did not easily identify the failure and made the process more tedious, as an administrator was needed to help troubleshoot. Now, educators will see specific error messages in the course import area of Studio. For developers, these errors are logged and can be exported to New Relic, Splunk, etc.
a. Uploading Errors
- File Chunk Missed During Upload – When a course import file (tar.gz) exceeds 20 MB, it is split into equal chunks and uploaded to the server. Due to our server configuration, it is possible for a chunk to be missed, which could cause the course import to fail while merging on the server.
- File Chunk Failed To Upload Error – This error occurs when a file chunk has been lost during the upload process. Because of this, the file becomes corrupted and cannot be processed.
- Incompatible File – It occurs if a user accidentally tries to upload an incompatible file. This check also exists in the frontend.
b. Unpacking Errors
- Invalid User – Triggered if the provided user_id does not exist.
- Permission Denied – This error occurs if the user does not have the necessary permissions to perform the course import.
- Incompatible File – It appears if the archive to unpack is not in tar.gz format. This check verifies that the unpacking process is not executed if the file is not in a valid format.
- File Not Found – If the uploaded archive is not available in the vault or has been deleted, the error will appear.
- Unsafe Tar File – This is a system-level error that occurs when the tar archive attempts to unpack to the root where it does not have permissions.
- Unknown Exception – There may be unknown events that occur during the course import, for those more information will be logged in the system logs, but there is no clear and useful error for the user.
c. Verify Stage
- Verify Root Name – The root name for a course import is course.xml and for a library it’s library.xml. If that file does not exist, then this error is thrown.
d. Updating Errors
Errors may occur after XML validation and during data updates in the course.
- Error while parsing asset XML – Error while parsing assets.xml
- Duplicate CourseID – Aborting import because a course with this id already exists.
- Module Import Error – A course module was not imported correctly.
- Proctoring Provider Error – This error is raised when a courserun.xml file contains an attribute proctoring_provider e.g. proctoring_provider=”proctortrack“ and that provider is not available/enabled on the server.
Open – Response Assessments
In course creation, it is now possible to reuse an existing Open Response Assessment (ORA) rubric in a course when creating a new ORA in the same course. Using a block ID, you can now specify which rubric from the ORA you want to clone into another ORA within the same course.
How to do this is very simple:
- In Studio, go to Rubric and select the rubric you wish to clone. This is in the section of the edit modal for published and unpublished ORA.
- Select Clone Rubric, and copy the Block ID for that ORA.
- Next, proceed to create a new ORA or navigate to an existing ORA.
- Open the Rubric section of the edit modal.
- Paste the full block IS of the ORA you will clone. Or,
- Type some characters from that Block ID, and select it from the drop-down.
- Select Clone once the correct block ID is selected. All the existing rubric values will be replaced by the rubric values of the original ORA.
Additionally, with the new updates students can submit comments with a character limit extended to 1k characters, add a new button to edit an ORA in Studio and make submission comments full width.
Xblocks: LTI 1.3 and LTI Advantage Support
lti-consumer-xblock (also known as xblock-lti-consumer) has been updated to support LTI 1.3 as well as the Deep Linking (LTI-DL) and Assignments and Grades services (LTI-AGS) features of LTI Advantage. These features are now enabled by default. Information on configuring lti-consumer-xblock can be found here.
- Xblock – image – modal: The full-screen image tool is another way of enabling participants to see more detail in your provided images. This tool is useful for large images with lots of details. A re-sized version of the image displays on the page, but clicking on the image pops open a full-screen modal with the full-size version of the image.
- Xblock – in – video – quiz: This XBlock allows for edX components to be displayed to users inside of videos at specific time points.
- Xblock – lti – consumer: This XBlock implements the consumer side of the LTI specification enabling integration of third-party LTI provider tools.
- Annoto: This is an in-video collaboration solution that turns static, 1-way video Stream/VOD into an active and interactive group experience, where participants contribute, share and learn together. Users can lean forward and become participants and not just passive and lonely viewers, causing all users to be actively involved and return to the video content, sharing more ideas and creating more meaningful content. These interactive group experiences result in higher engagement and retention rates, and are supported by comprehensive analytics and insights that facilitate dramatic improvements to content, communications and measurable outcomes.
- PDF: Course component (Open edX XBlock) that provides an easy way to embed a PDF.
- Graph XBlock: This XBlock provides a new XBlock to content authors, enabling them to implement charts into their course, without a lot of hassle, and with a user interface to make the task as simple as it gets.
Currently, the charts provided are area, bar, column, pie, line, and scatter charts. The charts are populated from a table easily set up by the user and can contain values or sets, depending on the chart type.
Display of the charts themselves is powered by Google Charts, done in the colorful style of material design.
- SCORM XBlock: This is an XBlock to display SCORM content within the Open edX LMS and Studio. It will save student state and report scores to the progress tab of the course. Currently supports SCORM 1.2 and SCORM 2004 standard.
- Vector Drawing: For creating vector drawing exercises.
- H5P XBlock: H5P XBlock provides the ability to host and play H5P content in the open edX platform. It has few more features like: Ability to mark H5P content complete in the open edX platform, ablity to capture score of H5P content in the open edX environment, save learner state, which can be retrieved later, and the ability to host H5P content on cloud storage like AWS S3.
- Webhook – XBlock: This repository provides an X-Block that triggers a webhook by sending a payload with basic information about the course and student to a configurable URL.
The XBlock can be set in three modes:
– Send the payload every time the user visits the course unit.
– Send the payload only the first time the user visits the course unit (default mode).
– Allow the student to send the request by clicking on a button.
Finally, support for Gradebook MFE (micro frontend) has been added, including custom theming and compatible translations in right-to-left languages such as Arabic or Hebrew.
Without MFE – Password Complexity
There are new complexity requirements for passwords, which are PCI-compliant. For more information, see this.
- It’s now possible to add optional fields to the registrations form that are always visible, and do not require the user to click the checkbox “Support education research by providing additional information.” Use the new optional-exposed setting in the REGISTRATION_EXTRA_FIELDS setting.
- Added an activation opt in checkbox to the registration form (default checked) so the user can agree to receive marketing messages. The field marketing_emails_opt_in is now enabled by default in the RE.
Bulk Course Email Tool
First, the ability to filter the recipients of mass mailings was added in order to segment according to the purpose of the communication. This feature can be enabled by setting a value for the BULK_COURSE_EMAIL_LAST_LOGIN_ELIGIBILITY_PERIOD setting. Its value should be an integer (representing months) that represents the eligibility period from the current date to receive a message. In the same way, a simple bulk_email_disabledcourse table has been added that allows disabling the bulk email tool for specific course executions, so they will not be able to see the bulk email tab in the instructor’s panel.
On the other hand, it is now possible to send e-mails using the user ID instead of the e-mail address. The setting EMAIL_USE_DEFAULT_FROM_FOR_BULK was changed to EMAIL_USE_COURSE_ID_FROM_FOR_BULK. Previously, it was possible for a “from” address built from a course ID to not exist and fail. Now, those who wish to do so, can do so by setting the flag to true.
With MFE – User Tours
These are user walkthroughs that aim to demonstrate to the students the sections they must take into account in the platform in order to successfully complete their courses.
By default there are three tours designed:
- “Course Home New User Tour”
- “Course Home Existing User Tour”
- “Courseware New User Tour”
Its purpose is to allow the student to anticipate and be focused on the most relevant moments of their course journey. There, learners can see the overall course structure with its most important dates such as exam day, assignment submissions, and program completion.
Weekly Course Goals
This update aims to contribute to learner success through the ability to plan and have clarity on their expected performance. It is also possible for students to subscribe to weekly emails containing this information.
To use it, on the right side of the course home page, there is a widget that allows them to select a weekly learning goal.
Course Progress Page
The course progress page has been revamped and now provides learners with a visual understanding of their progress through the content, with grades broken down and accumulated, a summary of their performance on different types of assignments, and additional links to support course development.
Proctored exams are also possible in Nutmeg, but now the student must be enrolled in the course. For this, identity verification (IDV) is not required.
Maple and Nutmeg added support for custom xBlock editors in Studio, an API to update the user’s email subscription settings, and a new feature in Django plugins to return context for the Instructor Dashboard template.
- Django 3.2 We upgraded Django to version 3.2, the next LTS (long term support) release. More details are available here.
- ElasticSearch 7.10 We upgraded all IDAs, using ElasticSearch (edx-platform, Blockstore, discovery, notes, analytics-api, cs-c comments-service) to ElasticSearch 7.10.
- Mongo 4.2 MongoDB version 4.0 is end of life in April 2022. We upgraded all IDAs, using Mongo 4.0 (edx-platform, cs-comments) to Mongo version 4.2. More details here.
- Kernel extensibility: we have added a new way to extend the core through Open edX Events & Filters. You can check it here.
- Open edX Events: which allows you to extend the functionality by listening for the event that is sent after a key process finishes, e.g. after registration, login, signup, etc.
- Open edX Filters: it is possible to set a list of functions to be executed before a key process starts, e.g. before registration, login, logon, registration, etc.
Each update brings new tools and also removes tools that no longer provide adequate benefits. Below, we confirm the tools that will be removed with this update:
OPPIA: a tool for creating short interactive tutorials (called ‘explorations’) that try to simulate a conversation with a human tutor. This functionality could be replaced with a H5P tool that includes different interactive ways to show content.
Let’s keep working together for the future of education! Sponsor the Open edX Conference to help support our ongoing research initiatives in online education: https://con.openedx.org/
763 total views
Very instructive article showing really how Open edX is rapidly improving.
Quick notes about what’s new to me:
A question about dependency upgrades: