CustomMetadata
Metadata メタデータ型を拡張し、その fullName 項目を継承します。
ファイルのサフィックスおよびディレクトリの場所
CustomMetadata コンポーネントのサフィックスは .md で、customMetadata フォルダに保存されます。カスタムメタデータ型とは異なり、カスタムメタデータレコードにはアンダースコア 2 個のサフィックスはありません。カスタムメタデータレコード名の先頭にカスタムメタデータ型名が追加されます。__mdt サフィックスは除外されますが、インストールされた管理パッケージのすべての型の名前空間は含まれます。
バージョン
CustomMetadata コンポーネントは、API バージョン 31.0 以降で使用できます。
特別なアクセスルール
カスタムメタデータレコードを作成するには、「アプリケーションのカスタマイズ」権限が必要です。
項目
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| description | string | カスタムメタデータレコードの説明。この項目には、最大で 1,000 文字を含めることができます。 |
| label | string | Salesforce の [設定] ユーザインターフェース全体でオブジェクトを表す表示ラベル。現在、カスタムメタデータレコードはパッケージ化のユーザインターフェースでのみ表示されます。 |
| protected | boolean |
ブール型。レコードが保護されているか (true)、否か (false) を示します。カスタムメタデータ型が管理パッケージ内でリリースされた場合、そのアクセスは特定の方法で制限されます。
|
| values | CustomMetadataValue[] | カスタムメタデータレコードのカスタム項目の 1 つ以上の値を表します。 |
CustomMetadataValue
カスタムメタデータレコードのカスタム項目の値を表します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| field | string | 必須。カスタムメタデータ型のカスタム項目の非オブジェクト修飾名。この値は、カスタムメタデータレコードのカスタムメタデータ型の項目名に対応します。名前空間 (管理パッケージから取得された型の場合) と __c サフィックスが含まれます。カスタムメタデータ型の名前は必要ありません。たとえば、picklist1234__AlphaSort__c です。 |
| value | anyType | カスタムメタデータレコードの値。項目が EntityDefinition および FieldDefinition の場合、エンティティとそれが参照する項目の修飾された API 参照名。この値は null にできます。 詳細は、「使用方法」を参照してください。 |
宣言的なメタデータの定義のサンプル
CustomMetadata コンポーネントの例を次に示します。この例では、サンプルアプリケーション TravelApp で Planets 選択リストをリリースし、その並び替え順を指定して、選択リスト項目を追加します。
Picklists R Us は、オブジェクトフォルダに ReusablePicklist__mdt.object という名前のファイルとこれらのコンテンツをリリースして、Reusable Picklist Option カスタムメタデータ型を作成します。
次の package.xml ファイルからの抜粋は、カスタムメタデータレコード名へのカスタムメタデータ型とそれらの名前空間の追加を示しています。Picklists R Us の名前空間は picklist1234 だとします。
管理パッケージからカスタムメタデータを取得している場合、package.xml ファイルのドットの後 (ファイル名の 2 つのドットの間) の名前は、管理パッケージの名前空間で修飾されます。たとえば、TravelApp で名前空間 travelApp1234 を使用すると、Galactic Tours には TravelApp の package.xml ファイルの最初のメンバー要素が次のように表示されます。
もう 1 つの例を示します。この場合、カスタムメタデータレコードのインスタンスがあり、その EntityDefinition 項目が SalesAgreement__c という名前のカスタムオブジェクトを参照しています。FieldDefinition 項目は、SalesAgreement__c のカスタム項目 CustomerReference__c を参照しています。新しいカスタムメタデータレコードをリリースし、EntityDefinition および FieldDefinition 項目を含む既存のカスタムメタデータレコードを、カスタムおよび標準エンティティとその項目の修飾された API 参照名を使用して取得できます。
使用方法
| カスタムメタデータ値 | カスタム項目定義 |
|---|---|
| xsi:type="xsd:boolean" | Checkbox |
| xsi:type="xsd:date" | Date |
| xsi:type="xsd:dateTime" | Date/Time |
| xsi:type="xsd:picklist" | Picklist |
| xsi:type="xsd:string" | Text |
| xsi:type="xsd:string" | Phone |
| xsi:type="xsd:string" | TextArea |
| xsi:type="xsd:string" | URL |
| xsi:type="xsd:string" | |
| xsi:type="xsd:int" | Number/Percent (スケールは 0) |
| xsi:type="xsd:double" | Number/Percent (スケールは 0 ではない) |
xsi:type 属性は省略することもできます。たとえば、<value>true</value> です。
この属性はすべての CustomMetadataValue に指定する必要がありますが、xsi:nil 属性が true に設定された要素を使用して、項目の値を明示的に null に設定できます。たとえば、<value xsi:nil="true"/> です。
null 項目値を使用することと、特定の項目の CustomMetadataValue を省略することはまったく異なります。CustomMetadataValue を省略すると、項目の値は変化しません。新しくリリースされたカスタムメタデータレコードの場合、項目の値は null になります。更新されたカスタムメタデータレコードの場合、以前の値のままになります。
宣言的なメタデータの定義の場合に xsi:type を指定すると、CustomMetadataValue オブジェクトを取得するときに、返されるオブジェクトの value 項目に正しい型の値が格納されます。
マニフェストファイル内のワイルドカードのサポート
このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) がサポートされます。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。