我的团队开发了一个Moodle插件(作为一种新型的Moodle分配),它运行正常。现在,我们想在我们的大学官方Moodle服务器上安装它。该服务器的管理员告诉我们,我们的插件,至少在几个月(测试阶段),应该只显示在平台的特定课程中,为此,过滤代码应该至少在测试阶段 - 硬编码在我们的插件中。
除了不喜欢硬编码之外,我想知道这是否可行,我的意思是,我们的插件可以从下拉列表中过滤自己,其中所有的作业类型都会显示给Moodle的课程老师吗?如果没有,我们的插件可以自行过滤,以便它只适用于某些特定的课程(并为其他人显示某种“不可用”的消息)吗?
如果我们没有任何限制,那么完成此过滤功能的最佳/推荐方法是什么?
答案 0 :(得分:0)
您可能可以使用功能和角色。这是我头脑中的快速解决方案。
在您的访问文件中
/mod/yourmodname/db/access.php
添加添加实例功能,例如
$capabilities = array(
'mod/yourmodname:addinstance' => array(
'riskbitmask' => RISK_XSS,
'captype' => 'write',
'contextlevel' => CONTEXT_COURSE,
'archetypes' => array(
'manager' => CAP_ALLOW
),
'clonepermissionsfrom' => 'moodle/course:manageactivities'
),
);
http://docs.moodle.org/dev/Activity_modules#access.php
您需要在version.php中添加版本号以安装该功能。
然后根据编辑教师定义“beta课程创建者”的角色?在网站管理员 - >用户 - >角色或直接进入/admin/roles/manage.php
并将上面创建的功能添加到beta课程创建者角色。
然后将角色分配给处于测试阶段的教师。
然后具有该角色的用户可以将插件添加到课程中。