Magic Mover for Notes And Attachments to Lightning Experience を試してみました。メモ&添付ファイルをLightning Experienceがサポートするメモオブジェクトとファイルオブジェクトの形式に変換するためのアプリケーションです。
Magic Mover for Notes And Attachments to Lightning Experience - Salesforce Labs - AppExchange
このアプリケーションはSummer'17でファイルの変換方法として紹介されています。Salesforce社のSalesforce LabsチームがAppExchangeで公開していますが、Sales CloudやService Cloudのようにサポートされている製品ではないと思います)
メモ&添付ファイルの場合、LightningExperineceで参照すると自動でダウンロードされてしまいますが、ファイル形式の場合はプレビューモードが起動されます。そのため、Lightning Experienceの有効化には避けては通れない作業となっています。
アプリの利用ガイドも用意されています。作業の前には確認しておくと良さそうです。Summer'17のリリースノート公開されたときからアプリ名は変更されていたみたいです。
https://appexchange.salesforce.com/servlet/servlet.FileDownload?file=00P3A00000cWkhLUAS
AppExchangeなのでインストールは簡単に実施できます。
ただし、そのままインストールするとエラーになると思います。
このエラーはインストール作業前に必要な設定を行っていないからでした。ユーザインターフェースの設定でチェックを付ける必要があります。(詳細はガイドの方に記載されていました。)
メモ機能の有効化もやっておいたほうが良さそうです。
これで問題なくインストールできると思います。
インストールすると権限セットが追加されます。これを管理者ユーザに割り当てます。
また下記の権限を追加してください。
下記のVisualforceページタブが追加されます。
- Attachments
- Attachments to Files
- Configuration
- Last Documents
- Latest Files & Notes
- Notes Conversion
- Update Page Layouts
メモ&添付ファイルを移行するのはAttachments to Filesタブのページです。確認時に複数あることに気づかずメモ変換用のNotes Conversionページを起動したのですが、最初にリモートサイト設定の追加が必要になります。おそらく画面にメッセージが表示されるのでボタンをクリックするだけで追加完了です。権限セットが割り当てられていないとここで警告も表示されました。
ひとまずこれで事前準備が整いました。作業前にConfigurationタブにアクセスしてください。ここでバッチサイズを切り替えることが可能みたいです。
ファイル変換処理ですが、何も考えずに実行していくと『Apex CPU time limit exceeded』エラーが発生します。これは1日の使用量をオーバーしたことで発生するのですが、これが発生すると24時間一部機能が利用できなくなります。エラー通知のメールに「サポートに問い合わせて下さい。」と記載ありました。念のために問い合わせてみましたがさすがに緩和とかは難しいみたいでした。(※ファイルの変換作業は一度に処理する件数を減らすことで進めることができました。)
こうしたエラーを回避するためにもバッチサイズを50〜80ぐらいに減らしておいた方が無難かと思います。変換作業を実施したときにはこのページの存在に気づかずに上記CPUタイムの上限エラーを起こしてしました。その後70件から80件だと動くことに気付き毎回手動実行する方法で対応したのですが、本来はこのページでバッチサイズを変更すれば簡単に対応できると思います。
バッチサイズの設定ができたら、Attachments to Filesタブにアクセスします。ここでファイル変換作業を実施できます。
まずは対象ファイルを日付とオブジェクトで絞り込みます。今回変更対象のファイルは長年使われている組織と比べて多くなかったため、全期間と全オブジェクトで取得しても問題ありませんでしたが、必要に応じて絞り込むと良さそうです。条件を指定したらFilterボタンで検索できます。
検索した移行対象は画面左下に表示されます。移行対象にチェックをつけて少し上にあるConvertボタンをクリックします。
最初は検証用に数件試すのが良いと思います。実行前のメモ&添付ファイルはこのようになっています。
Converボタンをクリックするとポップアップで確認メッセージが表示されるので問題なければ実行します。
処理はApexバッチで行われます。完了まで少し時間が掛かります。
[:300]
処理が完了するとメールで通知が届きます。ガバナ制限が発生しそうな場合などの通知メールも届くようになっています。
処理完了後はこのようになります。
ファイル関連リストとメモ&添付ファイルに同じものが表示されているのは、Salesforceの仕様なので問題ありません。(ファイル関連リストのデータはメモ&添付ファイルからも参照可能となっています。)
タイトル部分にIDが割り当てられたファイル、これが移行元となったファイルです。
移行元のファイルはAttachments to Filesの機能で削除することが可能です。
ゴミ箱をクリックすると削除バッチが実行されます。
これで不要になったファイルを削除できました。ファイルはゴミ箱にはいかず完全削除されるので注意してください。
この作業が完了した後すぐに対応しなくてはならないことがあります。ページレイアウトの設定です。メモ&添付ファイル関連リストが表示されたままだとまた新たなファイルがアップロードされてしまいます。それを防ぐためにメモ&添付関連リストを除外してファイル関連リストに差し替える必要があります。
こうした作業はUpdate Page Layoutタブの機能を利用すると簡単です。
画面左側のチェックボックスがメモ&添付ファイルが表示されているページレイアウトを表します。画面右側のチェックがファイル関連リスト・メモ関連リストを表示していることを表しています。関連リストの追加と除外は右上のボタンから実行できました。
これでMagic Mover for Notes And Attachments to Lightning Experienceをつかってファイル関連リストへの変換が完了しました。メモの方は試していませんが同じように実行できると思います。この機能は正式な製品ではないと思いますので基本的には自己責任での利用が求められると思います。利用前には事前の検証を必ず行うようにした方が良さそうです。
注意点として、このパッケージのApexクラスがテストクラスでエラーが発生しました。インストール中はリリース作業ができなくなる可能性があります。(パッケージではなく組織側の問題かもしれません。)
検証時にはその当たりも含めて確認しておくのが良さそうです。
正式な製品ではありませんが、Salesforceのチームが公開しているためかTrailblazerCommunityにグループが用意されています。そこで最新情報を取得したり質問したりができそうです。
https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F93A000000LgpSSAS
補足
メモ&添付ファイル関連リストはAttachmentオブジェクトでしたが、ファイル関連リストのデータはContentVersion/ContentDocumentで管理されます。Apex側での改修が必要になったり、Force.comサイトのゲストユーザでアクセスできなかったりしますので、開発が入っている組織の場合は移行して問題が内科のチェックを行う必要があります。