コンテンツのエイリアス設定方法について

Re: コンテンツのエイリアス設定方法について

- Takahiro Miyamoto の投稿
返信数: 6

Yoshidaさま

ご返信ありがとうございます。
シンボリックリンクとリポジトリの関係性理解しました。
一度、ご教示頂いた手順にて試してみます。

また結果についてはご報告させていただきます。

Takahiro Miyamoto への返信

Re: コンテンツのエイリアス設定方法について

- Takahiro Miyamoto の投稿
Yoshidaさま

あれから情報システム部と連携し、追加したディスクに作成したディレクトリに対してシンボリックリンクを設定しました。
リポジトリインスタンスの作成まで無事に完了しました。

アクセス可能かどうか、Moodleのファイルピッカにて確認したのですが、追加したディレクトリにはアクセスできたのですがコピーした「Delivery]フォルダ内のHTMLファイルが表示されず選択できません。
権限設定の問題でしょうか?
Deriveryフォルダの権限が drwxrwxr-x となっているため775になっているので、777にしないといけないでしょうか?
またシンボリックリンクの権限設定は関係ないでしょうか?

以上よろしくお願いいたします。
ファイルピッカ
Takahiro Miyamoto への返信

Re: コンテンツのエイリアス設定方法について

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> 権限設定の問題でしょうか?

いいえ。

> Deriveryフォルダの権限が drwxrwxr-x となっているため775になっているので、777にしないといけないでしょうか?

いいえ。

> またシンボリックリンクの権限設定は関係ないでしょうか?

いいえ。

もしかして、Attoエディタの「イメージを挿入/編集する」または「Moodleメディアを追加する」ボタンをクリックしてファイルピッカを表示されていませんか?

もし、そうでしたら、画像または動画ファイルではないため、ファイルピッカのフォルダ内にHTMLファイルは表示されません。

Mitsuhiro Yoshida への返信

Re: コンテンツのエイリアス設定方法について

- Takahiro Miyamoto の投稿

Yoshidaさま

お世話になります。
権限設定の件ではなく、ファイルピッカの使い方でした。
確認不足でした。

ファイルピッカの使い方で質問なのですが、イメージを挿入すると下記のメニューが表示されます。
・ファイルのコピーを作成する
・ファイルのエイリアス/ショートカットを作成する
を選択できますが、実際に「ファイルのエイリアス/ショートカットを作成する」にしても実際の選択したファイルのリンクと異なります。

実際のファイルパス(Moodelのファイルピッカで選択した順番)
movie_data/movies/lms/tdc/Design/*******.png

挿入後のファイルパス
https://aaa.bbb.com/draftfile.php/219/user/draft/135553526/*******.png

イメージファイルの前に「135553526」が付いています。
活動ページごとのID別にイメージがコピーされてしまうのでしょうか?

マウントしたexternal_repositoryに入っているファイルパスそのままを利用することはできないのでしょうか?

選択

Takahiro Miyamoto への返信

Re: コンテンツのエイリアス設定方法について

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> イメージファイルの前に「135553526」が付いています。活動ページごとのID別にイメージがコピーされてしまうのでしょうか?

はい、そうです。以下のようにlib/weblib.phpの824行目あたりの関数make_draftfile_url()でイメージのURLにコンテクストID ($context->id) が付加されます。

    /**
     * Factory method for creation of url pointing to draft file of current user.
     *
     * @param int $draftid draft item id
     * @param string $pathname
     * @param string $filename
     * @param bool $forcedownload
     * @return moodle_url
     */
    public static function make_draftfile_url($draftid, $pathname, $filename, $forcedownload = false) {
        global $CFG, $USER;
        $urlbase = "$CFG->wwwroot/draftfile.php";
        $context = context_user::instance($USER->id);

        return self::make_file_url($urlbase, "/$context->id/user/draft/$draftid".$pathname.$filename, $forcedownload);
    }

> マウントしたexternal_repositoryに入っているファイルパスそのままを利用することはできないのでしょうか?

external_repository内のファイルにウェブアクセス可能であれば利用できると思いますが、恐らく、難しいのではないでしょうか。

このディスカッションスレッドは2020年 07月 27日(月曜日) 当初のご質問「コンテンツのエイリアス設定方法について」と異なる内容になっていると思われますため、今回の投稿で私からのお返事は終了とさせて頂きます。

Mitsuhiro Yoshida への返信

Re: コンテンツのエイリアス設定方法について

- Takahiro Miyamoto の投稿

Yoshidaさま

お世話になります。
色々アドバイスいただきありがとうございました。
外部ディスクをマウントしてもコンテンツ毎にIDが付加されるため、動画再生のパスをAWSロードバランサーで振分けできないことがわかりましたので、また別の方法を検討してみます。

今後ともどうぞよろしくお願いいたします。