This post was written by Braden MacDonald (CTO at OpenCraft) and Ned Batchelder (Software Architect at edX). This has also been posted by OpenCraft on the OpenCraft blog.
Congratulations to Harvard University’s Faculty of Arts and Sciences and the Amgen Foundation for the launch of LabXchange! LabXchange is an exciting new science education platform loaded with innovative features and content, and it’s now free and open to the public at LabXchange.org. Users will find a rich and ever-expanding collection of world-class learning assets, including videos, assessments, and simulations. One of the key features of the platform is that users can freely combine assets together to create their own “learning pathways.” These pathways can then be shared, remixed, studied, or assigned to learners.
Two years in the making, the LabXchange platform is powered by Open edX software and integrated with edX.org. This means that users can use a single account to learn on both LabXchange.org and edX.org, and the same LMS technology powers both sites. To make this platform possible, LabXchange has contributed several major new Open edX features such as Blockstore, Content Libraries version 2, a new XBlock Runtime, anonymous access, and a new visual assessment editor.
Both the LabXchange platform and these new Open edX features were primarily developed by OpenCraft, with substantial support from edX. This project has been possible because LabXchange, edX, and OpenCraft worked closely together and collaborated on every stage of the project from initial implementation planning through to development and launch. Even now that the platform is live, development is ongoing and new features are being added every week. If you want to learn more about how LabXchange was developed, we encourage you to attend this year’s Open edX conference in Lisbon in May where you can hear from the people that worked on it.
Here’s an overview of some of the Open edX features that LabXchange is using:
Single Sign On – your edX.org account is also a LabXchange account. Users can sign in to LabXchange in much the same way as instructors can use their Open edX LMS user account to sign in to the edX Analytics Dashboard. This was implemented using the auth-backends plugin, which allows any Django-based application to share user accounts with an Open edX instance.
XBlocks – Each piece of content on the LabXchange site, such as a video or interactive simulation, is an XBlock, just like each component of an edX course. Most of the XBlocks used for LabXchange are identical to the versions used to build courses on edX.org, although many have a stylesheet applied to match the visual style of the LabXchange site. A few unique XBlocks are used for new content types unique to LabXchange, such as case studies or interactive simulations.
Blockstore – Blockstore is the next-generation content storage system for the Open edX platform, designed to replace the previous “modulestore” and “contentstore” systems that store data in MongoDB. Blockstore is versioned, scalable, format-agnostic, and file-based. That means that it provides a consistent foundation layer that can store video assets, XBlock definitions (OLX), metadata/tags, courses, and other things we haven’t yet thought of. Blockstore is designed to be able to hold terabytes of such data without losing performance. It’s also deliberately simple, creating a platform that developers can use to build experimental Open edX features and plugins much more easily than ever before.
Content Libraries v2 and XBlock Runtime v2 – Each learning asset (XBlock) on LabXchange is stored in an Open edX content library, using the new “version 2” of the content libraries feature, which is built using a new XBlock runtime and stores content on Blockstore. These new features make it possible for learners to view and learn from assets in a content library directly, without needing to first import the XBlocks into a course. The new XBlock runtime introduces the concept of “Learning Context” to the Open edX platform, where a learning context can be a course, a content library, a LabXchange pathway, a blog post, an admissions test, or any other virtual place where learning can happen.
Using the LabXchange site, educators can search these content libraries to find content and assemble learning assets (XBlocks) into new learning pathways.
Visual Assessment Editor – LabXchange uses the same “Problem” component that Open edX courses use, but if you view, create, or edit a problem on LabXchange you might find that it looks quite different than you’re used to! LabXchange uses a new visual style for problems designed to simplify both learning and authoring. In particular, the new visual editor allows instructors to author problems without having to write markdown/XML code, using an intuitive authoring UI that was designed by LabXchange and implemented by RacoonGang. The new visual authoring UI will be available to all in a future version of Open edX Studio as an optional alternative to the current editors.
Anonymous Access – Users can use many features of LabXchange without needing to register an account, including viewing and interacting with learning assets (XBlocks). Up until this point, users could not view interactive Open edX content (such as problem components) without both registering an account and enrolling in a course. Now, the new XBlock runtime has been designed from the start to be able to support so-called “anonymous” (not logged in) users, and allow them to interact with almost any type of XBlock. In the future, course authors who opt-in to this feature will be able to make a portion of their course available for users to sample before they enroll, and provide a more complete preview experience than is possible today.
We’re excited about the technical advances in LabXchange, and about the collaboration that created it. Open source software, and the distributed working groups it enables, will let us continue to develop and extend the Open edX platform as the best online learning environment. We’re looking forward to more innovation in the future!