※この内容は2018/4時点のものです。
Apex メタデータ API の使用開始
https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_intro
- 説明:日本語
- Challenge:日本語選択問題
複数組織リリース用の自動メタデータ更新の作成
https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_updates
- 説明:日本語
- Challenge:英語ハンズオン
Challenge要約
- public Apexクラス「UpdateContactPageLayout」を作成してください。
- publicメソッド「addLayoutItem」をApexクラス「UpdateContactPageLayout」に追加してください。 「addLayoutItem」は Metadata.Layout型 を返り値の型とし、引数はなしとしてください。
- メソッド「addLayoutItem」にて、Metadata.Operations.retrieveメソッドを使用して、取引先責任者ページレイアウトのメタデータを取得してください。 取得したメタデータを、Metadata.Metadata オブジェクトのリストである 「layoutsList」 という名前の変数に割り当ててください。
- リスト「layoutsList」にあるレイアウトのうち最初のレイアウトを取得し、それをMetadata.Layout型 の 「layoutMetadata」 という名前の変数に割り当ててください。
- Metadata.LayoutSection型の 「contactLayoutSection」 という名前の変数を作成し、nullに設定してください。
- 変数「layoutMetadata」 の layoutSections プロパティを使用して、レイアウトセクションの反復処理により「Additional Information」セクションを探してください。
「Additional Information」セクションが見つかった場合、そのセクションを変数「contactLayoutSection」に割り当ててください。 - Metadata.LayoutColumnオブジェクトのリストである 「contactColumns」 という名前の変数を作成してください。
- 変数「contactLayoutSection」 の layoutColumns プロパティを使用して得られた値を変数「contactColumns」に割り当ててください。
- Metadata.LayoutItemオブジェクトのリストである 「contactLayoutItems」 という名前の変数を作成してください。
- 変数「contactColumns」のリストの最初の要素の layoutItems プロパティを使用して得られた値を、変数「contactLayoutItems」に割り当ててください。
- Metadata.LayoutItem型のオブジェクト「newField」を作成してください。
- オブジェクト変数「newField」に以下の値を割り当ててください。
- behavior:Metadata.UiBehavior.Edit
- field:
AMAPI__Apex_MD_API_Twitter_name__c
- オブジェクト変数「newField」を「contactLayoutItems」メタデータ変数に追加してください。
- 変数「layoutMetadata」を「addLayoutItem」メソッドの返り値としてください。
自動設定変更のためのシステム管理者ツールの作成
https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_tools
- 説明:日本語
- Challenge:英語ハンズオン
Challenge要約
- public Apexクラス「MetadataExample」を作成してください。
- Apexクラス「MetadataExample」にpublicメソッド「updateMetadata」を作成してください。「updateMetadata」メソッドの引数はなし、返り値の型はvoidとしてください。
- Metadata.CustomMetadata型の「customMetadata」というオブジェクト変数を作成してください。
- 変数「customMetadata」の fullname を 「MyNamespace__MyMetadataTypeName.MyMetadataRecordName」に設定してください。
- Metadata.CustomMetadataValue型の「customField」というオブジェクト変数を作成してください。
- 変数「customField」のfieldに「customField__c」を、valueに「New value」を設定してください。
- 変数「customMetadata」のvaluesのリストに変数「customField」を追加してください。
- Metadata.DeployContainer型の「deployContainer」というオブジェクト変数を作成してください。
- 変数「deployContainer」に変数「customMetadata」を追加してください。
- Metadata.Operations.enqueueDeploymentメソッドを使用して、メタデータをデプロイしてください。メソッドの戻り値は、Id型の変数「asyncResultId」に代入してください。
enqueueDeploymentメソッドのコールバックパラメータにはnullを使用してください。
メタデータのリリースのテスト
https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_testing
- 説明:日本語
- Challenge:日本語選択問題
Apex メタデータ API とセキュリティについて
https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_security
- 説明:日本語
- Challenge:日本語選択問題