18. コマンドラインインタフェース (CLI)¶
コマンドラインインタフェース(CLI)を使用した場合、グラフィカルインタフェースではなく、コマンドラインまたはターミナルを介してMaharaと対話できます。これで特定のアクションを高速化したり実行を簡単にできます。
Note
各スクリプトで使用できる個々のコマンドに関するヘルプ情報を表示できます。
sudo -u www-data php htdocs/admin/cli/[file name of the script].php -h
18.1. ページにブロックを一括追加する¶
バックエンド経由でブロックとその設定を他の人のページまたは特定の人のページにコピーします。ブロックは同じページタイプにコピーされます。
例えば、元のブロックが 『ダッシュボード』 ページにある場合、そのブロックは 『ダッシュボード』 ページにだけコピーされます。コピー先のページに同じタイプのブロックがすでにある場合、ブロックはコピーされません。例えば、 『共有されたポートフォリオ』 ブロックは、そのブロックがまだ存在しない他の 『ダッシュボード』 ページにだけコピーできます。
sudo -u www-data php htdocs/admin/cli/add_block_to_views.php
必要なものは以下の通りです。これらは block_instance
データベース テーブルにあります:
コピーしたいブロックのID
ブロックが配置されているページのID
Note
『ページ』 はデータベースでは 『ビュー』 と呼ばれます。したがって、ページの ID を見つけるには 『ビュー』 を検索する必要があります。
18.2. 有効なアカウント所有者の情報¶
特定の期間にログインした人が、サイト上でコンテンツを作成またはアップロードするなど、何らかの関与をしたかどうかを知りたい場合があります。そのことがわかれば、ログインしただけで何もアクションを実行していない特定のアカウントを削除するかどうかを判断できます。
次のコマンドでスクリプトを実行します。
sudo -u www-data php htdocs/admin/cli/inactive_users.php --interval="1 YEAR"
Note
インターバルタイムを変更したり、日数や月数を表示したりすることもできます。インターバルは常に、現在から過去までの期間を示します。例えば、1 年を選択すると、過去 365 日間にサイトにログインしたすべての人が表示されます。
結果の表には次の情報が表示されます:
Mahara ID: 内部Mahara ID
ユーザ名: アカウントのユーザ名
最終ログイン: 最終ログインの日時
デフォルトページだけある: 『Yes』 が表示されている場合、アカウント所有者はダッシュボードとプロファイルページだけを持ち、ポートフォリオページを作成していません。 『No』 が表示されている場合、少なくとも 1 つのポートフォリオページがあります。
時間間隔内の新しいアーティファクト: 『Yes』 と表示される場合、時間間隔内にコンテンツが作成またはアップロードされています。 『No』 と表示される場合、選択した期間中にコンテンツは作成されていません。
時間間隔内の新しいポートフォリオ: 『Yes』 が表示されている場合は、時間間隔中に少なくとも 1 つのポートフォリオ ページが作成されています。 『No』 が表示されている場合は、時間間隔中にポートフォリオ ページが作成されていません。
グループに参加している: 『Yes』 と表示されている場合、少なくとも 1 つのグループのメンバーです。 『No』 と表示されている場合、どのグループにも参加していません。
使用済みクォータ: ファイルクォータの量がバイト単位で表示されます。
割り当て使用率: 割り当て使用率
18.3. cronジョブモニタ¶
外部監視ソフトウェアのcronジョブの失敗について警告を受け取るタイミングを構成します。
See also
プラグイン管理 の 『モニタ』 モジュールを参照してください。
18.4. 特定のグループを一括削除します¶
大規模なサイトで多くのアカウントを削除した場合、あなたは古いグループを効率的にクリーンアップできます。あなたは一括グループ削除スクリプトを使用して次の操作を実行できます:
メンバを持たないすべてのグループを削除します。例えばアカウントが削除された後;
そしてサイト管理者だけをメンバとして持つすべてのグループを削除します;
および/または特定のインスティテューションに関連するグループだけ削除します。
次のコマンドでスクリプトを実行します。データが偶発的に削除されないようにデフォルトでドライランが実行されます。
sudo -u www-data php htdocs/admin/cli/delete_inactive_groups.php
18.5. 特定のアカウントを一括削除します¶
管理画面に移動せずにサイトから一括でアカウントを削除する場合、特に削除するアカウントが500人を超える場合はCLIを使用できます。このスクリプトでは次の操作を実行できます:
ログインしたことがないすべてのアカウント、つまり、CSVファイルまたは自動プロセスを使用して手動で作成されたアカウントをすべて削除します;
および/または特定の日付以降にログインしていないすべてのアカウントを削除します;
および /または、1 つ以上の特定のインスティテューションからそれらのアカウントだけを削除します;
1 つまたは複数の特定のインスティテューションに属さないアカウントを削除します;
特定のグループのメンバであるアカウントを削除します。
Note
インスティテューションまたはグループを指定するときは、それらの短縮名を使用してください。
次のコマンドでスクリプトを実行します。データが偶発的に削除されないようにデフォルトでドライランが実行されます。
一般的なドライラン:
sudo -u www-data php htdocs/admin/cli/delete_inactive_users.php
ヘルプファイルを表示する:
sudo -u www-data php htdocs/admin/cli/delete_inactive_users.php -h
18.6. アカウントを一括でエクスポート¶
CLI を使用してすべてのアカウントまたは特定のアカウントを一括エクスポートできます。あなたには以下のオプションがあります:
すべてのアカウントをエクスポートする
フィルタクライテリアに基づき一部のアカウントをエクスポートする: first name, last name, email, username
CSVファイルに基づき一部のアカウントをエクスポートする
エクスポートフォーマットを選択する: HTML, Leap2A, PDF (iインストールされている場合)
次のコマンドでスクリプトを実行します。データが偶発的に削除されないようにデフォルトでドライランが実行されます。
一般的なドライラン:
sudo -u www-data php htdocs/admin/cli/portfolio_bulkexport.php
ヘルプファイルを表示する:
sudo -u www-data php htdocs/admin/cli/portfolio_bulkexport.php -h
18.7. Elasticsearchをより速く実行してサイト索引を作成する¶
Note
前提条件: Elasticsearchがインストールされ、サイト上で動作するように設定されています。
Elasticsearchが結果を表示できるよう大きなサイトでインデックス化または再インデックス化される場合、インデックス化はcronで実行されるため、この処理には非常に長い時間を要する場合があります。cronの実行完了前にインデックス化のバッチが終了した場合、次のバッチが再開されるまでの時間差があります。fast_index
CLIスクリプトは前のバッチ完了直後に次のバッチインデックス化を開始します。
次のコマンドを使用してスクリプトを実行します:
sudo -u www-data php admin/cli/fast_index.php
18.8. 言語パックをインストールおよび更新する¶
通常、言語パックを更新したい場合、手動で言語パック全体をダウンロードした後、適切なフォルダに入れる必要があります。特にマイナーアップデート時に言語パックを更新したい場合に煩雑な作業となります。
あなたはCLIの使用でプロセスを時間短縮できます。
言語コードをリストすることによるMaharaのインスタンスのための 言語パックのインストールまたはアップデート
例(de = ドイツ語、fr = フランス語)
sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr
それらがdatarootの langpacks_backup
ディレクトリに存在する場合、これは既存の言語をバックアップします。
Note
使用される言語コードは Mahara言語パック のために使われた公式な国際的なものです。
バックアップを行わない: -b=false
フラグを追加する
例:
sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -b=false
バックアップをリストアする: -r=true
フラグを使用します。
例:
sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -r=true
これはMahara内部で設定されている英語のアップデートを無視します。
18.9. アウトカムポートフォリオテーブルを入力する¶
<single: アウトカムポートフォリオ; カテゴリおよびサブジェクトを追加する>アウトカムポートフォリオ にはアウトカムカテゴリ、タイプおよびサブジェクトを必要とします。これらはCLIを経由したCSVファイルのアップロードで直接データベースに追加されます。
See also
CSVファイルをどのようにすべきか :ref:`アウトカムポートフォリオタイプおよびサブジェクトセットアップインストラクション <outcomes_tables>`をご覧ください。
アウトカムタイプファイルをアップロードおよびアウトカムカテゴリを直接設定する:
sudo -u www-data php htdocs/admin/cli/populate_outcome_tables.php -t=path_to_categories.csv
**-t**フラグは結果タイプを含むファイルであることを示します。
サブジェクトファイルをアップロードする
sudo -u www-data php htdocs/admin/cli/populate_outcome_tables.php -s=path_to_subjects.csv
**-s**フラグはサブジェクトを含むファイルであることを示します。
**-e** フラグ を使用すると、カテゴリまたはサブジェクトを作成するインスティテューションのアウトカム機能が有効になっていない場合に、その機能を有効にすることができます。
例えば、次のコマンドは、CSV ァイルに記載されているインスティテューションのアウトカムを有効にし、サブジェクトを作成します。
sudo -u www-data php htdocs/admin/cli/populate_outcome_tables.php -s=path_to_subjects.csv -e=true