はじめに
みなさんは、Salesforceを運用していて不要な項目を削除しようと思っても
消していんだっけ?を確認するのが少し手間だったりで結局やらなかったり...
そんな状態を解消するべく、普段から項目の掃除を意識させてくれるいいAppExchangeないかな?と探していたところ
FieldProを見つけたので検証してみようと思います。
Field1__c
みたいな項目撲滅し隊
検証に使う環境は、Trailheadのハンズオン組織です。
データに関してもデモデータになります
FieldProて?
項目の入力率、項目の作成日/作成者、項目の型等をダッシュボード形式などでオブジェクト単位で確認できる無料のAppExchangeです。
定期的にFieldProをみる→削除対象項目のピックアップ→削除
このサイクルが回せるようになる!
さっそくハンズオン組織にインストールして試してみようと思います
インストール
ハンズオン組織にインストールする場合は、ハンズオン組織のユーザ名・パスワードが必要なのでTrailhead Playground のユーザ名とパスワードの取得を確認して準備してください。
すべてのユーザにインストールでインストールしました。
特定の項目の入力率等を調べる
FieldPro Appを開きます。画面左の要素で見たい項目を絞っていきます。
検証のために、よくあるダメ項目の例であるField1__c
という項目を作成しておきました。
検索項目については以下の通りです。
項目 | 説明 |
---|---|
By Name | 項目のAPI参照名で検索 |
By Object | 選択リスト式で取引先名から検索 |
By Type | 選択リスト式で項目の型から検索 |
Quick Reports | 事前定義された条件のフィルターから選択可能。リファクタリング対象とかになりそうな説明がないフィールドとかもフィルターにある。 |
いくつか左画面でのフィルター操作がありますが、By Name
By Object
By Type
Quick Reports
はどれか一個しか利用できず併用できませんでした。
その代わり左で絞り込んだ後さらに、絞りこみたい場合は右上の検索エリアからさらに絞り込むことができます。
ざっくり検索→絞りこみ のような使い方になりそう。
表示された内容を見ていくと、入力率が表示されていないのでRun Service
を押します。
入力率計算のようなものは組織によっては時間がかかるので単純に全データを読み込んで入力率計算をするのではなく、ある程度の期間を区切って計算とかもできそうでいい感じです。
計算が完了しました!
表示項目の説明
項目 | 説明 |
---|---|
Field Name | 項目のラベルと、API参照名 |
Object Name | オブジェクトの ラベルと、API参照名 |
Field Type | 項目の型 |
CreatedBy / LastModifiedBy | 項目を作成した日、更新した日 |
Populate % | 項目の入力完了率 |
References | レイアウト等の依存関係があるかないかを表現しています |
Field Score | 項目の情報等が充実しているかどうか スコアの数字と色で表現、赤に近づくほど悪い 緑(100-50) ブルー(50~20) 赤(0-20) |
FieldProオブジェクトのfpro__Field_Score__c
の数式にField Scoreを出すための数式が書いてあります。
`fpro__Field_Score__c`の数式
IF(ISNULL(fpro__Last_Refresh_Date_MCD__c), -1,
(
IF(fpro__Populate_Percentage__c < (10/100), 0, 30)
+
IF(fpro__References_Apex_Class_Count__c = 0, 0, 5)
+
IF(fpro__References_Apex_Trigger_Count__c = 0, 0, 5)
+
IF(fpro__References_Visualforce_Page_Count__c = 0, 0, 5)
+
IF(fpro__References_Visualforce_Components_Count__c = 0, 0, 5)
+
IF(fpro__References_Formula_Fields_Count__c = 0, 0, 5)
+
IF(fpro__References_Page_Layouts_Count__c = 0, 0, 5)
+
IF(fpro__References_Profile_Visibility_Count__c = 0, 0, 5)
+
IF(fpro__References_Permission_Sets_Count__c = 0, 0, 5)
+
IF(fpro__References_Validation_Rules_Count__c = 0, 0, 5)
+
IF(fpro__References_Workflow_Field_Updates_Count__c = 0, 0, 5)
+
IF(fpro__References_Workflow_Rules_Count__c = 0, 0, 5)
+
IF(fpro__References_Flow_Count__c = 0, 0, 5)
+
IF(fpro__References_Reports_Count__c = 0, 0, 5)
+
IF(fpro__References_ReportType_Count__c = 0, 0, 5)
+
IF(fpro__References_Others_Count__c = 0, 0, 5)
))
項目ごとの詳細の情報をさらに見ることができます。
どのこのレイアウトで使われているか?プロファイルで設定されているか等が確認できます。
ダッシュボードで確認する
絞りこみ等を使わず全オブジェクトの項目の健康状態を見れるのはいいですね!Tech Debt - Low Score (Delete Potential)
という削除してもいいかもね!な項目をリストで出してくれるので判断がしやすいです。
リストビューで確認する
こっちは、自分でフィルター条件を追加して調査したりできるのでいいですね。既に用意されているリストビューもFieldPro App
でのQuick Reports
よりも選択肢が多いです。
さいごに
実際運用しているSalesforceの組織にインストールして利用するイメージがつきましたでしょうか?
今回試してみて普段削除項目の洗い出しのために自分で入力率を出していた作業も緩和されますし、アプリケーション自体の画面も軽くストレスなく情報が見れるので自分が実際に関わっている組織にインストールしてみて
カスタム項目大掃除を捗らせていこうと思います。
参考