DCAS Open EdX Documentation

DCAS Open EdX Documentation

  • Docs

›Scaling the architecture

Creating a Course

  • Create a New Online Course
  • Set Course Schedule & Details
  • Add Sections, Subsections & Units
  • Managing Unit and Component
  • Adding Videos
  • Adding HTML
  • Adding Discussions
  • Adding Problems

    • Adding Problems
    • Problem Types
    • Drag and Drop
    • Pointing on a picture
  • Adding Images and Figures
  • Uploading Static Content
  • Course Visibility
  • Creating pages
  • Grading
  • Commonly Used Advanced Settings

Running a Course

  • Managing Certificates
  • Common Instructor Dashboard Tasks
  • Managing Course Discussions

Advanced Management

  • Importing / Exporting Courses
  • Change a user’s password
  • Inactivate / Activate a User
  • Understanding User Roles
  • Set a user to staff or superuser
  • Server Tasks

    • SSH into Server
    • Set or Change a Password

Migration

  • Migrate EdX (Single-Server)
  • Migrate the Theme

Migrate MySQL

  • Migrating MySQL Database off of Single-Server

Migrate Mongo

  • Migrating Mongo Database off of Single-Server

Configuration

  • Enable and Update Additional Languages
  • Enable Downloads from Instructor tab in LMS
  • Configure and Enable Certificate
  • Configure Open Response Assessment

Configure Ecommerce

  • Basic Ecommerce Setup
  • Setup JWT Keys
  • Getting Course Details on Checkout Page
  • Troubleshoot Ecommerce

Discovery Setup

  • Configure Discovery

Comprehensive theming

  • Setup Comprehensive Theming

Microsites

  • Setup Microsites
  • Common Microsite Configurations

API

  • Setup API
  • Common APIs Demonstration
  • Customizing an API
  • DCAS API Handoff for LMS

Xblock

  • Xblock introduction
  • Xblock installation and uninstallation
  • Xblock Development

Scaling the architecture

  • Scaling Mongo
  • Scaling MySQL
  • Dedicated Storage Configuration Outline
  • Azure Storage Configuration

    • Azure Storage Configuration
    • Basic Configuration
    • Private Blob Configuration

SCORM

  • SCORM Azure Storage

Trouble-Shooting

  • Forgot admin username or password
  • Server error
  • Can't reach your site
  • Problems with RabbitMQ
  • Can't login to LMS or CMS
  • Locate the error
  • Jobs are stucking
  • Mongodb not working
  • Forums Breaking Issue
  • Check open edx services status
  • Problem with mysql
  • Can't receive email
  • CSRF token error

Dedicated Storage Configuration Outline

When Open Edx has installed, it has a default configuration of storing user related data files on the local filesystem. The local filesystem stores the data files on the instance/machine itself and occupies instance storage. These data files will be gathered from profile images, ORA uploads and Grades reports. As the data grows, it becomes less efficient to store on the local filesystem. One prominent solution is to use dedicated storage, also termed as object storage (eg: AWS S3, Azure blob).

Another use case of using dedicated storage is when you horizontally scale your application server / Open Edx instance to meet the needs to increase traffic. The approach of horizontal scaling is called auto-scaling and then distributes the traffic between multiple instances using Load balancer. So, storing data files on a single instance is not suitable. Instead, in this scenario we will use a centralized approach which can be achieved through dedicated storage.

Dedicated storage backend

The data files mainly stored on either staticfiles or media directory located in /edx/var/edxapp. To store it onto dedicated storage, a backend storage class need to be implemented. By default, Open Edx uses FileSystemStorage to store into local filesystem. Some of the class has already defined in django-storage package (eg: S3BotoStorage) and is inherited to override the default behaviour. Once the class is inherited, it will redefine the methods of the storing and retrieving files. The derived backend class thus created will be configured in environment files of the Open Edx repository (lms.env.json and cms.env.json).

For profile images, ORA uploads and Grades reports, you will need to work on their code to make compatibility with the derived backend class. Also the backend class will be dependent on third party libraries (for eg: AWS S3 uses boto) so version mismatch will be an issue to consider.

What assets rely on static storage?

  • Profile Images
  • Video Transcripts
  • Course Exports (.tar.gzip files)
  • Self-Graded Assessment Uploads
  • ORA Uploads
  • Data Downloads (e.g. Grade Report, Student Profile Data)
  • Theming-related static files
← Scaling MySQLAzure Storage Configuration →
  • Dedicated storage backend
  • What assets rely on static storage?
DCAS Open EdX Documentation
Docs
Create an Online Course
More
Curricu.me Website
Copyright © 2022 DCAS