Open_edX开源项目架构文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Open edX Architecture
Open edX架构
Open edX is a web-based platform for creating,delivering,and analyzing online courses.It is the software that powers and many other online education sites.
Open edX是一个可以生成、发布、分析在线课程的基于web的平台。
该平台为等其他在线教育网站提供软件框架。
This page explains the current architecture of the platform at a high level,without getting into too many details.We also describe where we are actively working on making changes.
本文主要概括性的描述了Open edX现有技术架构,不包含更为细致的技术内容。同时,我们也描述了我们目前主要工作集中在何处。
Technologies
技术
Almost all of the server-side code in Open edX is in Python,with Django as the web application framework,using Mako templates.
平台服务端源代码主要基于Python编写,同时在Web应用层框架基于Django
框架下的Mako模版系统开发。
The browser-side code is written primarily in JavaScript.Some of the code is written
in CoffeeScript,and edX is working to replace that code with JavaScript.Parts of the client-side code use the Backbone.js framework,and edX is moving more of the codebase to use that framework.
系统前端主要基于JAVAScript编写。一些前端代码基于CoffeeScript编写,我们目前也正在致力于将CoffeScript部分用Backbone.js框架进行重写,同时计划将更多的代码库用Backbone.js进行替换。
Open EdX uses Sass and the Bourbon framework for CSS code.
Open edX使用Sass和Bourbon框架编写CSS代码。
图1.1Open edX-CMS-LMS系统技术架构图Components
组件
There are a handful of major components in the Open edX platform.Where possible,these communicate using stable,documented APIs.
这里介绍Open edX平台几大主要组件,和一些必要的已经稳定的功能API接口。Select the diagram to the right to view a larger image of the components of Open edX.
图1.1画出了Open edX平台的主要组件构成。
Learning Management System(LMS)
学习管理系统
The LMS is the most visible part of Open edX.Students take courses using the LMS.The LMS also provides instructor dashboards.
学习管理系统是Open edX平台面向用户可见的部分。学习者通过LMS系统进行学习。同时,LMS系统也向授课教师提供操作界面。
The LMS uses a number of data stores.Courses are stored in Mongo,with videos served from YouTube or Amazon S3.Per-student data is stored in MySQL.
LMS系统使用了一定数量的数据存储。课程存储在Mongo数据库中,视频源主要存放在YouTube和亚马逊云存储中,每个学习者的信息存在MySQL数据库中。
As students move through courses and interact with them,events are published to the analytics pipeline for collection,analysis,and reporting.
学习者直接学习课程的过程主要通过以上数据库进行记录,同时记录了发布事件、数据分析管道收集、分析和报告等功能。
Work is underway to enable the LMS to be an LTI provider so that Open edX courseware can be embedded into other learning environments.
LMS系统作为学习工具交换提供方底层系统,将Open edX平台的课件内容嵌入到学习环境中。
Studio
工作室组件
Studio is the course authoring environment.Course teams use it to create and update courses. Studio writes its courses to the same Mongo database that the LMS uses.
工作室组件式面向作者的应用环境。课程开发团队运用工作室组织机构创建、更新课程内容。
工作室组件和LMS系统使用同一个Mongo数据库存储课程数据。
Course Browsing
课程浏览组件
Open edX provides a simple front page for browsing courses.The site has a separate home page and course discovery site that is not open source.