#使用场景 使用edX做平台的公司/机构可能有这样的一种需求:希望划分出二级域名给子机构使用,或是给合作伙伴使用。好比某高校建了一个edX平台,它的各个学院(或是兄弟院校)在其上可以有独立的主页(可以独立设计,展示各自的课程),独立的logo,独立的sitename,独立的支付账号,而所有资源又最终汇总到大平台下,资源之间可以共享。

这个场景对形成联盟和生态还是挺诱人的 不是吗

#特性 以下东西是各个子域可以定制的

  • 首页定制
  • 平台名称
  • 站点小图标:favicon
  • 二级域名前缀
  • 平台logo
  • 邮件发送者
  • 支付账号

更多的定制项可以查看Django configuration settings used specifically for microsites.

#配置示范 在lms.env.json的”FEATURES”中加上"USE_MICROSITES": true,.同时在lms.env.json的主体中加上

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    "MICROSITE_CONFIGURATION": {
        "test1": {
            "domain_prefix": "test1",
            "university": "test1",
            "SITE_NAME": "sitename",
            "logo_image_url": "http://x.x.x/head-logo.gif",
            "course_org_filter": "test1",
            "course_about_show_social_links": false
        }
    },
    "MICROSITE_ROOT_DIR": "/edx/app/edxapp/edx-microsite",

所有的静态文件应该在MICROSITE_ROOT_DIR目录下(页面定制过程很像theme)。以MICROSITE_CONFIGURATION中的key为子目录名,在此为test1。目录中的内容参考test_microsite

此外,我在github上找到一个edx_microsite_manager,可以在admin里编辑管理MICROSITE_CONFIGURATION

#Run 记得先讲域名泛解析到你的ip上

配置好之后,记得sudo /edx/bin/supervisorctl status edxapp:Compile assets manually

现在就可以访问子域啦:test1.mydomain.com

microsite1

microsite2

#参考 * Microsites Theming * edx_microsite_manager