Installing and Deploying an Open edX Instance: A View from Developer and Author McDaniel

“The edX project has enjoyed rapid international adoption, due in no small measure to how well the software works,” has concluded Mexico-based developer and author Lawrence McDaniel on a well-written introductory article about this ecosystem posted at OpenSource.com.

This is a summary of Lawrence McDaniel‘s  main points:

  • Now in its seventh major release, the Open edX software has powered more than 8,000 original courses and 50 million course enrollments. (…) The Open edX platform is used by many of the world’s premier educational institutions as well as private sector companies, public sector institutions, NGOs, non-profits, and educational technology startups, and the project’s global community of service providers continues to make the platform accessible to ever-smaller organizations. If you plan to create and offer educational content to a broad audience, you should consider using the Open edX platform.

  • You can install the platform yourself with on-premise equipment or by leveraging any of the industry-leading cloud infrastructure service providers. (…) You can think of the CMS as a “Wordpress” of course content creation and management, and the LMS as a “Magento” of course marketing, distribution, and consumption.

  • The Open edX platform GitHub repository contains performant, production-ready code that is suitable for organizations of all sizes. Thousands of programmers from hundreds of institutions regularly contribute to the edX repositories, and the platform is a veritable case study on how to build and manage a complex enterprise application the right way.

  • Open edX is extensible via its XBlock component architecture, so your instructors will have the potential to turn good course content into great course content with incremental effort on their parts and yours. (…)  The platform works well in a single-server environment, and it is highly modular, making it nearly infinitely horizontally scalable. It is a theme-able, localizable, and completely open source, providing limitless possibilities to tailor the appearance and functionality of the platform to your needs. The platform runs reliably as an on-premise installation on your own equipment.

  • A handful of the edX software modules are not included in the default installation and that these modules are often on the requirements lists of organizations. Namely, the Analytics module, the e-commerce module, and the Notes/Annotations course feature are not part of the default platform installation, and each of these individually is a non-trivial installation. Additionally, you’re entirely on your own with regard to data backup-restore and system administration in general. Fortunately, there’s a growing body of community-sourced documentation and how-to articles, all searchable via Google and Bing, to help make your installation production-ready.

  • Setting up oAuth and SSL/TLS as well as getting the platform’s REST API up and running can be challenging, depending on your skill level, even though these are all well-documented procedures. Additionally, some organizations require that MySQL and/or MongoDB databases be managed in an existing centralized environment, and if this is your situation, you’ll also need to work through the process of hiving these services out of the default platform installation.

  • Poking around in an Open edX platform installation is a real thrill, and architecturally speaking, the project is a masterpiece. The application modules are Django apps that leverage a plethora of the open source community’s premier projects, including Ubuntu, MySQL, MongoDB, RabbitMQ, Elasticsearch, Hadoop, and others. (…) The platform’s UI is in flux, with the aim of eventually standardizing on React and Bootstrap. Meanwhile, you’ll find multiple approaches to implementing styling for the base theme, and this can get confusing.


Other articles by Lawrence McDaniel: