A closer look at edX xBlocks

What are X-blocks ?

X-blocks are modular-components of edX courseware that can be used to extend a course’s basic capabilities with advanced and interactive learning experiences.

These xBlock components or plugins add different functionality to the course content and structure so the audience gets more than the traditional text with Q&A experience.

For example, in a chemistry tutorial the structure of a chemical bond  can be displayed by adding a 3D viewer X-block which makes it a more rich and engaging experience for the user.

Why X-blocks?

One of the biggest benefits of xBlocks is that they can be easily shared or included in a particular course structure. If someone needs to convey a concept with the help of a 3d animation, they can simply include that xBlock in their course, and use it to create 3D learning experiences.

xBlock’s code is packaged in a modular way that it can easily be deployed by any open edX instance looking to add the same functionality.                                                                                                        

“Reality Check”

While there are many xBlocks out there, we found that only a handful get the most usage and adoption.We looked at recent source code commit activity and adoption of these xBlocks, and found 5 xBlocks to be the most actively supported and widely used. While adoption(utility) was crucial and abstract evaluating factor, our criteria in terms of the last commit was as follows:

Very Active: Github commits within the past 4 months

Active: Github commits within the past year but not in the  past 4 months

Moderate: No Github commits in the past year

Note: Github commits indicate code changes made by developers on the master codebase


We list and describe these xBlocks below, which may help as you implement your course plan, or find replacements for some old xBlocks through the process.

The 5 most useful X-blocks 

Adventure xBlock (Very Active)- This is a “Choose your own adventure” kind of simulation where the user faces a branching of sequential steps as a result of the selected options. Components like HTML,video are a plus but the “keep the user busy at their level of engagement and selection” model gives it a large following.

Problem Builder xBlock (Very Active)- This has the largest scope of utility because most course creators want to test the students to gauge not only how well they are doing but also to evaluate how well they have performed with the contents and structure of the course. It provides variety of questions types e.g. Multiple Response Questions and many others making it the most needed X-block usable across any topic of courseware.

Drag and Drop V2 xBlock (Very Active)- The name suggests the concept behind it but the some of the added functionalities like feedback pop-ups for both correct and incorrect answers and initial feedback are quite compelling bringing intuitive user experiences to courseware.

Google drive and Calendar xBlock (Active)Google is at the forefront of leveraging the cloud for applications, with the most common work applications (word processor, spreadsheets, presentations, file storage etc) now shareable online through Google drive. This xBlock delivers these capabilities directly on the EDX platform. Besides documents, this xBlock also helps integrate Google Calendar allowing users to keep track of important course dates and deadlines.

Animation X-block (Active)- It provides a more engaging experience by combinations of text and images and usually the user has click through the animation by the use of the slider and also that they can regulate the pace of learning it.


Moderately used xBlock with limited user-base and have some room for improvement.

Mathematica xBlock (Moderate) This xBlock is used to visualize cdf files in edX, which means we can view interactive graphs and other elements where visual data is loaded on demand. This is not a widely accepted format so it does not have a large user base.

Flash xBlock (Moderate) Online experiences and ads are increasingly being replaced by mobile equivalents and there is rapid growth of mobiles video and applications, and HTML5 is replacing flash on web and mobile. Thus the user base for flash perceptively may deplete in the near future. Mobile education is also an important aspect of open edX, hence the need to look beyond flash. The usage of this X-block is in question and it probably needs a life-boat with an HTML5 sticker on it.

Acid xBlock (Moderate)- This xBlock tests the implementation of the runtime of the xBlocks which means you need to deploy this xBlock explicitly to test on the other xBlocks deployed. Making it an embedded functionality would make it much more usable.

Audio xBlock (Active)- Audio components in courseware have limited use when other simulation and interactive engagements are possible in the environment. In the consumer world we see more interesting uses of audio e.g. the Dubsmash app which allows for interactive audio experiences.  Similar integrated audio experience should in theory improve learning outcomes, but in its current form the Audio xBlock does not offer this. There is a potential opportunity for this xBlock or any others to fill this void in the edX world.


Promising but not yet widely used xBlocks

SSH xBlock (Very Active) It can enable the Virtual-lab concept for online education. It basically allows the student to securely login to a remote machine from a web terminal via the SSH protocol.

Open Response Assessment xBlock (Very Active) With the masses getting online to benefit from the MOOC model,grading can become hard to manage for instructors. Self and peer assessments are ways to manage this, and the Open Response Assessment xBlock enables this.

Rating xBlock (Very Active)- This X-block will give an overall Youtube look to the video components present in the courseware. Except the share feature in Youtube rating and commenting is supported.

Problem Builder xBlock (Very Active)- As discussed earlier, this xBlock helps the instructor providing him bunch of options through he can assess the students in the course eg True or False, MCQ’s, MRQ’s and so on. We can expect several enhancements over the next few months to this xBlock as educators come up with new techniques to teach and assess students via mobile and online delivery of courseware.


Want to learn more about xBlocks? Some useful resources:-

List and description of xBlocks: https://github.com/edx/edx-platform/wiki/List-of-XBlocks

xBlock Tutorial: https://open.edx.org/videos/open-edx-xblock-tutorial-and-demos

xBlock API Guide: http://xblock.readthedocs.org/en/latest/

One of our goals is to share our findings to support the community and create active dialog in this exciting space. We will keep sharing our latest discoveries and stay tuned for our next xBlock post “Innovative ways to customize xBlocks”.


Open edX Cypress is here!

The new Open edX Cypress Release brings several new enhancements across certification, learner profiles, cohorts and a lot more.  Here’s an overview of new features available.


Learners can now use badges as a way to share their achievements of the Open edX

courses they have completed. Enable badges to allow learners to show off their

accomplishments when they receive their certificates.


Course teams now create and manage cohorts on the Instructor Dashboard in the LMS,

instead of on the Advanced Settings page in Studio. Course teams can use the new

Cohorts page there to add and rename cohorts, change a cohort’s assignment method,

associate cohorts with content groups, and specify whether course­wide and

content­specific discussions are divided by cohort.

Course Certificates

You can now create one certificate configuration per course. This configuration serves

as the template for certificates issued for all of the enrollment tracks available for your

course (such as “honor code” or “verified”). Honor code certificates use the organization

logo and signatory information, but do not include signature images, which are used only

for verified certificates.

Course Search

Learners can now search much of the content of your Open edX courses, including the

course title, description, text, and video transcripts. Learners can search for a term in an

individual course, or for that term in all of the courses that the learner is enrolled in,

whether the course is active or archived.

When the search engine returns results, either for an individual course or across all

courses, you can select any search result to view that result in the courseware.

Creative Commons

Course teams can now specify either “All Rights Reserved” or a Creative Commons

license for a course. Course teams can also select different license options for each


Custom Courses

Course teams can create a custom course experience (CCX) to reuse course content.

By using a CCX, course teams can run some or all of an existing course for a group of

students on a new schedule.

Grade Report Enhancements

The grade report now includes new columns with certificate status and enrollment track

information. When course teams generate the grade report from the Instructor

Dashboard, they can see the following additional information for each learner.

● Enrollment track, to identify the learner’s enrollment mode as honor, verified, or

professional education.

● Verification status, to identify learners in the verified or professional track who

have completed identity verification with edX.

● Certificate eligibility status, to identify learners who have earned the passing

grade in the course at the time of the grade report generation.

● Certificate delivery status, to identify learners who have received their


● The type of certificate, for learners who are eligible to receive a certificate.

Feedback and Hints in Common Problems

Course teams can now add feedback, hints, or both to the following problem types.

● Checkbox

● Dropdown

● Multiple choice

● Numerical input

● Text input

In Studio, course teams can use new templates to add sample problems that use the

feedback and hint syntax.

HTML Spell Check in Studio

When you edit an HTML component in Studio, an automated spell checker indicates any

misspelled words. The spell checker automatically uses the dictionary that is set for your


Learner Profiles

With the new Open edX Learner Profile feature, course teams and learners can share

information about themselves with the community. The profile can include an image that

identifies the user on the Open edX site as well as the user’s location and other

biographical information. Course teams and other learners in the course can view others’


LTI Provider

New options that leverage learning tools interoperability (LTI) are available in this


Previously, course teams could use Studio as a tool consumer: course teams could set

up an LTI component to embed external tools, such as learning applications and

textbooks, into an edX course.

Now, course teams can identify content from their edX courses to embed with other

content on their campus systems. Teams can specify the course units, videos, and

graded and ungraded problems that already exist in an edX course for launch within a

campus LMS such as Blackboard or Canvas. Student scores for graded content are

transferred to the campus system.

Authentication between the campus system and the edX system that provides the

content can be configured either to anonymously provision students or to prompt for

account creation.

New Studio Templates

This release includes new templates for HTML and problem components. These

templates provide updated guidelines and examples, accessibility information, and links

to documentation.

Original Open Response Assessment Problems Deprecated

When you access a course that contains an open response assessment created using

the original version of this assignment type (ORA 1), Studio now displays the message,

“This course uses features that are no longer supported.”

A newer version of the open response assessments feature (ORA 2) was released over

a year ago, and the ability to add ORA 1 problems was removed from Studio in May


Poll and Survey Tools

Course teams can now include two new types of components in your courses.

● Use the Poll tool to pose a question to learners and have them select an answer

from a set list.

● Use the Survey tool to pose multiple questions to learners and have them select

an answer for each question from a set list.

When polls and surveys are included in a course, course teams can analyze the

responses and also choose whether to let learners see the aggregate answers for the


Problem Appearance Changes

To make the Open edX LMS easier to use on mobile devices, the appearance of

common problem types has changed. For example, a border surrounds options for

multiple choice and checkbox problems, and the entire area within the border is

selectable, making it easier for learners to select an option.

Problem Grade Report

For any course, course teams can now calculate grades for problems and generate a

report that can be downloaded from the Instructor Dashboard. This new report includes,

for each graded problem, a learner’s earned and possible points, and her total score,

expressed as a decimal.

Randomized Content Blocks

Course teams can now include a new type of component, a randomized content block, in

their courses. These components randomly draw problems from a predefined library of

components and present them to learners.

Course teams create and maintain libraries of components separately from courses. All

of an organization’s course teams can work collaboratively to develop the problems that

the libraries contain. Each library can then be referenced by randomized content blocks

in any of that organization’s courses.

Report of Not-Yet Enrolled Students

Course teams for invitation­only courses can now track enrollment status from the

Instructor Dashboard. The Data Download page of the Instructor Dashboard now

includes a downloadable report of learners who have been invited to enroll in a course,

but who have not yet done so.

Third Party Authentication

To enhance sign in options for your users, you can enable third party authentication

between institutional authentication systems and your implementation of Open edX. After

you enable third party authentication and integrate with SAML or OAuth2 identity

providers, users can register and sign in to your Open edX site with their campus or

institutional credentials.

Uploading ORA2 Files to Alternative Storage Systems

By default, the Open Response Assessment (ORA2) application stores files that learners

upload in an Amazon S3 bucket.

With the Cypress release, you can configure ORA2 to store files in an alternate system.

To have learners’ files stored in a system other than Amazon S3, you must complete the

following steps.

● Implement the BaseBackend class defined in the base.py file.

● For example, the S3.py file in the same directory is an implementation of

BaseBackend for Amazon S3. You must implement the equivalent class for the

storage system you intend to use.

● Configure ORA2 to use your alternative storage system by modifying the value of

backend_setting in init file to point to your implementation of BaseBackend.

● Add code to instantiate the new implementation to the get_backend() in the

init.py file.

● Configure ORA2 to use the alternative storage system by modifying the value of

ORA2_FILEUPLOAD_BACKEND in the Django settings to point to your

implementation of BaseBackend.

YouTube API 3.0 API Key

The Open edX Platform uses Version 3 of the YouTube API, which requires that the

application use an API key.

If you intend for courses on your Open edX instance to include videos that are hosted on

YouTube, you must get a YouTube API key and set the key in the Open edX Platform.

Embedded Files and Calendars

Courses can include files, such as documents, spreadsheets, and presentations, and a

calendar. Your course team uses Google to create and maintain these files and

calendars. They appear in the body of your course just like any other course content.

If your course includes a Google calendar, you see that calendar in the body of the

course. You can also add it to your own Google calendar.

REST API Changes

EdX has built and published documentation for the following REST APIs, which are

available in the Open edX Cypress release.

● Course Structure API Version 0

● User API Version 1.0

● Profile Images API Version 1.0

Accessibility Updates

In keeping with edX’s commitment to creating accessible content for everyone,

everywhere, the Open edX Cypress release contains several accessibility

enhancements in the Open edX LMS and discussions.

● Keyboard navigation in open response assessments has been improved by restoring

keyboard focus outline indicators.

● The LMS now has a region with a role of main and a descriptive aria­label allowing users

to quickly navigate to the main content area using landmarks.

● Several accessibility problems with numerical input problem types are now corrected.

● A current status of the problem is now conveyed to learners who use screen readers


● The workflow for checking how ASCII math is converted to MathML or MathJax format

has been streamlined for screen reader users.

● Nonessential information is no longer included in aria­live regions, which improves the

experience for screen reader users.

● Improvements to the accessibility of discussion posts for screen reader users are

included in this release.

● HTML iframe elements now show meaningful title attributes that describe the content

embedded in the IFrame.

● The main blue colors used throughout the LMS user interface were changed to meet

WCAG AA guidelines for contrast.

● The LMS now includes an aria­live region to contain HTML for problems.

● Submission buttons have been removed from the aria­live div scope.

● Several accessibility fixes have been implemented in the course header.

● An aria label has been added to the LMS footer.

● The main region in the Student dashboard now includes the role and aria­ label


● Navigation controls in the LMS now have aria­label attributes.

● Focus now changes directly to the content area after the user selects a link to a new

subsection or unit.

● Unit navigation links are reorganized into a single list. The arrow navigation is converted

from links to buttons and now includes the disabled attribute when appropriate.

● Labels to bypass blocks now use the industry standard text Skip to main content​.

● The current discussion conversation now receives focus and includes an accessible


● Discussions now include defined regions and landmarks for screen reader navigation.

The focus is on the discussion when a new topic is loaded, and changes to a new post

when it appears.