ポータルには3種類のファイルアップロードがある
ポータルのダウンロードはWebファイルを使用して実現することが分かったので、次は逆のアップロードの話です。
Dynamicsポータルにおいても、ファイルのアップロード機能はあります。
ポータルのファイルアップロードについては、以下3種類のアプローチがあります。
- メモ添付
- Azure Blob Storage
- Share Point
3つのやり方について、設定方法も大きく異なるので、複数回に分けて設定方法を掲載していきたいと思います。
今回はメモ添付によるファイルアップロードです。
メモエンティティを使用したファイルアップロード
メモを使用したファイル添付は、エンティティフォームから設定します。
今回は取引先担当者に対してファイルを添付設定を例とします。
その前に、レコード登録対象となるエンティティにメモが使用可能になっていることが大前提です。
エンティティの設定で、「メモ(添付ファイルを含む)」にチェックがあるのを確認してください(ない場合はチェック)。
そして、もう一つ忘れがちなのがメモエンティティへのアクセスアクセス制御解放です。
メモエンティティをレコードと一緒に添付ファイルを登録することになるので、メモエンティティのアクセス制御も設定しておきましょう。
このキャプチャではフル解放していますが、「作成」「追加」にチェックが付いて入ればOKです。
あと、添付対象のエンティティ(ここでは取引先担当者)に「追加先」権限をつけておくのも忘れずに。
そしていよいよエンティティフォームの設定に入ります。
まずは、登録フォームから。
エンティティフォーム設定時、[追加設定]タブから[添付ファイルの追加]セクションの内容が添付ファイルに関わる設定となります。
以下のように、添付ファイルの有効化と保存場所をメモにするように設定しましょう。
あとはお好みの設定で。
設定次第では、ファイルの複数添付、添付ファイルの必須化、指定されたファイル形式のみのアップロードなどが設定でき、なかなか機能豊富です。
登録で使用するフォームは任意のもので構いません。
タイムラインやメモのサブグリッドなどをフォームに入れる必要はありません。
作成したエンティティフォームでレコードを登録しようとすると、以下のようにファイル添付ができるようになります。
ファイルを添付した状態でレコードを登録(ここでは「送信」ボタン)すれば、レコードの登録と共にファイルが添付されます。
あえて、強調させますが、レコードの登録と一緒のタイミングというところがポイントです。
添付したファイルをポータル上で見る
次は、エンティティフォームで登録したファイルを見る場合の設定です。
こちらは、エンティティフォームに取り込むフォームに仕掛けが必要になります。
フォームでタイムラインを追加するようにしましょう。
今回見たいのはタイムラインのメモなので、投稿や活動の表示は外してしまって構いません。
プロパティでメモだけを表示するようにタイムラインの設定を変更します。
エンティティフォームではタイムラインをつけたフォームを取り込みます。
参照側のエンティティフォームは添付ファイル系の設定は不要です。
あとはエンティティリストなどから参照のエンティティフォームを開くだけ。
添付ファイルの表示はこのようになります。
この通り、画像ファイルも自動的に表示できるようになります。
もちろん、ダウンロードも可能です。
完璧なUIを目指すならエンティティフォームメタデータを駆使しよう
次はちょっと応用編。
編集画面はちょっと複雑です。
上記でファイルの登録と表示はできましたが、これだけではアップロードしたファイルの削除や編集(書き換え)が出来ません。
編集のエンティティフォームはタイムライン付きのフォームとエンティティフォームメタデータを使用します。
まずはフォームは参照の時に使用したフォームと同じように、タイムラインコントロールを入れます。
エンティティフォームも参照と同じように作成します。
[追加設定]タブにある添付ファイルの設定は不要です。
編集のエンティティフォームには、エンティティフォームメタデータを追加します。
[種類]に「メモ」を選択することで、フォームに配置したタイムラインのメモに対して、カスタマイズをかけることが可能です。
詳細な設定は割愛しますが、「作成が有効」「編集が有効」「削除が有効」の設定が添付ファイルの出し入れにあたるところなので、trueに設定しましょう。
このエンティティフォームを編集で開くとこのように、添付ファイルの参照に加え、追加・編集(ファイル上書き)・削除が可能になります。
添付ファイルの中で一番シンプルな設定のメモ添付なんですが、これでも結構ボリューミーですね。
次回はAzure Blob Storageを使用したファイル添付を扱う予定です。
僕はあまりAzure触っていないので、うまく書けるか不安です。。。
コメント