1年以上アクセスの無いコースを検索する良い方法はありますか?
また,そのコースのカテゴリを一括で変更する良い方法はありますか?
目的は,使用されていないコースを例えば「ごみ箱」カテゴリに集めて一括で削除したいのです。
よろしくお願いします。
非標準プラグインの「Course Archiver」をお使いになってはいかがでしょうか。
[Moodle plugins directory: Course Archiver]
https://moodle.org/plugins/tool_coursearchiver
「1年以上アクセスの無いコースを検索する」ことは難しいと思いますが、例えば「Accessed Before / After」セクションの「Last accessed before」で1年以上の日付を指定することにより、1年以内に作成されたコースは抽出から除外されると思います。
また、検索結果に表示されたコースを選択して「非表示 (Hide Courses)」「削除 (Delete Courses)」できます。
Moodle 3.8.2+ (Build: 20200424) で動作確認しましたが、「Accessed Before / After」セクション」で「Last accessed before」「Last accessed after」両方のオプションを選択した場合、「ERROR: Incorrect number of query parameters. Expected 4, got 3.」エラーが表示されるようです。

ありがとうございます。
試してみます。
試してみます。
Course Archiver で目的のことが概ね達成できました。ありがとうございました。
ただ,コースを削除する際に,タイムアウトになってしまい削除できないコースがいくつかあって困っています。
CentOS7 + Nginx + php-fpm に Moodle 3.8 入れています。Niginx + php-fpm のタイムアウトを 3分, 5分, 10分, 20分 と徐々に増やしながら,コースの削除を行っているのですが,どうしても削除できないコースが発生しています。
2012年~2016年頃に利用されていたコースなのですが,一部はコースリセットを実施した後,コース削除することで削除できたのですが,リセットしても削除でタイムアウトしてしまうコースがあります。
削除するために何か良い方法はないでしょうか?
よろしくお願いします。
ただ,コースを削除する際に,タイムアウトになってしまい削除できないコースがいくつかあって困っています。
CentOS7 + Nginx + php-fpm に Moodle 3.8 入れています。Niginx + php-fpm のタイムアウトを 3分, 5分, 10分, 20分 と徐々に増やしながら,コースの削除を行っているのですが,どうしても削除できないコースが発生しています。
2012年~2016年頃に利用されていたコースなのですが,一部はコースリセットを実施した後,コース削除することで削除できたのですが,リセットしても削除でタイムアウトしてしまうコースがあります。
削除するために何か良い方法はないでしょうか?
よろしくお願いします。
可能でしたら、Moodleのホームディレクトリ内の「.htaccess」ファイルの先頭に以下のようなPHPディレクティブの記述を一時的に追加されてはいかがでしょうか。
php_value memory_limit 1024M
.htaccessを編集しても効果はないはずです。何故ならば、Apache2ではなく,Nginxで動かしているからです。
phpfpmのiniファイルで変更をやるか、Mooshなどによってタイムアウト制限無い状況でするしか無いかなと思います。
他のやり方だと、削除前にコースリセットをして、そして削除してみればどうですか。リセットにタイムアウトなしの方法の一つは以下のプラグインを使ったやり方です。
https://github.com/adamjenkins/moodle-tool_bulkreset
Good luck!
phpfpmのiniファイルで変更をやるか、Mooshなどによってタイムアウト制限無い状況でするしか無いかなと思います。
他のやり方だと、削除前にコースリセットをして、そして削除してみればどうですか。リセットにタイムアウトなしの方法の一つは以下のプラグインを使ったやり方です。
https://github.com/adamjenkins/moodle-tool_bulkreset
Good luck!
アドバイスありがとうございます。
Moodle専用サーバなので php.ini で memory_limit 1024M に変更しました。また,Nginx, php-fpm, php のタイムアウトを 60分 に増やしてから,コース削除を実施したところ無事削除することができました。
ありがとうございました。
Moodle専用サーバなので php.ini で memory_limit 1024M に変更しました。また,Nginx, php-fpm, php のタイムアウトを 60分 に増やしてから,コース削除を実施したところ無事削除することができました。
ありがとうございました。