Open edX Cypress完整汉化语言包

感谢@hhf及@Abbeville的辛勤工作。

下载翻译

1.切换至edxapp账户并加载环境变量
sudo -u edxapp bash
source /edx/app/edxapp/edxapp_env

2.删除现有语言包并上传新语言包
cd /edx/app/edxapp/edx-platform/conf/locale/zh_CN/LC_MESSAGES/
rm *
wget http://mirrors.edustack.org/LC_MESSAGES/django.po
wget http://mirrors.edustack.org/LC_MESSAGES/djangojs.po

3.执行翻译
cd /edx/app/edxapp/edx-platform
paver i18n_fastgenerate

4.退出edxapp账户并重启edxapp
exit
sudo /edx/bin/supervisorctl restart edxapp:

修改翻译

1.切换至edxapp账户并加载环境变量
sudo -u edxapp bash
source /edx/app/edxapp/edxapp_env

2.编辑django.po 或djangojs.po
vi django.po
vi djangojs.po
修改要更改的内容,保存退出。

3.执行翻译并重启edxapp
cd /edx/app/edxapp/edx-platform
paver i18n_fastgenerate
exit
sudo /edx/bin/supervisorctl restart edxapp:

在内部网络为edX配置视频服务

在部署使用Open edX的过程中,一个普遍的问题是:视频放在哪儿?

Open edX本身并不是设计来存储视频的。edX本质上提供了一套学习工具和学习过程,而一些比较专业化的资源是置于外部的,比如视频以及机器学习、自动评分等等。

CMS中有提供文件上传功能。如果你的edX仅仅是提供给少数人用的,你也可以把视频放到这里,并在视频模块中输入相应的链接。你需要考虑的是edX主机的空间是否足够存储视频;视频播放带来的cpu内存损耗能否能让edX代码正常的运行;edX主机的网络带宽能支持播放多少并发?

在公网上的edX可以直接购买视频云服务,例如腾讯云、阿里云等。服务商保证了视频的可用性和播放速度,也不会对edX主机的性能造成影响。还可以根据视频的需求扩展资源。如果不想在视频投入成本,也可以使用@wwj的优酷视频Xblock。当然,会有优酷广告(没有免费的午餐)。

场景

有几种场景需要搭建内网视频服务器来配合edX:

  • 内网是和外网隔离的,用户不能使用外网视频云。
  • 内网和外网链接的速度有限,而且内网有足够的计算存储资源用来存储视频。
  • 只希望视频资源在内网可访问。

一般这种场景出现在教育机构和大型企业中。此时应该搭建专门的视频服务器。

选择视频格式

目前最常见的视频播放格式就是FLV和MP4。对应的有flash播放器以及HTML5播放器。

由于flash播放器的兼容性以及未来flash技术的前景,不建议选择这种格式。

目前HTML5播放技术比较成熟,但仍存在一些兼容问题,具体可见 http://www.jwplayer.com/html5/

根据上面链接的资料,H264格式是受支持最广的,所以一般应该用这个格式来编码课程视频。

视频版权保护DRM方面,可见这个讨论 http://stackoverflow.com/questions/2983555/is-there-a-way-to-use-drm-on-html5-video,W3C已经提出了EME(Encrypted Media Extensions)标准,并已经得到支持。不过目前还并不能在HTML5中很方便的进行视频版权保护。

搭建视频服务器

比较简单的方案,自行搭建Nginx来提供视频播放。

Nginx中有一些和视频相关的模块:

http://nginx.org/en/docs/http/ngx_http_flv_module.html

The ngx_http_flv_module module provides pseudo-streaming server-side support for Flash Video (FLV) files.

It handles requests with the start argument in the request URI’s query string specially, by sending back the contents of a file starting from the requested byte offset and with the prepended FLV header.

http://nginx.org/en/docs/http/ngx_http_mp4_module.html

The ngx_http_mp4_module module provides pseudo-streaming server-side support for MP4 files. Such files typically have the .mp4, .m4v, or .m4a filename extensions.

Pseudo-streaming works in alliance with a compatible Flash player. The player sends an HTTP request to the server with the start time specified in the query string argument (named simply start and specified in seconds), and the server responds with the stream such that its start position corresponds to the requested time, for example:

http://nginx.org/en/docs/http/ngx_http_hls_module.html

The ngx_http_hls_module module provides HTTP Live Streaming (HLS) server-side support for MP4 and MOV media files. Such files typically have the .mp4, .m4v, .m4a, .mov, or .qt filename extensions. The module supports H.264 video codec, AAC and MP3 audio codecs.

可见ngx_http_flv_module和ngx_http_mp4_module都是为了flash播放器而准备的,主要都是提供了视频定位的功能,让flash播放器可以直接定位到视频中的时间点,根据指定的参数start。所以这两个模块如果不用flash播放器就无需安装。其中pseudo-streaming是一种伪流技术,实现了服务器端和flash播放器之间的通信。

ngx_http_hls_module提供了对于HLS的支持。HLS是苹果定义的一个基于HTTP的流媒体传输协议,可实现流媒体的直播和点播。如不打算用HLS对课件进行编码,这个模块也可以不装。

那么不安装附加的组件是否就不可以在HTML5播放器对视频进行时间定位?W3C有一个标准Media Fragments URI http://www.w3.org/TR/media-frags/,可以实现浏览器传递时间参数。可以在浏览器输入 课程视频来测试。在视频后面加入不同的参数:

http://cdn.cs50.net/2014/fall/lectures/0/w/week0w-360p.mp4#t=1000

http://cdn.cs50.net/2014/fall/lectures/0/w/week0w-360p.mp4#t=2000

这里http://jsfiddle.net/s6dkZ/也展示了使用js来定位视频时间的方式。

视频集群负载均衡

对于一个机构内部的在线课程视频服务,需要经过计算来确定视频集群的数量。这里给出一个比较粗放的计算方法。

首先确定用户数量。这里有几个概念:总用户数/在线用户数/并发数。例如一个学校内部有10000个学生用户,在线用户可能为1000人,同时并发观看视频的有200人。具体的数量关系目前并没有统计数据,需要经过调查及观察,在不同时间段还会有不同的峰值,比如晚上学生下课后观看人数比白天会多得多。

其次确定视频的码率,几种常见的码率:
流畅:码率—256kbps,分辨率—480*360,俗称360P
高清:码率—512kbps,分辨率—640*480,俗称480P
超清:码率—1024kbps,分辨率—1280*720,俗称720P

以720p为例,同时并发200人,并发流量为200*1024kbps=204800kbps=204mbps。再综合考虑服务器磁盘性能和网卡性能,对应交换机的性能,估算出需要什么规模的视频集群。

nginx视频负载均衡 http://nginx.org/en/docs/http/load_balancing.html

 

Open edX的生产环境性能和架构

github wiki有一篇文档说明了edx.org的架构https://github.com/edx/configuration/wiki/Hosting-edX-in-Production

edX.org 部署

EdX.org 通过AWS cloudformation部署在EC2。你可以看到cloudformation的摸板https://github.com/edx/configuration/blob/master/cloudformation_templates/edx-reference-architecture.json.

在2015-02-18的时候,部署大概是这样的:

几个名词:

ELB Elastic Load Balancing  http://aws.amazon.com/cn/elasticloadbalancing/

实例类型 http://aws.amazon.com/cn/ec2/instance-types/

EdXApp Servers (10 c3.4xlarge instances)

  • edxapp.yml
  • 1 external ELB hosting courses.edx.org

Forum Servers (2 m1.large instances)

  • forum.yml
  • 1 internal ELB hosting prod-edx-forum.edx.org

CommonCluster Servers (3 m3.large instances)

  • commoncluster.yml
  • 4 internal ELBs hosting
    • ElasticSearch
    • RabbitMQ
    • XQueue
    • XQueue internal

Worker Servers (2 m2.4xlarge instances)

xqwatcher Servers (2 m3.medium instances)

Insights Servers (2 m3.medium instances)

Certificates Servers (1 m3.medium instance)

MongoDB Hosted via Compose.io

MySQL Hosted via AWS RDS (Multi-AZ deployment of size db.m2.4xlarge)

  • Can also be deployed using a cluster of any mysql compatible database server.

Misc

  • Various legacy graders
  • Analytics related servers
  • Admin & Monitoring servers

可以看到的大概分割思路是这样的

  • edXAPP,包含LMS/CMS
  • 论坛
  • 一般节点,包含rabbitMQ/Xqueue
  • Worker,后端进程
  • xqwatcher,外部分析
  • Insight,数据分析
  • Certs,证书组件
  • MonogoDB节点
  • Mysql节点
  • 其他,如管理监控

微软发布新的Insert / Embed File XBlock

https://msopentech.com/blog/2015/06/26/open-edx-office-365/,微软在Office Mix XBlock之后,发布了新的Insert / Embed File XBlock。

最初微软是打算将Open edX和Office365进行整合,然后最终却开发出一个整合各种Public URL的文件共享Xblock。这个Xblock允许课程作者嵌入一个文件服务提供商的链接,目前已经测试的包括Box, Dropbox, Google docs, Office Mix, OneDrive, Slideshare, Soundcloud, TED, YouTube等。这里有完整的列表https://github.com/MSOpenTech/xblock-filestorage/blob/master/README.md

可以通过https://github.com/MSOpenTech/xblock-filestorage来了解更多情况和安装。

同时,Cypress版本也增加了对Office365的单点登录支持。这个支持是由 OpenCraft 的 Braden MacDonald 所贡献。

2015年Open edX会议内容介绍

Keynote

Mitch Resnick

教育家,技术专家和Scratch的开发者。

演讲主题为“给普通人的一个机会:通过项目、同伴、激情、娱乐来培养创新”。

在这份报告中,我将讨论帮助学生发展为创造性思想家的策略,基于项目、同伴、激情、娱乐的框架。我将借鉴的例子包括我在麻省理工学院媒体实验室研究小组组织的两个项目:Scratch网上社区(scratch.mit.edu)和学习创造性学习在线课程。

Jeff Jaffe

Jeff Jaffe,万维网联盟(W3C)的首席执行官。

演讲主题为“推动采纳开放网络标准”。

万维网联盟(W3C)在超过20年前由Web的发明者Tim Berners-Lee创建,确保万维网的长期增长。在他的主题演讲中,Jeff博士将说明为什么开放的网络标准对于网络的成功、使网络成为共享知识的自由,开放和无障碍环境是至关重要的。已被使用的一种机制,是直接从W3C提供这些标准的教育。这已经成为一个路径,从W3DevCampus培训计划扩大到了非常成功的推出了W3C在EDX的课程“从W3C了解HTML5”的X系列课程。


Speakers

部署和开发Open edX平台

  • OpenStack和edX  / Adolfo Brandes and Florian Haas

在OpenStack中运行Open edX,在实验室环境中按需提供给学生使用。https://open.edx.org/blog/spotlight-adolfo-brandes-and-florian-haas

  • UQx澳大利亚昆士兰大学的务实发展课程 /  Andrew Dekker and John Zornig

讨论UQx团队在过去18个月所进行的开发,包括edX平台的实际限制、如何在平台内开发新的工具、如何利用这个平台创造最好的体验。我们将详细介绍开发解决方案的技术和工艺并提出建议。

  • Life in the Avant-Garde /  Regis Behmo

我们遵循edX的主分支,另一方面我们的基础设施有很大的不同,特别是用于存储。我们如何设法跟上上游分支,同时保持我们的理智?在这次演讲中,我们将介绍我们的内部部署过程中的技巧。

  • 在飞行的时候建造飞机 – 迁移现有MOOC到EDX  / Mike Bifulco, Andrew Miller, Jeremy Osborn, and Michael Bingham-Hawk

在过去的一年中,Aquent公司的设计师MOOC平台Gymnasium已由第三方的SaaS平台迁移到Open  edX。在这次演讲中,我们将讨论我们的迁移 – 包括需求收集,主题和edX的定制,数以千计的现有学生档案的迁移,创造edX课程,建立生产部署环境,托管合作伙伴的生命周期。

  • 配置入门 / Feanil Patel

Open edX使用ansible进行配置管理。本演讲介绍配置仓库的概述,介绍我们ansible角色的布局和组织,对如何使用它们的一些例子。

  • 向 Open edX贡献代码 / Xavier Antoviaque and Sarina Canelake

本演讲将介绍贡献代码的过程,并提供一些范例。

  • Open edX与校园系统的整合 / Beth Porter, Braden MacDonald, and Phil MacGachey

Open edX平台的两个主要优点在于支持互操作的校园系统,即机构身份提供者和学习管理系统。通过使用SAML(Security Assertion Markup Language)和Shibboleth我们现在允许学生使用他们学校认证来登录Open edX。使用LTI(Learning Tools Interoperability),我们也允许教师平滑地融入Open edX教学内容到Canvas和Blackboard的课程。使用这些开放式的教育标准,我们加入了服务提供商的大型社区,在这里允许学习者使用在线学习资源来丰富自己的校园为基础的体验。在这次演讲中,我们将讨论这些平台方面的能力,以及用于设计,验证和实现功能的过程。

  • 为了可用性开发 / Mark Sadeki

edX致力于使Open edX平台成为一个完全可用的平台,这也是我们的目标,价值观,愿景和使命,使我们的合作伙伴和社区为每个人创造高质量的教育经验。edX可用协调员Mark Sadecki将谈论正在进行的努力,使平台符合WCAG 2.0 AA标准(以及这个的含义),并且还将指出Open edX贡献者可能会遇到常见的可访问性挑战的细节。

  • 组织最大的Open edX黑客马拉松+ 冠军: 在视频中嵌入练习的Xblock / Laurent David, Philippe Chiu, Elie Mietkiewicz, Arnaud Wijns, Hajar Mouradi

找出在#openedxhack所学到的, 在法国举办的第一届 Open edX 黑客马拉松, 也是有史以来最大的超过 180 个参与者。我们想鼓励人们组织更多的 Open edX 黑客马拉松来分享最佳实践。法国Open edX Hackathon 的获胜团队也会展示项目:使用Xblock在视频中嵌入问答题。


数据分析

ANALYSE: A learning analytics extension for Open edX

Pedro Jose Munoz Merino

This talk aims at presenting ANALYSE, a learning analytics tool developed for Open edX at Universidad Carlos III de Madrid. We will present the defined and implemented higher level indicators as transformation of low level data in ANALYSE as well as the correspondent visualizations. In addition, we will present ways of how to use ANALYSE by teachers and students in order to improve the learning process. You can find a video demo of ANALYSE on YouTube.

Digging through the data – MoocCzar

Andrew Dekker and John Zornig

This talk discusses the research data package that edX provides to partners, and how this data can be explored to learn more about the students taking our courses. To assist in this, we have developed a platform – MoocCzar, an open source project which helps edX teams uncover and disseminate data gathered from edX courses. The talk discusses the development and future of MoocCzar, and how this learning data can help influence future course design and development.

Analytics from edX

edX

EdX will present the current state and future roadmap of Insights. We will also highlight how the open community has contributed to its success and how you can too.

Real Time Analytics Using ELK

Felipe Montoya

This talk presents an application of the opensource ELK stack (Elasticsearch, Logstash and Kibana) to deliver actionable insights in real time from edX tracking log records.


Open edX实施中的课程

Leveraging Open Edx for Corporate Training

Cathy Herbert

Today’s corporate learner needs access to ondemand training delivered in easily consumable chunks – anytime, anywhere. They also need a forum to “talk to the instructor.” Open Edx provides the perfect platform for a blended training model which gives users what they need and better utilizes your training resources. (often product managers, or functional leaders). Targeted Sales Training for internal employees and partners – while traditional testing methods are effective, Edx gives us the ability to run “Best in Class” sales competitions (based on videos submitted by the employee/partner). This is huge – the system gives us the ability to have Sales professionals practice their pitch and get direct feedback from their manager and team members.

Deploying SPOCs in a University Institution with Open edX: What Do We Need?

Jose A. Ruiperez-Valiente

The presentation try to describe the experience of creating and exploiting of SPOCs at UC3M for use to supplement classroom training (flipping classroom) using the Open edX platform. In the presentation we will try various aspects like customizing the platform to adapt to our environment (for example LDAP support) and additional software tools which we have had to be developed to facilitate the whole process management and content creation, which takes associated with the creation of a MOOCs / SPOCs. In addition we have developed several XBlocks to include new features to our courses. We finally will treat aspects that an organization has to take into account to successfully approach these projects.

Building Successful Open edX Instructors from Non-Faculty Domain Experts

Julie Mullen, Lauren Edwards, and Vijay Gadepally

Traditionally, the knowledge held by professional engineers, scientists and researchers has only been accessible to a small number of co-workers. The open edX platform enables MIT Lincoln Laboratory to share the knowledge of world-class domain experts through technical education courses highlighting theory and its use in practice. Building successful online courses requires that technical professionals, with limited teaching experience, develop a teaching mindset. In this presentation we discuss the approaches used to help non-faculty instructors gain an awareness of the open edX andragogy and the path followed to transition from presenter to educational guide.

Navigating Barriers to Implementation of an International Medical Training Course in Developing Nations

Nicholus Warstadt, Silvia Vaca, and Feroze Naina

Clubfoot is a congenital birth deformity easily and effectively treatable by the low-resource requiring and non-surgical Ponseti method, but knowledge of this technique has yet to disseminate to rural hospitals and clinics in developing countries. Current training practices are dominated by non-profit organizations investing extensive time, resources, and man-power to host centralized, annual trainings. Here, we describe our experience in working with these same non-profit organizations to develop and implement a standardized digital training through the Open edX platform, including barriers of technology, multi-instance administration, and the need for content customization.

Online Geospatial Education in Africa through the Open edX Platform: Possibilities and Limitations

Thomas Ballatore

Here, we discuss the particular challenges of translating a set of successful onsite geospatial training courses into a set of Open edX online courses for learners in Africa. We present work done in 14 countries (Algeria, Burundi, Chad, Cote d’Ivoire, DR Congo, Egypt, Ethiopia, Kenya, Malawi, Morocco, Rwanda, Tanzania, Uganda, and Zimbabwe) about user experience with current edX courses as well as experience and lessons for planned Open edX courses on geospatial topics.


课程创作和扩展Open edX平台

MIT Learning Object Repository for Education

Ferdi Alimadhi

We will discuss our new project for managing courseware content across courses, disciplines and runs via our LORE project (https://github.com/mitodl/lore). LORE allows you to import Open edX courses and be paired with meta data from analytics such as the average grade, or number of attempts. From there you can use it to find, categorize, and mix and match problems or whole sections of different courses to share and re-use existing content in new ways.

Semantic Tagging Using Asides in Studio

Cole Shaw and Ross Strader

In this talk, we will discuss one of the first implementations of XBlock Asides, which we use to semantically tag problems in edX courses. Both MIT and the Open Learning Initiative at Stanford will present on their respective use cases and show how Asides can enhance the student and instructor experiences.

Open edX and Adaptive Learning

Ed Daciuk

Adaptive learning. You’ve heard the hype; now learn how to deliver on its promise and potential. Focussing on the intersection of Open edX and adaptive learning technology, this discussion will delve into recent developments that allows the Open edX platform to provide adaptive learning pathways to users. We will discuss the emerging landscape of adaptive technology, illustrate the use cases for integrating adaptive learning into the Open edX platform, and show how a major international corporation is integrating third party solutions with Open edX to develop cutting edge, scalable courses with personalized learning pathways for traditionally static areas like corporate training and regulatory compliance.

2014年会议内容 https://openedx.atlassian.net/wiki/display/OPEN/Open+edX+Conference+Presentations

Google Course Builder与Xblock

CourseBuilder是Google推出的开源教育平台,可以用于制作和发布课程。36Kr之前曾经有过报道http://36kr.com/p/152413.html

CourseBuilder同时提供了一个组件https://code.google.com/p/course-builder/,可以直接在课件中使用Xblock,或者导入Open edX创建的Xblock课件。只需要在edX的Studio中导出课程,然后就可以在CourseBuilder中导入。目前并非所有类型的Xblock都可以支持,仅支持视频、HTML富文本、多项选择题。

 

 

免安装使用Open edX的几个方式

由于Open edX安装的复杂性,目前有若干机构推出了无需安装使用Open edX的解决方案。这些方案适用于以下用户:

  • 不用于生产环境
  • 想看看edX有什么功能的最终用户
  • 专注于开发的edX研究者

目前可用的免安装方式如下:

  • Open edX中国社区Docker版

Open edX中国社区发布的用于演示和开发的Docker版本,由@wwj牵头的社区技术委员会基于Appsemble的Docker制作,修正了若干bug及进行汉化。

https://hub.docker.com/r/wwj718/edx_cypress_docker/

BitNami是一家专业的云计算公司,提供各种开源应用的虚拟机镜像及公有云镜像。可以在GCP、DigitalOcean一键部署,也提供可以完全本地安装无需翻墙的安装脚本。但是BitNami对Open edX目录和运行机制做了某种修改,所以还需要花一点时间熟悉其机制来进行开发。目前提供版本为Cypress。

专业提供Open edX相关服务的公司。提供了基于Docker方式的一键测试环境生成,可以试用24小时。当前版本为Birch。

最近发布了Cypress版本的公共Docker https://hub.docker.com/r/appsembler/edx-lite-cypress/

  • eduStack OVA镜像

我们在Vsphere上面安装及打包的虚拟机,可以用来部署在服务器及本地测试环境,和fullstack完全一致的结构。将来会加入更多我们做的本地化工作。当前版本Cypress。

 

eduStack为2015年Open edX会议提供赞助

A29C4503-037B-4E3B-AB0E-39772EC25C61

OpenedXCon2015-sponsor

作为Open edX在国内的推广者和开发者,我们以Friends of Open edX身份赞助了2015 Open edX Con。详情请见http://con.openedx.org/#our-sponsors

10月12-13日,Open edX社区将在麻省Wellesley举办会议。本次会议关注Open edX平台开发和使用。Open edX平台在全世界范围被用来承载大规模开放课程 (MOOCs) 以及小班课程和培训模块。会议的参与者为开发者,系统管理员,教育专家及其他想了解Open edX平台的人。

Open edX Cypress虚拟镜像开始提供下载

我们已经制作完毕Cypress正式版本虚拟机镜像。下载地址请看这里

在标准安装之外,我们做了以下修改

  • 最新版本的汉化。
  • 修正所有的汉化bug,不会因为语言包导致组件错误。
  • 配置elasticsearch确保不会被流量攻击。

稍后将发布经过更多详细配置的更新版本。更多信息请见这里

同时线上演示版本也更新到Cypress,访问地址LMS CMS来体验新的功能改进。演示账号为:
student honor@example.com:edx
instructor staff@example.com:edx

 

edX最新版本Cypress正式发布

https://open.edx.org/blog/announcing-cypress-latest-open-edx-release

Open edX的第三个版本Cypress目前已经发布。Open edX是一个开源的学习平台,驱动着edX.org和全球数百门在线课程。请看安装指南来了解如何安装。

这个发布版打包了上一个版本Birch在1月发布之后开发的新特性和改进,包括了

在 Cypress中 ORA1支持被移除, 这是开放互评特性的最初版本。取而代之的是经过良好测试的 open response assessment XBlock, 从 2014年5月已经在edX.org中使用。

完成的改进列表可以看 release notes。如果你正在运行Birch,请看  Cypress升级指南 。

关于此发布版的一些统计数据:

  • Cypress 包含了Birch发布后超过3,150 个新的代码commit!
  • 70 个独立贡献者在过去6个月参与了 edx-platform 代码 – 还有很多人参与开发了其他edx组件!
  • 这些贡献者贡献了大约 188,500 行代码,删除了大约 46,700 行代码,改动了大约 2,500 个文件!

强烈建议Open edX 社区立刻升级到 Cypress 。官方不能同时支持多个发布版本,所以Cypress将是目前唯一支持的Open edX 发布版本。这意味着不再发布对Birch的安全补丁。 官方将支持所有的Birch组件升级到Cypress。

– 这里可以了解更多: https://open.edx.org/blog/announcing-cypress-latest-open-edx-release#sthash.ttlxzwv4.dpuf