tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Magic Mover for Notes And Attachments to Lightning Experience を試してみました

Magic Mover for Notes And Attachments to Lightning Experience を試してみました。メモ&添付ファイルをLightning Experienceがサポートするメモオブジェクトとファイルオブジェクトの形式に変換するためのアプリケーションです。

f:id:tyoshikawa1106:20180408085128p:plain

Magic Mover for Notes And Attachments to Lightning Experience - Salesforce Labs - AppExchange


このアプリケーションはSummer'17でファイルの変換方法として紹介されています。Salesforce社のSalesforce LabsチームがAppExchangeで公開していますが、Sales CloudやService Cloudのようにサポートされている製品ではないと思います)
f:id:tyoshikawa1106:20180408085506p:plain

リリースノート


メモ&添付ファイルの場合、LightningExperineceで参照すると自動でダウンロードされてしまいますが、ファイル形式の場合はプレビューモードが起動されます。そのため、Lightning Experienceの有効化には避けては通れない作業となっています。
f:id:tyoshikawa1106:20180408090039p:plain


アプリの利用ガイドも用意されています。作業の前には確認しておくと良さそうです。Summer'17のリリースノート公開されたときからアプリ名は変更されていたみたいです。
f:id:tyoshikawa1106:20180408090321p:plain

https://appexchange.salesforce.com/servlet/servlet.FileDownload?file=00P3A00000cWkhLUAS


AppExchangeなのでインストールは簡単に実施できます。
f:id:tyoshikawa1106:20180408090538p:plain:w300


ただし、そのままインストールするとエラーになると思います。
f:id:tyoshikawa1106:20180408090601p:plain:w300


このエラーはインストール作業前に必要な設定を行っていないからでした。ユーザインターフェースの設定でチェックを付ける必要があります。(詳細はガイドの方に記載されていました。)
f:id:tyoshikawa1106:20180408090636p:plain


メモ機能の有効化もやっておいたほうが良さそうです。
f:id:tyoshikawa1106:20180408090733p:plain


これで問題なくインストールできると思います。
f:id:tyoshikawa1106:20180408090806p:plain:w300


インストールすると権限セットが追加されます。これを管理者ユーザに割り当てます。
f:id:tyoshikawa1106:20180408090840p:plain


また下記の権限を追加してください。
f:id:tyoshikawa1106:20180408090920p:plain

f:id:tyoshikawa1106:20180408090934p:plain



下記のVisualforceページタブが追加されます。

  • Attachments
  • Attachments to Files
  • Configuration
  • Last Documents
  • Latest Files & Notes
  • Notes Conversion
  • Update Page Layouts


メモ&添付ファイルを移行するのはAttachments to Filesタブのページです。確認時に複数あることに気づかずメモ変換用のNotes Conversionページを起動したのですが、最初にリモートサイト設定の追加が必要になります。おそらく画面にメッセージが表示されるのでボタンをクリックするだけで追加完了です。権限セットが割り当てられていないとここで警告も表示されました。
f:id:tyoshikawa1106:20180408091253p:plain

f:id:tyoshikawa1106:20180408091554p:plain


ひとまずこれで事前準備が整いました。作業前にConfigurationタブにアクセスしてください。ここでバッチサイズを切り替えることが可能みたいです。
f:id:tyoshikawa1106:20180408091755p:plain


ファイル変換処理ですが、何も考えずに実行していくと『Apex CPU time limit exceeded』エラーが発生します。これは1日の使用量をオーバーしたことで発生するのですが、これが発生すると24時間一部機能が利用できなくなります。エラー通知のメールに「サポートに問い合わせて下さい。」と記載ありました。念のために問い合わせてみましたがさすがに緩和とかは難しいみたいでした。(※ファイルの変換作業は一度に処理する件数を減らすことで進めることができました。)


こうしたエラーを回避するためにもバッチサイズを50〜80ぐらいに減らしておいた方が無難かと思います。変換作業を実施したときにはこのページの存在に気づかずに上記CPUタイムの上限エラーを起こしてしました。その後70件から80件だと動くことに気付き毎回手動実行する方法で対応したのですが、本来はこのページでバッチサイズを変更すれば簡単に対応できると思います。



バッチサイズの設定ができたら、Attachments to Filesタブにアクセスします。ここでファイル変換作業を実施できます。
f:id:tyoshikawa1106:20180408092521p:plain


まずは対象ファイルを日付とオブジェクトで絞り込みます。今回変更対象のファイルは長年使われている組織と比べて多くなかったため、全期間と全オブジェクトで取得しても問題ありませんでしたが、必要に応じて絞り込むと良さそうです。条件を指定したらFilterボタンで検索できます。
f:id:tyoshikawa1106:20180408092626p:plain


検索した移行対象は画面左下に表示されます。移行対象にチェックをつけて少し上にあるConvertボタンをクリックします。
f:id:tyoshikawa1106:20180408092927p:plain


最初は検証用に数件試すのが良いと思います。実行前のメモ&添付ファイルはこのようになっています。
f:id:tyoshikawa1106:20180408093201p:plain


Converボタンをクリックするとポップアップで確認メッセージが表示されるので問題なければ実行します。
f:id:tyoshikawa1106:20180408093319p:plain


処理はApexバッチで行われます。完了まで少し時間が掛かります。
[f:id:tyoshikawa1106:20180408093337p:plain:300]


処理が完了するとメールで通知が届きます。ガバナ制限が発生しそうな場合などの通知メールも届くようになっています。
f:id:tyoshikawa1106:20180408093543p:plain


処理完了後はこのようになります。
f:id:tyoshikawa1106:20180408093632p:plain


ファイル関連リストとメモ&添付ファイルに同じものが表示されているのは、Salesforceの仕様なので問題ありません。(ファイル関連リストのデータはメモ&添付ファイルからも参照可能となっています。)


タイトル部分にIDが割り当てられたファイル、これが移行元となったファイルです。
f:id:tyoshikawa1106:20180408093852p:plain


移行元のファイルはAttachments to Filesの機能で削除することが可能です。
f:id:tyoshikawa1106:20180408094045p:plain


ゴミ箱をクリックすると削除バッチが実行されます。
f:id:tyoshikawa1106:20180408094117p:plain


これで不要になったファイルを削除できました。ファイルはゴミ箱にはいかず完全削除されるので注意してください。
f:id:tyoshikawa1106:20180408094232p:plain


この作業が完了した後すぐに対応しなくてはならないことがあります。ページレイアウトの設定です。メモ&添付ファイル関連リストが表示されたままだとまた新たなファイルがアップロードされてしまいます。それを防ぐためにメモ&添付関連リストを除外してファイル関連リストに差し替える必要があります。


こうした作業はUpdate Page Layoutタブの機能を利用すると簡単です。
f:id:tyoshikawa1106:20180408094510p:plain


画面左側のチェックボックスがメモ&添付ファイルが表示されているページレイアウトを表します。画面右側のチェックがファイル関連リスト・メモ関連リストを表示していることを表しています。関連リストの追加と除外は右上のボタンから実行できました。
f:id:tyoshikawa1106:20180408094832p:plain:w300



これでMagic Mover for Notes And Attachments to Lightning Experienceをつかってファイル関連リストへの変換が完了しました。メモの方は試していませんが同じように実行できると思います。この機能は正式な製品ではないと思いますので基本的には自己責任での利用が求められると思います。利用前には事前の検証を必ず行うようにした方が良さそうです。


注意点として、このパッケージのApexクラスがテストクラスでエラーが発生しました。インストール中はリリース作業ができなくなる可能性があります。(パッケージではなく組織側の問題かもしれません。)


検証時にはその当たりも含めて確認しておくのが良さそうです。


正式な製品ではありませんが、Salesforceのチームが公開しているためかTrailblazerCommunityにグループが用意されています。そこで最新情報を取得したり質問したりができそうです。
f:id:tyoshikawa1106:20180408095242p:plain
https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F93A000000LgpSSAS

補足

メモ&添付ファイル関連リストはAttachmentオブジェクトでしたが、ファイル関連リストのデータはContentVersion/ContentDocumentで管理されます。Apex側での改修が必要になったり、Force.comサイトのゲストユーザでアクセスできなかったりしますので、開発が入っている組織の場合は移行して問題が内科のチェックを行う必要があります。