Controlling course creation rights
来源:互联网 发布:智能硬件编程 编辑:程序博客网 时间:2024/05/21 21:35
场景要求
默认情况下,用户注册创建studio账户,就拥有了studio端创建课程的权限。现实情况是拥有审核机制,实际的使用场景可能只有允许的教师账户才能创建课程权限。官方wiki已经给出两种解决方案。我结合官方wiki和@种瓜博客,结合自己的本地测试经验,梳理了一下中间的流程。
控制课程创建权限
首先studio里面有两种不同的权限,django站点级别的is_staff和课程级别的course staff的权限,前者拥有站点内容编辑权限(好比登录admin),而后者只是作为课程团队成员,拥有的编辑课程内容的权限,是application级别的。
方案一、取消非”is_staff”级别用户的课程权限
经过以下设置,课程团队成员(course staff)依然可以编辑课程内容,而创建课程则需要被审核为is_staff的用户才可.
至于如何设置用户为is_staff,则需要使用管理员账户登录到admin,更改auth表就行(/admin/auth/user),或者进入mysql数据库(使用mysql -u root -p
命令) 直接需改’is_staff’属性值。
禁止普通账户创建课程
cd /edx/app/edxapp/edx-platform
sudo vim cms/envs/common.py
设置属性值
DISABLE_COURSE_CREATION: true
提升账户权限至’is_staff’
- 使用 Django admin命令,
./manage.py lms set_staff emailaddress
- 管理员账户登录到admin,更改auth表就行(/admin/auth/user)
设置联系邮箱
如否你做了以上设置,那么一般注册用户默认就没法创建课程,而他又确实想创建,他怎么请求你把他标记为is_staff?
cd /edx/app/edxapp/edx-platform
sudo vim cms/envs/common.py
设置属性值
'STUDIO_REQUEST_EMAIL':YOUR_EMAIL_ADDRESS
重启服务
sudo /edx/bin/supervisorctl restart all
方案二、选择性地允许课程创建
已被标记为is_staff的用户,不受以下方法影响,永远可以创建课程
启用课程创建权限
sudo vim /edx/app/edxapp/edx-platform/cms/envs/common.py
在FEATURES里添加'ENABLE_CREATOR_GROUP': true
需要注意的是,如果采用这个方案,方案一中提到的DISABLE_COURSE_CREATION
不应当为true
,因为DISABLE_COURSE_CREATION
的优先级更高
cd /edx/app/edxapp/edx-platform
更新数据库
sudo -u www-data /edx/bin/python.edxapp ./manage.py cms syncdb --migrate --settings aws --migrate --noinput
重启服务
sudo /edx/bin/supervisorctl restart all
用户studio端使用流程
如果将ENABLE_CREATOR_GROUP
设置为true
,一个新的Studio用户的工作流是这样的:
- 用户创建新账号,他们在admin table中的状态是“未请求”.
- 当用户进入到Studio面板中,他们将看到一条关于如何成为课程创建者的消息
- 用户可以发送创建课程的请求,如此一来他们的状态变成”待决定”。
- 如果他们的请求被通过,他们将收到一封通知邮件
- 如果请求没通过,他们也将收到一封通知邮件
课程创建者管理
/admin/course_creators/coursecreator/
设置联系邮箱
如否你做了以上设置,那么一般注册用户默认就没法创建课程,而他又确实想创建,他怎么请求你把他标记为is_staff?
cd /edx/app/edxapp/edx-platform
sudo vim cms/envs/common.py
设置属性值
'STUDIO_REQUEST_EMAIL':YOUR_EMAIL_ADDRESS
处理既有的课程创建者
既有课程创建者授权,可通过这条指令cd /edx/app/edxapp/edx-platform
python manage.py cms populate_creators --settings=aws
- Controlling course creation rights
- Hooking the native API and controlling process creation on a system-wide basis
- Hooking the native API and controlling process creation on a system-wide basis
- Privacy rights
- Course
- course
- Controlling Companies
- Controlling Execution
- Controlling Area
- Controlling serialization
- Controlling Companies
- Controlling Execution
- Controlling Companies
- controlling nginx
- No Rights Reserved
- Mathematical Creation
- AUFS-Creation
- heap creation
- 在VS2010中创建和调用动态链接库和静态链接库
- 【剑指offer】5.2时间效率——面试题30:最小的k个数
- 机器学习实战第5章 Logistic回归的weights
- java面试一二三
- 5.Error running All Tests: Gradle project sync failed. Please fix your project and try again. 怎样解决?
- Controlling course creation rights
- Cookie 和 Session机制详解
- v$archived_log视图中,有关时间的几列的含义
- goke7101系统搭建
- 为什么你不应该自行更新 Drupal 网站?
- eclipse Debug 技巧
- mybatis resultType返回类型汇总。
- 线性代数--齐次/非齐次矩阵,克拉默法则
- 【剑指offer】5.2时间效率——面试题31:连续子数组的最大和