如何编辑上传到Moodle的文件?

时间:2012-09-04 14:43:22

标签: moodle scorm scorm2004 scorm1.2

我想要一个更好的工作流来调试上传的SCO。事实上,我必须在活动,重新包装,上传和测试中编辑文件。通常,我只需要更改一行代码。能够在服务器上编辑该文件,即该行代码是非常好的。到目前为止,我发现Moodle管理文件,所以在上传后找到并解密重命名的文件似乎是不切实际的。

有没有办法配置Moodle,以便在提取时不重命名和重新定位SCO中的文件?实际上,我对调试SCO的最佳,最快的工作流程有任何建议。

2 个答案:

答案 0 :(得分:3)

问题背景

自Moodle 2.0以来,文件不再以传统的/this/is/the/path/to/my.file方式存储在服务器上。相反,文件被重新存储并存储在存储库中(即作为看似随机数据的集合遍布moodledata文件夹)。这增加了安全性和跨操作系统的兼容性,但对于想要通过FTP上传SCORM zip包的人来说复杂化了。以下是有关file handling in Moodle 2.0

的更多信息

解决方案的路径

让我们找到您要更新的文件,然后进行更新。

  1. 运行phpmyadmin,转到mdl_files表格,在filename字段中按名称查找您的文件(假设它是portrait.jpg
  2. 查看contenthash字段,它看起来像abcde1234567890。这意味着您的文件存储在moodledata/filedir/ab/cd/文件夹中,名称为abcde1234567890
  3. 将更新后的portrait.jpg重命名为abcde1234567890,上传并覆盖。
  4. 返回phpmyadmin并使用更新文件的大小更新filesize记录中的portrait.jpg字段。
  5. 显然,这个过程可以自动化。您必须编写一个允许您上传文件的脚本,然后它将在mdl_files中搜索该文件,将其保存到正确的文件夹并相应地更新所有字段。

    另类想法

    启用外部包类型(并且还启用'每次启动时更新')。转到站点管理/插件/活动/ SCORM,然后选中下面的框。现在,您将能够直接从另一台服务器启动SCORM包,因此Moodle不会乱用它。当然,您可以运行其他(可能是跨域相关的)问题。

答案 1 :(得分:2)

谢尔盖的答案非常好,有一点需要注意: 在c$a <- as.logical(c$a) z <- aggregate(. ~ b, c, sum) qplot(x=z$b, y=z$a, geom="bar", stat="identity") 的contenthash的示例中,该文件存储在名为 abcde1234567890 moodledata/filedir/ab/cd/文件夹中。 Moodle使用完整的contenthash命名文件。