狠狠撸

狠狠撸Share a Scribd company logo
Summer ’17 リリースノート輪読
- Apexまわり -
Salesforce DG Meetup #15
Takahiro Yonei (@yonet77)
1. Apexからのメタデータ操作
2. プラットフォームイベント
? Summer ‘17 で、Apexからメタデータ操作が可能になった
? これまでメタデータを取得するには、Metadata APIを使うしかなかった
? Apex Wrapper Salesforce Metadata API
? https://github.com/financialforcedev/apex-mdapi
? JSforce
? https://jsforce.github.io/
? 他には Ajax Toolkit で、describeLayout() を使って、ページレイアウト
を取得する など
? describeLayout() は、レコードタイプと関連づいたページレイアウトを取得す
るのみで、指定したページレイアウトを取得できない
? ツラい
? Summer ‘17 で、Apexからメタデータ操作が可能になった
? 一方で、Metadata APIを使うには「すべてのデータ編集権限」が必要
? すべてのユーザが、そんな権限を持っているとは限らない
↓
? 今回のリリースで、メタデータ操作が可能になった!
(ただし一部に限る...)
? 操作可能なメタデータの種類
? レイアウト
? カスタムメタデータ の2種類のみ
? レイアウトの取得
? レイアウトの取得
? レイアウトの取得
? 階層が結構深いので、フィールドの情報までたどり着くにはなかなか大変か
も
? 住所型のフィールドだと詳細が取得できない(国、都道府県、市区郡、町名
番地)
? Ajax Toolkit の describeLayout() だと、詳細も取得できる
? カスタムメタデータの取得
? カスタムメタデータの取得
? ただ、SOQLでも似たような情報は取得できそう
? Metadata.Operations.retrieve() との違いは?(権限に関連する?)
? 所感
? ページレイアウトの情報を取得するには、これまでMetadata APIを使う他に方法
がなかった。
それがApexから可能になったことは非常に良い。
? カスタムメタデータの取得は SOQL の代替として利用するくらいか?
? その他、ISVアプリケーションのインストール後のアクションとして、ページレイア
ウト、カスタムメタデータのデプロイできる。
が、パッケージ内にページレイアウト、カスタムメタデータを追加しておいても良
いのでは?
※ ページレイアウトは後から変更可能
※ カスタムメタデータも、定義によっては後から変更可能
※ 極力、管理パッケージ内にコンポーネントを含めずに配布する、という点では有効
? プラットフォームイベントとは?
? システム内外で利用できるイベントを、ユーザが自由に定義できる
? カスタムオブジェクトを定義する感じで、プラットフォームイベントを
定義する
? プラットフォームイベントの作成方法
? カスタムオブジェクトを定義するのとほぼ同じ
? プラットフォームイベントの作成方法
? カスタムオブジェクトを定義するのとほぼ同じ
? プラットフォームイベントの作成方法
? カスタムオブジェクトを定義するのとほぼ同じ
? プラットフォームイベントの注意事項
プラットフォームイベントに対するパー
ミッション設定
「参照」「作成」を設定できる
フィールドレベルセキュリティ 不要
※イベントのフィールドは参照、編集不可
なので「不要」
サポートするエディション Professional, Group EditionはNG
データストレージ カウント対象外(に思える)
? プラットフォームイベントの注意事項
Apex, SOQL,
API関連
? SOQLによるクエリはサポート対象外
? トリガは after insert のみ
? EventBus.publish() の呼び出しはDML制約に
カウントされる
? APIからの登録では API要求数にカウントされる
? リトライはAPI経由のみ
トランザクション ロールバックはサポート対象外
? APIからの登録では allOrNoneHeader は無視される
? Apexからの登録では Database.rollback() はサポートされ
てない
? 実際にやってみた
←ここでイベントを publish する
? 実際にやってみた
? 取引先を新規追加しても、一向に投稿されない
? API経由で登録しても、成功するけど、一向に投稿されない
? 状态が「実行中」のまま変化しないけど良いのか?
? あと、プロセスビルダーには、今のところ未対応?
? 所感
? まだよく分からなかったので、乞うご期待
Meetup #15 : リリースノート輪読 / Apexまわり
Ad

Recommended

骋谤补辫丑蚕尝の蝉耻产蝉肠谤颈辫迟颈辞苍て?出来ること
骋谤补辫丑蚕尝の蝉耻产蝉肠谤颈辫迟颈辞苍て?出来ること
Shingo Fukui
?
厂补濒别蝉蹿辞谤肠别と贬别谤辞办耻のより良い関係を目指して(たぶん序章)
厂补濒别蝉蹿辞谤肠别と贬别谤辞办耻のより良い関係を目指して(たぶん序章)
Takahiro Yonei
?
HerokuとSalesforceで例えばこんなCMSでも (LT資料)
HerokuとSalesforceで例えばこんなCMSでも (LT資料)
Takahiro Yonei
?
贰颁-颁耻产别を贬别谤辞办耻でも
贰颁-颁耻产别を贬别谤辞办耻でも
Takahiro Yonei
?
ApexトリガのBest Practiceを目指して
ApexトリガのBest Practiceを目指して
Takahiro Yonei
?
Tokyo SFDG Meetup#16 / Release Note, Einstein Platform Service
Tokyo SFDG Meetup#16 / Release Note, Einstein Platform Service
Takahiro Yonei
?
カスタムメタデータを受託の案件で使ってみた话
カスタムメタデータを受託の案件で使ってみた话
Takahiro Yonei
?
痴颈蝉耻补濒蹿辞谤肠别をあきらめない
痴颈蝉耻补濒蹿辞谤肠别をあきらめない
Takahiro Yonei
?
Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)
Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)
Takahiro Yonei
?
Salesforce dug tokyo_meetup#8_about_releasenote
Salesforce dug tokyo_meetup#8_about_releasenote
Takahiro Yonei
?
SDUG Tokyo Meetup#7 About ReleaseNote
SDUG Tokyo Meetup#7 About ReleaseNote
Takahiro Yonei
?
DCMax CrowdHackathonチャレンジ②
DCMax CrowdHackathonチャレンジ②
Takahiro Yonei
?
Salesforce DUG Tokyo meetup#5
Salesforce DUG Tokyo meetup#5
Takahiro Yonei
?
Cloudforce2012 LT
Cloudforce2012 LT
Takahiro Yonei
?
Force.com Developer Group Japan Meetup#2
Force.com Developer Group Japan Meetup#2
Takahiro Yonei
?
Force.com Developer Group Japan Meetup#1
Force.com Developer Group Japan Meetup#1
Takahiro Yonei
?

More Related Content

More from Takahiro Yonei (8)

Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)
Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)
Takahiro Yonei
?
Salesforce dug tokyo_meetup#8_about_releasenote
Salesforce dug tokyo_meetup#8_about_releasenote
Takahiro Yonei
?
SDUG Tokyo Meetup#7 About ReleaseNote
SDUG Tokyo Meetup#7 About ReleaseNote
Takahiro Yonei
?
DCMax CrowdHackathonチャレンジ②
DCMax CrowdHackathonチャレンジ②
Takahiro Yonei
?
Salesforce DUG Tokyo meetup#5
Salesforce DUG Tokyo meetup#5
Takahiro Yonei
?
Cloudforce2012 LT
Cloudforce2012 LT
Takahiro Yonei
?
Force.com Developer Group Japan Meetup#2
Force.com Developer Group Japan Meetup#2
Takahiro Yonei
?
Force.com Developer Group Japan Meetup#1
Force.com Developer Group Japan Meetup#1
Takahiro Yonei
?
Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)
Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)
Takahiro Yonei
?
Salesforce dug tokyo_meetup#8_about_releasenote
Salesforce dug tokyo_meetup#8_about_releasenote
Takahiro Yonei
?
SDUG Tokyo Meetup#7 About ReleaseNote
SDUG Tokyo Meetup#7 About ReleaseNote
Takahiro Yonei
?
DCMax CrowdHackathonチャレンジ②
DCMax CrowdHackathonチャレンジ②
Takahiro Yonei
?
Salesforce DUG Tokyo meetup#5
Salesforce DUG Tokyo meetup#5
Takahiro Yonei
?
Force.com Developer Group Japan Meetup#2
Force.com Developer Group Japan Meetup#2
Takahiro Yonei
?
Force.com Developer Group Japan Meetup#1
Force.com Developer Group Japan Meetup#1
Takahiro Yonei
?

Meetup #15 : リリースノート輪読 / Apexまわり

Editor's Notes

  • #8: あれ?编集用のレイアウトは??
  • #23: 無理すれば、ちょっとした Function as a Service みたいなことはできるかなぁ、と。 処理の実態はApexで記述する。エンドポイントは、プラットフォームイベントにつながるREST API とか。 でもスケールするわけでもないし、ちょっとツラいか。