カスタムメタデータを受託の案件で使ってみた話
-
Upload
takahiro-yonei -
Category
Technology
-
view
399 -
download
0
Transcript of カスタムメタデータを受託の案件で使ってみた話
![Page 1: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/1.jpg)
#salesforcedevjp
カスタムメタデータを受託の案件に使ってみた話
@yonet77TAOドライブ株式会社
![Page 2: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/2.jpg)
#salesforcedevjp
⾃⼰紹介
2016/02/232
![Page 3: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/3.jpg)
#salesforcedevjp
アジェンダ
2016/02/233
1. カスタムメタデータとは?
2. カスタムメタデータを使ったデータ移⾏プログラムについて
3. カスタムメタデータを使ったメリットとは?
4. 最後に
![Page 4: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/4.jpg)
#salesforcedevjp
1. カスタムメタデータとは?
2016/02/234
![Page 5: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/5.jpg)
#salesforcedevjp
1. カスタムメタデータとは?
2016/02/235
カスタムメタデータは• カスタマイズ可能• リリース可能• パッケージ化可能• アップグレード可能
なアプリケーションメタデータです 〜ヘルプより抜粋〜
![Page 6: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/6.jpg)
#salesforcedevjp
1. カスタムメタデータとは?
2016/02/236
これまで...ü データの型(カスタムオブジェクトやカスタムフィールドなど)は
パッケージに含めることはできるü ただし、定義した型に合わせたデータ(レコード)はパッケージ化できない
![Page 7: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/7.jpg)
#salesforcedevjp
1. カスタムメタデータとは?
2016/02/237
カスタムメタデータによって...ü データの型(オブジェクトやカスタムフィールドなど)と、そのデータ(レコー
ド)をまとめてパッケージ(or 変更セット)に含めて配布できる
![Page 8: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/8.jpg)
#salesforcedevjp
1. カスタムメタデータとは?
2016/02/238
(サンプル)カスタムメタデータ型の定義※カスタムオブジェクトと割と似ている
![Page 9: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/9.jpg)
#salesforcedevjp
1. カスタムメタデータとは?
2016/02/239
(サンプル)カスタムメタデータ
![Page 10: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/10.jpg)
#salesforcedevjp
1. カスタムメタデータとは?
2016/02/2310
(サンプル)変更セットへのカスタムメタデータの追加
![Page 11: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/11.jpg)
#salesforcedevjp
2. カスタムメタデータを使ったデータ移⾏プログラムについて
2016/02/2311
![Page 12: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/12.jpg)
#salesforcedevjp
2. カスタムメタデータを使った移⾏プログラム(1)
2016/02/2312
旧システムSalesforce
Logデータ
本番データ
1. 旧システムのデータをCSVデータとして抽出する2. CSVデータをSalesforce側に⽤意したLogデータオブジェクトに格納する3. Logデータを本番データ⽤オブジェクトにデータを変換する
Apex
※エラーがあれば戻す
① ② ③
![Page 13: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/13.jpg)
#salesforcedevjp
2. カスタムメタデータを使った移⾏プログラム(2)
2016/02/2313
Logデータ 本番
データ
カスタムメタデータ
From Toaaa__c 1aaa__cbbb__c 2bbb__cccc__c 3ccc__c
• カスタムメタデータにLogデータ側のフィールドAPIと、本番データ側のフィールドAPIのマッピングを定義する
Logデータ側のフィールドAPI
本番データ側のフィールドAPI
aaa__c bbb__c ccc__c ……XXX YYY ZZZ ……
1aaa__c 3ccc__c 2bbb__c ……XXX ZZZ YYY ……
Logデータ
本番データ
Apex
• Logデータと、カスタムメタデータから本番データを⽣成する
![Page 14: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/14.jpg)
#salesforcedevjp
3. カスタムメタデータを使ったメリットとは?
2016/02/2314
![Page 15: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/15.jpg)
#salesforcedevjp
3. カスタムメタデータを使ったメリットとは?
2016/02/2315
n Logデータ -> 本番データ のマッピングを宣⾔的に定義できるü マッピング定義と、それを処理する部分を分離できる
ü マッピング定義は⾮エンジニアに任せることで分業する
n Sandbox -> 運⽤環境 に変更セットで送信できるü ⼿で運⽤環境にコピーするのは⾮効率かつトラブルの温床となる
ü ⾮エンジニアでも運⽤環境に反映できるようにする
n クエリしてもガバナ制限のリミットにカウントされないü ⼼理的に安⼼する
![Page 16: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/16.jpg)
#salesforcedevjp
4. 最後に
2016/02/2316
![Page 17: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/17.jpg)
#salesforcedevjp
4. 最後に
2016/02/2317
n アプリケーションの「設定」と「コード」を分離する、という点でカスタムメタデータは有⽤ü リスト型のカスタム設定でも似たようなことはできるが、変更セットに追加
してデプロイ可能という点ではカスタムメタデータの⽅が有利と考える。
n 今回は受託案件での事例ではあるが、パッケージ開発でも⾮常に有⽤(きっと)ü アプリケーション設定に関するデータをカスタム設定やカスタムオブジェク
トに格納している場合には、カスタムメタデータに置き換えてパッケージで配布すると、アプリケーションの配布にかかる⼿間を軽減できる。
n Herokuが提唱している「The Twelve-Factor App」の「Ⅲ.設定(設定を環境変数に格納する)」も併せて参考に
参考URL: http://12factor.net/config
![Page 18: カスタムメタデータを受託の案件で使ってみた話](https://reader031.fdocument.pub/reader031/viewer/2022030213/589c3b341a28abec478b5bbf/html5/thumbnails/18.jpg)
#salesforcedevjp
END
2016/02/2318