openfun自托管的开源视频提供商Marsha

https://github.com/openfun/marsha

Marsha是一个自托管的开源视频提供,Marsha是一个视频管理和回放服务。它旨在独立运作:就像拥有自己的YouTube一样。

教师和组织可以使用Marsha在创建课程时直接从课程上传和管理他们的视频(以及相关文件,如字幕或成绩单)。

课程发布后,学员只需在课程中看到视频播放器即可。

由于LTI互操作性标准,这种无缝集成可与任何LMS(Open edX,Moodle,…)配合使用。

这是Marsha开箱即用的产品:

从教师上传的单个视频文件中自动将视频转码为所有合适的格式;
自适应比特率流播放(HLS和DASH);
通过LTI认证进行视频访问控制;
通过播放器本身的可访问性以及对字幕,隐藏式字幕和成绩单的支持;
通过Terraform轻松部署和管理环境;

Marsha由3个组件组成:容器本地Django后端,AWS转码和文件存储环境,以及React前端应用程序。

Django后端
Django后端的任务是提供集成到LMS中的LTI页面。它还管理所有对象及其关系,用户帐户和所有身份验证问题。它公开了一个JSON API,用于与在AWS lambdas和React前端上运行的基础架构部分进行通信。

它使用docker-compose文件进行定义以进行开发,并且可以部署在任何容器环境(例如Kubernetes)上进行生产。

存储和转码环境
源文件(视频,字幕,…)由教师直接上传到S3存储桶,触发MediaConvert生成所有必要的视频文件(各种格式和自适应比特率流的片段和清单)到目标S3存储桶。然后通过CloudFront CDN提供这些文件。

Lambdas用于管理和监视进程并向Django后端报告。

这种存储和转码环境需要AWS,因为它在转码时严重依赖AWS MediaConvert来完成繁重的工作。它所依赖的所有服务都是通过Terraform配置的,可以通过make命令轻松部署。

隐私问题

请注意,我们在AWS中处理的唯一对象是实际的视频和字幕文件,从上传到通过转码和存储分发。不需要将任何数据库或应用程序后端部署到AWS或在那里发送任何用户的个人信息。

React前端
React前端负责用户在LTI Iframe中进行交互的接口。它从视图中获取具有权限的经过身份验证的令牌,并与Django后端交互以管理对象,并直接使用AWS s3上载文件。

当学习者加载显示视频播放器时,它也为同一视图提供动力(感谢Plyr)。

Iframe管理

为了给教师提供最佳的用户体验,我们需要能够根据其内容更改<iframe>的大小。这可以通过iframe-resizer库完成。

iframe-resizer需要在<iframe>(我们在React前端包中包含)和主页内的一些JS中运行一些JS。然后通过消息传递进行通信以调整<iframe>的大小。

这意味着要为教师提供最佳界面,您需要在LMS页面中包含主机端iframe-resizer JS。对于Open edX,这已在我们的自定义LTI使用者Xblock中完成。

如果您不能或不想包含此主机端JS,您仍然可以运行Marsha。对于学习者来说,它将完全相同(前提是您调整视频的LTI <iframe>的大小),教师只需要在某些情况下在<iframe>内滚动。

Open edX语言词频统计

在翻译Open edX语言时,经常遇到翻译不一致的问题。由于transifex是众包翻译,不同的人对同一词语的理解存在差异。例如“Learner”这个词汇,可以翻译为“学习者”、“学员”、“学生”,不能说哪个翻译更好。但是在界面中,如果这三个中文词语都存在,会给使用者带来混乱,认为这些不是指向同一个含义。

广州英荔的@liuxing3169写了一个小程序,统计Open edX语言中的词频。从中可以看到哪些词语出现的频率高,再对频率高的词语进行规范,设定一个术语表给翻译者。这是他的源代码 https://github.com/liuxing3169/Simple-python-programming-exercises

目前算出来的部分结果如下

the,2313,
to,1674,
you,1066,
your,951,
a,947,
this,884,
for,856,
course,785,
and,754,
in,728,
of,700,
is,599,
or,536,
not,529,
be,434,
are,359,
with,341,
that,341,
have,296,
an,278,
can,278,
on,271,
if,259,
will,256,
please,242,
by,215,
must,211,
has,206,
content,192,
{platform_name},190,
as,188,
from,187,
email,185,
any,185,
all,182,
use,182,
access,180,
file,172,
certificate,171,
enter,169,
name,158,
no,156,
error,153,
new,148,
been,144,
at,142,
student,141,
enrollment,136,
add,135,
course.,132,
page,129,
account,129,
learners,125,
problem,124,
students,121,
information,118,
user,116,
date,114,
was,112,
team,110,
try,110,
id,109,
we,106,
cannot,105,
it,105,
create,105,
when,104,
image,102,
see,102,
video,102,
do,100,
group,99,
view,97,
verified,95,
only,95,
number,94,
courses,93,
more,92,
select,91,
there,91,
library,89,
about,88,
enrolled,85,
want,84,
api,84,
address,83,
upload,83,
code,82,
click,80,
could,79,
plural,79,
download,78,
does,77,
contact,77,
request,77,
sure,77,
list,77,
transcript,76,
verification,75,

可以看到其中有一些频率且容易不一致的词,如enrollment,learners,library等。Open edX中文社区将根据这个词表推出一套标准的术语定义,来方便翻译者。

@Tao 开源的Open edX的Ecommerce配置及本地支付接口

本文内容由@淘 老师开发及开源,请移步http://www.heyuantao.cn看全部内容。

以下内容为转载

关于OpenEdx的Ecommerce的配置

OpenEdx项目中的ecommerce和edx-platform是两个独立的组件,两个组建部署后通过Web API接口相互调用和访问数据。ecommerce的目的是为了取代edx-platform中自带的购物车,这样使得课程购买和课程播放管理相互独立,程序更容易维护。

OpenEdx的官网有如何安装ecommerce组件的介绍,单这个仅仅适用于开发版本。在安装OpenEdx的时候ecommerce一般会直接安装上,但仍需要配置。所涉及到的配置文件有edx-platform的lms.env.json、lms.auth.json和ecommerce的ecommerce.yml(/edx/etc/ecommerce.yml)文件的配置。主体过就是配置两个组件的oauth2功能。

继续阅读“@Tao 开源的Open edX的Ecommerce配置及本地支付接口”

Open edX Hawthorn.1 发布

https://open.edx.org/blog/all-about-hawthorn

Hawthorn中文为山楂树,是Open edX的第8个版本。Edx于8月4日发布了第一个H版本。可以通过 https://github.com/edx/edx-platform/tree/open-release/hawthorn.1访问这个版本。其他组件也有这个版本号。

The Hawthorn release includes a number of enhancements to the Learner profiles, the ORA component, the Files & Uploads page in Studio and many others. In addition, given many changes to privacy laws around the world (for example, the European Union General Data Protection Regulation (GDPR)), this release also includes privacy-related updates such as a user retirement feature that removes data in response to user requests for deletion . Further highlights are below:

继续阅读“Open edX Hawthorn.1 发布”

Jupyter与Open edX与技术教育

https://jupyter.org/

https://openedx2018.sched.com/event/EUAl/jupyter-based-courses-in-open-edx-authoring-and-grading-with-notebooks

https://openedx.atlassian.net/wiki/spaces/COMM/pages/756384075/Open+edX+2018+Presentations

https://data.berkeley.edu/news/coursefuture

对外经济贸易大学金融学院使用Jupyter来进行金融方面的数据研究。他们认为:

  1. Jupyter作为一类开源的集成编程环境的系统,特别适用于教育行业,包括不限于数据分析,编程示例,图形图像等方面。
  2. Jupyter除信息类专业外,还适合国内经管类专业,涵盖金融工程,统计学,量化等专业。
  3. Jupyter支持网页直接接入,账号批量生成和管理,直接导出相关日志和结果,运维成本较低,门槛较低。
  4. 支持多项插件进行辅助实验教学,开放各类接口进行二次开发,目前将题库整合在一起是一个比较好的方向。
  5. 易用性高,已开设的课程统计对比传统集成IDE,学习成本极低,注重教育场合的核心功能,但不适用于大型软件开发。

Beijing Open edX Meetup 2018#1

欢迎参加 Beijing Open edX 2018 第一次活动。本活动适合Open edX的开发者、使用者、研究者,以及对在线教育技术感兴趣的朋友们。

Welcome to the first event of Beijing Open edX 2018. This event is suitable for Open edX developers, users, researchers, and friends interested in online education technology.

Open edX 是最赏心悦目的学习和教学平台。这个开放源码软件提供世界上最佳的视频体验和互动性。它驱动着 edX.org 教育门户中超过270万的用户。斯坦福大学在 class.stanford.edu 使用它为在校学生和远程学习者提供服务。法国、 中国 和 中东地区 的顶尖大学和组织已经接受了Open edX。世界经济论坛、 国际货币基金组织、 Johnson & Johnson 和世界各地的很多其他企业已经建立Open edX 平台。创新型大学 乔治华盛顿 等使用这种科技推出了具有开创性的开放教育措施。Open edX是颠覆性的技术,由麻省理工学院和哈佛大学创建,斯坦福大学、 谷歌和 45 所国际大学提供支持。此外,它的用户不断受益于edX 社区新的改进和创新。

Open edX 2018年会已经在加拿大蒙特利尔举办,本次会议带来了不少技术亮点。我们将在这次Meetup进行一些年会技术报告的解读和交流。力图为大家展现当前的Open edX技术图景。

广州英荔教育科技有限公司赞助和参加了今年的Open edX 2018蒙特利尔会议,并计划深度参与国内的Open edX开源社区。英荔同时也运营国内第一个Open edX云服务,英荔的技术负责人将在Meetup上和大家分享在Open edX开发中的一些经验,并交流国内开源社区的协作思路。

国内社区的积极推动者种瓜等也将参加此次Meetup。

会议地点仍需最后确定。请加入社区QQ群106781163保持交流。

报名连接

https://www.meetup.com/Beijing-Open-edX-Meetup/events/pqdpbqyxlbxb/

http://www.huodongxing.com/event/3451142235200