年后准备升级之前维护的Open edX。发现edX团队于2015年02月24号发布了第二个稳定版本的Open edX,新版本命名为Birch,

之前版本的几个比较影响使用的bug,诸如grades report异常之类的,在birch中都解决了的。吐槽一句(我之前修复过一个相关bug,对这部分比较熟悉),grades部分的代码我也是醉了,效率低而逻辑乱。当然啦,模块的作者也蛮不容易的,这部分操作确实既多且杂.

官方博客称,birch版本是稳定版,修复了许多bug并做了大量测试。

距离上个稳定版Aspen的发布已时隔四个月(Aspen发布于2014年10月),edX老用户对Aspen应该不陌生,该版本也是稳定版,相比其他以时间打tag的release要稳定地多,推荐在生产环境中部署edX的话尽量用稳定版。具体部署方法和之前一样,不赘述

相比Aspen版本,Birch版本做的改动还是很大的,就代码层面来说,涉及2500份文件的修改,移除了大约90,000行,新增了130,000+行,而所有这些变更还仅是发生在核心库。你看人家在我们过年回家忙着长肉的时候,还是蛮拼的,快给微信红包!

##新特性 也许代码层面的变更不够直观,我们来看看新版本都有哪些具体可感的改良。首先是增加了不少新特性,多是名词性质的东西,偏专业,就不翻译了,懂的人自然懂,不懂的人,经过我渣渣翻译水平,就更是云里雾里了,用英文,至少方便搜索查阅

  • Split Mongo Modulestore
  • Cohorts for Discussions and Content
  • Content Libraries and Randomized Content
  • Prerequisite Courses
  • Entrance Exams
  • Student Notes
  • Course Reruns
  • Google Calendar and Google Drive Components
  • Support for Graded Problems in Content Experiments
  • ReST APIs

以下特性默认未开启,想用的话需要自己配置一下:

  • 学生分组功能。这是个很实用的特性,不同分组的学生将看到不同的课程内容,对个性化学习很有价值
  • 课程门槛:课程先修条件/选课资格考试
  • 新增的Xblock组件,Google Drive 和 Google Calendar XBlock. 我们望梅止渴就好啦

此外

  • 更好的国际化支持(birch版本的汉化蛮好的,需要自己汉化的地方,主要是包含平台相关变量的待翻译字符串)
  • 更清晰的代码逻辑(额,之前真是挺乱的。。)

更多内容可参考here

人家官方还说啦,此次的稳定版不是最终的版本,他们会再接再励的,十分期待完成可视化数据分析后的版本啊,届时可以直观地看到学习者的学习行为,结合数据挖掘,做行为分析,做课程优化,简直戳中教育者们的G点有木有,另外还有不少值得期待的特性包括 学生笔记,聊天功能,手机端支持,在线执行代码,分布式,docker支持…

##打有Birch tag的库

  • edx-platform
  • configuration
  • cs_comments_service
  • notifier
  • edx-certificates
  • xqueue
  • edx-documentation
  • edx-ora2
  • XBlock

##安装(开发与部署) 和之前没什么区别,依然是分为三类:

考虑到下载比较慢,我把下载链接也放这里啦,大家可以用迅雷下好后,手动加载box,如果你不清楚如何手动加载box,可能需要熟悉下vagrant先
(ps:推荐傍晚6点之后下载!!血泪教训)

###devstack box

vagrant up之前,记得export OPENEDX_RELEASE="named-release/birch"

###fullstack box

###Ubuntu12.04上部署 跟之前的部署没啥区别 ,参考官方教程 edX Ubuntu 12.04 64 bit Installation就行

####详细安装步骤

#####一步安装 OPENEDX_RELEASE=named-release/birch wget https://raw.githubusercontent.com/edx/configuration/master/util/install/vagrant.sh -O - | bash

#####分布安装

  • sudo apt-get update -y
  • sudo apt-get upgrade -y
  • sudo apt-get install -y build-essential software-properties-common python-software-properties curl git-core libxml2-dev libxslt1-dev python-pip python-apt python-dev
  • sudo pip install –upgrade pip
  • sudo pip install –upgrade virtualenv
  • cd /var/tmp
  • git clone https://github.com/edx/configuration
  • cd /var/tmp/configuration
  • git checkout named-release/birch
  • vim playbooks/roles/common/defaults/main.yml , 修改其中的COMMON_SSH_PASSWORD_AUTH 为 “yes”
  • sudo pip install -r requirements.txt
  • cd /var/tmp/configuration/playbooks

sudo ansible-playbook -c local ./edx_sandbox.yml -i “localhost,”
-e ’edx_platform_version=named-release/birch certs_version=named-release/birch forum_version=named-release/birch xqueue_version=named-release/birch'

此外 -e 中还有一些可选参数,如果为了提高速度想用豆瓣源的话,加上COMMON_PYPI_MIRROR_URL=http://pypi.douban.com/simple,也在这儿指定域名之类的

ps:如果是在虚拟机上安装可能会遇到ssl的一些问题。

#####从中断处继续安装

sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost,"  \
-e 'edx_platform_version=named-release/birch certs_version=named-release/birch forum_version=named-release/birch xqueue_version=named-release/birch' --start-at-task="xxx"

其中xxx为中断任务名

##升级版本Aspen到Birch 不少小伙伴之前安装的是Aspen,官方也是挺贴心的,已经写好升级脚本了 在这里。也在你的configuration库里

注意:特别注意的是!!只能从Aspen升级到Birch,不能升级其他版本到Birch。这也是为何推荐大家使用稳定版的原因

###升级方式

  • 对于Devstack, 执行 ./migrate.sh -c devstack.
  • 对于Fullstack, 执行 ./migrate.sh -c fullstack. 就酱

#最后 之前edX相关的文档真是凌乱极了,无力吐槽,官方估计也意识到了这点,亡羊补牢地建了open.edx.org,用来汇总edX相关的东西。

以此作为学习/了解/开发edX的入口再合适不过了。括弧 卖个老,想我们当年折腾的时候,各种超链接满天飞,真是辛苦了我的印象笔记,都是泪T_T。

你看现在有了open.edx.org,Duang~,生活一下美好多了

#最后的最后 如果你觉得这篇文章对你有帮助,欢迎周末请我喝咖啡啦。

这篇博客写于南京图书馆附近的星巴克二楼,我很喜欢这个靠窗的位置,之后的周六下午可能会常来这里写些东西,尽量一周写篇博客吧,也做些其他的整理。如果你来的较早,而且都准备好了咖啡(我喜欢拿铁~),我是不会轻易拒绝的啦,我们探讨edX之余,也可以顺便聊聊人生不是,如果你连瓜子都准备了,那我们顺带连理想也一并聊了吧^_^

此外

  • 我对 在线教育(edX)/网站架构/开源/旧体诗词/骑车/台球/阅读/旅行/晨跑/游泳 较感兴趣,以上内容都欢迎交流啦~
  • 技术宅(好像也不很宅囧),linux/python/git/vim用户, 为了提高逼格,也在函数式(Scheme/Haskell)上花了不少时间。
  • 兴趣很杂,阅读很杂,尚未脱离低级趣味,最近在读《富爸爸穷爸爸》,喜欢好书,也喜欢与人分享讨论好书~

##参考资料