【问题标题】:How to show a Moodle plugin only to specific users如何仅向特定用户显示 Moodle 插件
【发布时间】:2014-07-03 10:02:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: plugins moodle


    【解决方案1】:

    您可能会使用功能和角色。这是我头脑中的快速解决方案。

    在您的访问文件中

    /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 中增加版本号才能安装该功能。

    然后根据编辑老师定义“测试版课程创建者”的角色?在站点管理员 -> 用户 -> 角色中或直接进入 /admin/roles/manage.php

    并将上面创建的功能添加到 beta 课程创建者角色。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-24
      • 1970-01-01
      • 2020-08-20
      • 2023-04-06
      • 2019-09-23
      • 2019-10-04
      • 1970-01-01
      相关资源
      最近更新 更多