Open edX Ginkgo.2 LMS演示 CMS演示
测试账号 honor@example.com 密码edx
Open edX Ginkgo.2 Insights演示
测试账号 honor@example.com 密码edx
Open edX官方文档及讨论区
edX Docs / atlassian / openedx-announce / openedx-ops / openedx-analytics / edx-code / slack / Meetup

eduStack公众号

联系我们

申请Open edX Ficus.3教育版
教育版是我们本地化定制的Open edX版本,达到了高度可用性,仅面向非盈利机构(学校、公益组织)开放。
本地镜像下载 Eucalyptus OVA
申请Open edX Ficus公有云镜像
目前我们提供阿里云(华北1)的Ficus镜像。
支持我们,使用以下主机来运行你的应用

开源教育技术QQ群347307364

仅供院校教师内部交流,请在此申请加入

Open edX中国用户组QQ群106781163

自由加入,交流Open edX部署、开发、运维。

开源教育技术讨论区

讨论区现已开放注册,我们将在讨论区分享更多开源教育技术经验。

Scratch Conference 2018主题摘要

https://scratch.mit.edu/conference

Scratch2018年会在7月26日-28日举行,举行地点当然就在Scratch的出生地-MIT媒体实验室。目前还没有提供在线视频的回放,不过从官网我们可以看到一些有趣的话题。

特别感谢@HFL的协助整理。

7月26日

The Next Generation

Join us for an inside look at the next generation of Scratch — and a discussion of how Scratch is opening new opportunities for the next generation of children around the world.

Flat Scratch Jam: Computational Tinkering with Handmade Scratch Sprites

Computational Tinkering infuses digital environments with real-world materials. In this workshop, inspired by Dreamfeel’s flatgame jams, we’ll spend time drawing, crafting, and collaging scenes and characters. We’ll then photograph and import these handmade sprites and backdrops into Scratch and experiment with adding them to approachable and open ended projects. At the end of the session, we’ll share our work and reflect together about how combining tangible materials with programming can affect learning outcomes.

Physical Computing with Scratch on the Raspberry Pi

Break out of the screen and control the outside world with Scratch and the Raspberry Pi! In this hands-on workshop, you’ll learn how to use Scratch on the Raspberry Pi to connect LEDs, motors, and other output devices, and how to respond to physical inputs such as buttons and infrared sensors.

Continue reading

Open edX版本升级中的数据迁移

Open edX每年发布两个大版本,版本之间的直接升级困难,几乎等于重装。因此如果要把原有的实例升级到新版本,可行的方式是:

1.在新的服务器上安装新版本Open edX

2.在新版本Open edX进行同等的配置和定制,如语言、配置文件、Xblocks、二次开发等

3.导出老版本Open edX数据,导入到新版本Open edX

4.运行数据升级脚本。如果有问题,手工调整数据结构

目前可以参考的文档有 https://groups.google.com/forum/#!searchin/edx-code/migrate%7Csort:date/edx-code/FZdfXAaawsk/m-Tywq3hGQAJ 以及 https://blog.just4fun.site/edx-data-migrate.html。这两份文档都比较老,我们将在Ginkgo.2-InsightsLite镜像上进行F版本的数据升级,来展示目前的升级方法。

我们这次迁移将遵循以下步骤:备份导出源数据库(mysql/mongo);在目标机器上,mysql清空edx相关的库(保留mysql原有的几个库); 导入数据库(mysql/mongo)到目标机器上;在目标机器上执行migrate。

mysql

简单导出 —> $ mysqldump -u root -p –all-databases > ./backup.sql
目标导出 —> $ mysqldump -u root -p –all-databases -e –max_allowed_packet=1048576 –net_buffer_length=16384 > backup.sql

简单导出是在目标机器未知的情况下,直接导出数据库内容。
优点:简单方便,适配于任何目标机器
缺点:在目标机器上导入数据会特别慢!

目标导出是在目标机器已知的情况下,根据目标机器上参数来导出数据
优点:在目标机器上导入数据会很快,甚至可以达到10多倍的差距
缺点:需要预先查看目标机器上mysql的配置参数

如何查看目标机器上mysql相关参数

登陆mysql —> $ mysql -u root -p
查看参数 —> $ show variables like ‘max_allowed_packet’;
—> $ show variables like ‘net_buffer_length’;
根据查看到的value中的值来写导出语句进行导出

mongodb

导出 —> $ mongodump -o ./mongo-backup
导入 —> $ mongorestore -drop ./mongo-backup
在mongodb 3.0以上使用: mongorestore —drop ./mongo-backup // 即使用两个-

执行migrate

执行migrate:
sudo su edxapp -s /bin/bash
cd ~
source edxapp_env
python /edx/app/edxapp/edx-platform/manage.py {lms/cms} syncdb –migrate –settings aws

注意最后一句中的lms/cms是步骤分开的!

静态资源处理

  1. 拷贝主题到 /edx/app/edxapp/themes/ 目录下
  2. 修改 /edx/app/edxapp/lms.env.json —> 设置 FEATURES.USE_CUSTOM_THEME 为 true,并且THEME_NAME修改为主题目录名字
  3. 重新编绎静态资源:
    sudo -H -u edxapp bash
    source /edx/app/edxapp/edxapp_env
    cd /edx/app/edxapp/edx-platform
    paver update_assets cms –settings=aws
    paver update_assets lms –settings=aws

 

Open edX Con2018摘要:Getting Started with Open edX Development

首先广告一下@种瓜 写的企业服务解读  https://blog.just4fun.site/edx-enterprise.html

本文将简单介绍这个演讲 https://openedx2018.sched.com/event/EUAV/getting-started-with-open-edx-development,这个演讲介绍了如何入门Open edX开发。两位演讲者是edX架构师Nimisha Asthagiri以及AppSembler的Nate Aune。这里是演讲的PDF文档 https://schd.ws/hosted_files/openedx2018/c7/Getting%20Started%20with%20Open%20edX%20Development.pdf 。

核心能力

全栈Web开发 (Python/Django/JS)

DevOps 经验 (Linux, Cloud hosting)

开源项目经验也有帮助

Open edX用到的技术

Django (web开发框架)

Python (脚本语言)

ReactJS/BackboneJS (前端语言)

MySQL (学生数据存储的数据库)

MongoDB (课程数据存储的数据库)

RabbitMQ (处理后端任务)

Ansible (配置管理)

Hadoop (分布式处理)

领域

架构图

这里提供了不同时期的架构图。其实架构并没有大的变化,表现的角度不同。

现场练习

启动/停止 LMS 和 CMS (Studio)

创建superuser

改变platform name

对theme做一个小修改

安装和启用第三方 XBlock

练习不覆盖的

Deploy an Open edX site to production Build a custom theme from scratch Create an XBlock from scratch Discuss every feature Open edX provides Localization and translations

扩展Open edX的成本

文档和社区

Official docs.edx.org

Building and Running Open edX

Installing, Configuring and Running Open edX Open

edX Developer Guide

edX’s Confluence Wiki

Open edX Youtube Channel

edX Architecture Onboarding

edx-code Mailing list

Slack community

Stackoverflow

edXchange

 

在PDF里有更多的具体操作文档。本文不再贴出。