gpt4 book ai didi

moodle - 如何就地编辑上传到 Moodle 的文件?

转载 作者:行者123 更新时间:2023-12-02 15:38:45 26 4
gpt4 key购买 nike

我想要一个更好的工作流程来调试上传的 SCO。事实上,我必须在事件中编辑一个文件,重新打包、上传和测试。通常,我只需要更改一行代码。如果能够在服务器上编辑那个文件,那行代码,那就太好了。到目前为止,我所发现的只是 Moodle 管理文件,因此在上传后定位和解密重命名的文件似乎不切实际。

有没有一种方法可以配置 Moodle,使其在提取时不会重命名和重新定位 SCO 中的文件?实际上,对于调试 SCO 的最佳、最快的工作流程,我愿意接受任何建议。

最佳答案

问题背景

从 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 并使用更新文件的大小更新 portrait.jpg 记录中的 filesize 字段。

显然,这个过程可以自动化。您必须编写一个允许您上传文件的脚本,然后它会在 mdl_files 中搜索该文件,将其保存到正确的文件夹并相应地更新所有字段。

替代方案

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

关于moodle - 如何就地编辑上传到 Moodle 的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12265927/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com