MultiRecordEditor セットアップマニュアル
セットアップについて
MultiRecordEditorのセットアップは以下の手順で行います。
01.前提
02.パッケージ内容の説明
03.セットアップ
04.その他
01.前提
Salesforceをご理解されてることを前提としております。なお、MultiRecordEditorが動作するシステム環境の仕様は以下の通りです。
システム環境 | 仕様等 |
---|---|
エディション | Essentials Edition、Group Edition、Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition 詳細はSalesforceヘルプの「パッケージのインストール」を参照ください。 |
02.パッケージ内容の説明
インストールされるパッケージ内容は以下の通りです。
リソース | 名称 | 説明 |
---|---|---|
権限セット | MultiRecordEditorPermission | MultiRecordEditor用の権限セット |
カスタムメタデータ型 | MultiRecordEditorDefaultSetting | 同期・非同期用の処理制御値 |
カスタム通知種別 | MultiRecordEditor_AsyncProcessFinished | 非同期処理完了通知 |
カスタムボタン(サンプル) | AccountBulkUpdateButton | 取引先用の一括更新ボタン(クリック時、MultiRecordEditor画面に遷移) |
Visualforce(サンプル) | MultiRecordEditorRedirectVFPage4Account | 取引先用のMultiRecordEditorリダイレクト処理 |
プログラム | 一式 | MultiRecordEditorに必要なプログラムファイル一式 |
03.セットアップ
以下の手順でセットアップを行ってください。
管理パッケージのインストール方法
パッケージインストールの際にはインターネット接続が必須となりますので、あらかじめご確認下さい。
利用規約合意後、弊社からパッケージインストール用URLとインストールキーをご提供致します。
インストール作業の際はこれらの情報が必要となりますので、あらかじめご準備下さい。
インストール
①パッケージインストール用URLをブラウザにて入力します。
②Salesforceのログイン画面が表示されますので、インストール先環境のシステム管理者ユーザでログインします。
③ログイン致しますとパッケージインストール画面が表示されます。
④任意のインストール設定を選択(※)、並びにインストールキーを入力し、「インストール」ボタンをクリックします。
⑤パッケージのインストールが開始されます。完了画面の表示、及び完了メールの通知が行われるまでお待ちください。
⑥完了画面にて「完了」ボタンをクリックします。
⑦インストール済みパッケージ一覧画面が表示されますので、本パッケージがインストール済みの一覧に表示されていることをご確認下さい。
※インストール種別は「管理者のみインストール」を推奨とします。
アップグレード
①パッケージインストール(アップグレード)用URLをブラウザにて入力します。
②Salesforceのログイン画面が表示されますので、インストール(アップグレード)先環境のシステム管理者ユーザでログインします。
③ログイン致しますとパッケージインストール(アップグレード)画面が表示されます。
④任意のインストール(アップグレード)設定を選択し、「アップグレード」ボタンをクリックします。
⑤パッケージのインストール(アップグレード)が開始されます。完了画面の表示、及び完了メールの通知が行われるまでお待ちください。
⑥完了画面にて「完了」ボタンをクリックします。
⑦インストール済みパッケージ一覧画面が表示されますので、本パッケージがインストール済みの一覧に表示されていることをご確認下さい。
Visualforce作成
MultiRecordEditorを利用する対象のオブジェクトのリストビューからMultiRecordEditor画面に遷移するためのプログラムを作成します。
①Salesforce画面右上の設定メニュー(歯車アイコン)から「設定」メニューをクリックします。
②Salesforce設定画面が表示されますので、サイドバーのクイック検索欄に「Visualforce」と入力し、
カスタムコード配下の「Visualforceページ」リンクをクリックし、Visualforceページ画面を表示します。
③新規ボタンをクリックし、以下、対象となるオブジェクトのVisualforceを作成し保存します。
表示ラベル:MultiRecordEditorRedirectVFPage4【OBJECT名】
名前:MultiRecordEditorRedirectVFPage4【OBJECT名】
説明:MultiRecordEditorを利用する【OBJECT名】オブジェクトのリストビューからMultiRecordEditor画面に遷移するためのプログラム
Lightning Experience、エクスペリエンスビルダーサイト、およびモバイルアプリケーションで利用可能:□
GET 要求の CSRF 保護が必要:□
Visualforce Markup:以下をコピー&ペースト(【OBJECT名】は対象オブジェクト名に変更してください)
<apex:page standardController="【OBJECT名】"
recordSetVar="records"
extensions="MultiRecordEditorRedirectVFController"
action="{!redirectToMultiRecordEditorMainPage}">
</apex:page>
取引先オブジェクトの例は以下の通りです。
表示ラベル:MultiRecordEditorRedirectVFPage4Account
名前:MultiRecordEditorRedirectVFPage4Account
説明:MultiRecordEditorを利用する取引先オブジェクトのリストビューからMultiRecordEditor画面に遷移するためのプログラム
Lightning Experience、エクスペリエンスビルダーサイト、およびモバイルアプリケーションで利用可能:□
GET 要求の CSRF 保護が必要:□
Visualforce Markup:以下をコピー&ペースト
<apex:page standardController="Account"
recordSetVar="records"
extensions="MultiRecordEditorRedirectVFController"
action="{!redirectToMultiRecordEditorMainPage}">
</apex:page>
④③で作成したVisualforceページを各利用ユーザが参照できるように、プロファイルや権限セット等を使用して権限設定を行います。
カスタムボタン作成
MultiRecordEditor画面の遷移元リストビューに追加するカスタムボタンを作成します。
①Salesforce画面右上の設定メニュー(歯車アイコン)から「設定」メニューをクリックします。
②Salesforce設定画面が表示されますので、オブジェクトマネージャをクリックします。
③右上の検索窓から対象のオブジェクトを入力し検索し、表示ラベルの該当のオブジェクトをクリックします。
④画面左のメニューから「ボタン、リンク、およびアクション」をクリックします。
⑤画面右上の「新規ボタンまたはリンク」をクリックし、以下、ボタン設定を行い保存します。
表示ラベル:【任意:一括更新等わかりやすいネーミングで設定してください】
名前:【OBJECT名】BulkUpdateButton
名前空間プレフィックス:MultiRecEditor
説明:リストビューからMultiRecordEditor画面に遷移するボタン
表示の種類:リストボタン
チェックボックスの表示 (複数レコード選択用):☑
動作:現在のウィンドウにサイドバー付きで表示
コンテンツソース:Visualforce ページ
コンテンツ:上記で作成したvisualforceを選択
リストビューボタンレイアウト設定
上記カスタムボタンをリストビューボタンレイアウトで設定します。
①Salesforce画面右上の設定メニュー(歯車アイコン)から「設定」メニューをクリックします。
②Salesforce設定画面が表示されますので、オブジェクトマネージャをクリックします。
③右上の検索窓から対象のオブジェクトを入力し検索し、表示ラベルの該当のオブジェクトをクリックします。
④画面左のメニューから「リストビューボタンレイアウト」をクリックします。
⑤リストビューの右メニューから「編集」をクリックします。
⑥カスタムボタンの利用可能なボタンから上記で作成したボタンを選択し追加し、保存します。
権限設定
上記「Visualforce作成」で作成したVisualforceの権限をプロファイル又は権限セットで設定します。
また、上記権限セット又はプロファイルとパッケージで提供してる権限セットの「MultiRecordEditor利用権限」をユーザーに割り当てます。
上記「Visualforce作成」で作成したVisualforceの権限セット設定
①Salesforce画面右上の設定メニュー(歯車アイコン)から「設定」メニューをクリックします。
②Salesforce設定画面が表示されますので、サイドバーのクイック検索欄に「ユーザ」と入力し、
ユーザカテゴリ配下の「権限セット」リンクをクリック、権限セット一覧画面を表示します。
③「新規」をクリックし対象の権限セットラベルリンクをクリックします。
④上記「Visualforce作成」で作成したVisualforceの権限セットを運用要件に合わせ作成します。
・表示ラベル:任意:例えば、MultiRecordEditorユーザー利用権限
・API参照名:任意:例えば、MultiRecordEditorUserPermission
・セッションの有効化が必要:□
・ライセンス:任意
⑤権限セット一覧で上記で作成した「権限セットラベル」リンクをクリックします。
⑥アプリケーションの「Visualforce ページのアクセス」をクリックします。
⑦「Visualforce ページのアクセスの編集」をクリックします。
⑧「利用可能な Visualforce ページ」から上記「Visualforce作成」で作成したVisualforceを選択し、
「有効化された Visualforce ページ」へ追加し保存します。
⑨「Visualforce ページのアクセス」の関連リスト内に⑧で選択したVisualforceページが表示されていることをご確認下さい。
上記「Visualforce作成」で作成したVisualforceのプロファイル設定
①Salesforce画面右上の設定メニュー(歯車アイコン)から「設定」メニューをクリックします。
②Salesforce設定画面が表示されますので、サイドバーのクイック検索欄に「ユーザ」と入力し、
ユーザカテゴリ配下の「プロファイル」リンクをクリック、プロファイル一覧画面を表示します。
③対象の「プロファイル名」リンクをクリックします。
④「有効な Visualforce ページアクセスの編集」をクリックします。
⑤「利用可能な Visualforce ページ」から上記「Visualforce作成」で作成したVisualforceを選択し、
「有効化された Visualforce ページ」へ追加し保存します。
⑥「有効な Visualforce ページアクセス」関連リスト内に⑤で選択したVisualforceが表示されていることをご確認下さい。
ユーザー設定
MultiRecordEditorを利用する既存もしくは新規のユーザアカウントをご用意ください。
以下は、既存ユーザーアカウントでの権限セットの設定例です。
①Salesforce画面右上の設定メニュー(歯車アイコン)から「設定」メニューをクリックします。
②Salesforce設定画面が表示されますので、サイドバーのクイック検索欄に「ユーザ」と入力し、
ユーザカテゴリ配下の「ユーザ」リンクをクリック、ユーザ一覧画面を表示します。
③ユーザ一覧画面にて①でご用意いただいたユーザアカウントの氏名リンクをクリックします。
④当該ユーザアカウントの詳細画面が表示されますので、ヘッダメニューの「権限セットの割り当て」リンクをクリックします。
⑤「権限セットの割り当て」関連リスト内の「割り当ての編集」ボタンをクリックします。
⑥当該ユーザアカウントに付与したいユーザ権限に応じて、「利用可能な権限セット」リストから以下の権限セットを選択し、
「追加」ボタンをクリック、「有効化された権限セット」リストに当該権限セットが表示されたことを確認後、
「保存」ボタンをクリックします。
・MultiRecordEditor利用権限
・上記「Visualforce作成」で作成した権限セット(プロファイルで設定した場合は必要ありません)
⑦権限セット割り当て保存後、「権限セットの割り当て」関連リスト内に⑥で選択した権限セットが表示されていることをご確認下さい。
その他、データアクセス権限
Salesforce標準機能のロールおよび共有設定の設定内容に従います。
動作確認
動作確認は、ユーザーマニュアルを参照してください。
04.システムエラーについて
システムエラーの確認方法およびチューニングについて説明します。
バッチジョブの確認
非同期処理によるバッチジョブでApexガバナ制限に抵触しシステムエラーが発生した場合、カスタム通知で完了通知が届きません。
以下バッチを設定>環境>ジョブ>Apexジョブで状況を確認してください。
・MultiRecordEditor一括更新バッチ:MultiRecordEditorUpdateBatch
・MultiRecordEditorCSV出力バッチ:MultiRecordEditorCsvOutputBatch
Apex例外メールの設定
設定>メール>Apex例外メールの設定をしてください。
チューニング方法
方式について
Salesforceは、クラウド環境で動作しており他ユーザーも使用してる環境となるため、CPU・ストレージ・メモリ等のリソースを占有しないようApexガバナ制限を設けています。
一括更新では、対象となるリストビューはお客様環境によって数万件を超える可能性もあり、オンライン(同期)処理で耐えられない件数の場合はバッチ(非同期)処理にて行っております。
※バッチ(非同期)処理になる件数はLIMITクラスで制御してます。
カスタムメタデータ型
上記、Apexガバナ制限を制御するため、カスタムメタデータ型で設定した値を調整することでガバナに抵触しないように処理をすることができます。
項目名 | ラベル | 値 | 備考 |
---|---|---|---|
SyncHeapSizeLimit__c | 同期処理ヒープサイズ上限 | 5000000 | 同期処理でのファイル出力処理で、ヒープサイズのガバナ制限範囲内(6MB)でCSVファイルを分割出力する際のチェック用閾値。ヒープエラーが発生する場合は値を小さくしてください。 |
AsyncHeapSizeLimit__c | 非同期処理ヒープサイズ上限 | 5500000 | 非同期処理でのファイル出力処理で、ヒープサイズのガバナ制限範囲内(12MB)でCSVファイルを分割出力する際のチェック用閾値。 弊社環境にて、CSV出力非同期処理バッチ処理サイズ200で5500000以上のヒープサイズに設定するとCPUタイムアウトが発生したため、5500000以上の設定は控えてください。 また、ヒープエラーが発生する場合は値を小さくしてください。 |
BatchProcessSize__c | 更新バッチ処理サイズ | 200 | 非同期処理での一括更新処理のバッチサイズ。 インストール先環境のトリガ・フロー等の影響でCPUタイムアウト等が発生する場合にはバッチサイズを小さくしてください。 |
SyncCsvRowsLimit__c | 同期処理CSV出力件数上限 | 49000 | CSV出力処理の上限件数。 ガバナ制限範囲内(getLimitQueryRows():2023/7時点は5万件)での設定ですがシステム側で他にも処理してる関係で49000件以下で設定してください。 また、CPUタイムアウト等が発生する場合には件数を小さくしてください。 |
SyncDmlRowsLimit__c | 同期処理DML発行件数上限 | 9900 | 一括更新処理を同期/非同期のいずれで処理するかの閾値。 ガバナ制限範囲内(getLimitDMLRows():2023/7時点は1万件)での設定ですがシステム側で他にも処理してる関係で9900件以下で設定してください。 また、CPUタイムアウト等が発生する場合には件数を小さくしてください。 |
ExpectedCpuTimeMsPerUpdateLoop__c | 更新1処理ループ辺りの想定CPU処理時間 | 2 | 1項目更新処理辺りの想定処理時間(ミリ秒)。例えば一括更新項目が2項目で1万件を更新する場合、2項目×5千件更新×2ミリ秒=2万ミリ秒=20秒で同期処理のガバナ制限10秒を超えるため非同期処理となる。 |