如何仅向特定用户显示Moodle插件

时间:2014-07-03 10:02:58

标签: plugins moodle

我的团队开发了一个Moodle插件(作为一种新型的Moodle分配),它运行正常。现在,我们想在我们的大学官方Moodle服务器上安装它。该服务器的管理员告诉我们,我们的插件,至少在几个月(测试阶段),应该只显示在平台的特定课程中,为此,过滤代码应该至少在测试阶段 - 硬编码在我们的插件中。

除了不喜欢硬编码之外,我想知道这是否可行,我的意思是,我们的插件可以从下拉列表中过滤自己,其中所有的作业类型都会显示给Moodle的课程老师吗?如果没有,我们的插件可以自行过滤,以便它只适用于某些特定的课程(并为其他人显示某种“不可用”的消息)吗?

如果我们没有任何限制,那么完成此过滤功能的最佳/推荐方法是什么?

1 个答案:

答案 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课程创建者角色。

然后将角色分配给处于测试阶段的教师。

然后具有该角色的用户可以将插件添加到课程中。