platform-custom-tab-generate について
Salesforce のオブジェクト、Web ページ、Visualforce ページ用タブを作成・調査する開発者向けの CustomTab 仕様スキルです。タブ種別ごとの必須メタデータと XML 要素の許可リストを示します。
主な機能
- 01オブジェクト、Web、Visualforce タブの定義
- 02種別ごとの XML 許可要素の一覧
- 03アイコンと表示設定の説明
- 04デプロイエラーの調査ガイド
活用シーン
- 01オブジェクトのナビゲーションタブ作成
- 02外部サイトのアプリナビゲーションへの追加
- 03Visualforce ページタブの設定
- 04カスタムタブのデプロイエラー調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill platform-custom-tab-generateインストール後、Claude Code で/platform-custom-tab-generateを入力して読み込まれたか確認します。
詳細
このスキルを使用する場面
次の作業が必要な場合に、このスキルを使用します。
- オブジェクト、Web ページ、または Visualforce ページのタブを作成する
- アプリケーションにナビゲーションタブを追加する
- タブの表示設定とアクセスを構成する
- カスタムタブに関連するデプロイエラーをトラブルシューティングする
仕様
CustomTab メタデータ仕様
概要
Salesforce アプリケーション内で、オブジェクト、Web コンテンツ、または Visualforce ページに移動するためのカスタムタブです。
目的
- カスタムオブジェクトへのナビゲーションを提供する
- 外部 Web コンテンツにリンクする
- Visualforce ページにアクセスする
- アプリケーションのナビゲーションを整理する
必須プロパティ
タブの基本プロパティ
- customObject: カスタムオブジェクトタブの場合は
true、それ以外の場合はfalseです。 - motif: タブアイコンのスタイルです。オブジェクトの目的に意味的に合致するモチーフを選択します。すべてのタブで同じモチーフを再利用しないでください。
- label: 表示名です(オブジェクト以外のタブでのみ必須です。オブジェクトタブはオブジェクトのラベルを継承します)
- url: Web URL です(Web タブの場合)
- page: Visualforce ページ名です(Visualforce タブの場合)
厳密な要素の許可リスト — 先にお読みください
ルート要素は必ず<CustomTab>にしてください(<Tab>ではありません)。 XML 名前空間はxmlns="http://soap.sforce.com/2006/04/metadata"である必要があります。
以下に記載された要素のみが有効です。このリストにない要素は、デプロイエラーの原因になります。
| タブの種類 | 許可される要素は以下のみ(ほかの要素は不可) |
|---|---|
| オブジェクトタブ | <customObject>(必須。trueに設定)、<motif>(必須)、<description>(任意) |
| Web タブ | <customObject>(必須。falseに設定)、<label>(必須)、<motif>(必須)、<url>(必須)、<urlEncodingKey>(必須。UTF-8に設定)、<description>(任意)、<frameHeight>(任意) |
| Visualforce タブ | <customObject>(必須。falseに設定)、<label>(必須)、<motif>(必須)、<page>(必須)、<description>(任意) |
禁止されている要素(いずれもデプロイエラーの原因になります)
<sobjectName>、<name>、<fullName>、<apiVersion>、<isHidden>、<tabVisibility>、<type>、<mobileReady>、<urlFrameHeight>、<urlType>、<urlRedirect>、<encodingKey>、<height>、<auraComponent>
次の要素も禁止されています。
- オブジェクトタブの
<label>(オブジェクトタブはカスタムオブジェクトのラベルを継承します) - Web タブの
<page>(Visualforce タブでのみ使用します) <page></page>や<description></description>のような空の要素- 上記の許可リストにない要素
タブの種類
オブジェクトタブ
- 目的: カスタムオブジェクトまたは標準オブジェクトに移動する
- ファイル名でオブジェクトが決まります:
{ObjectApiName}.tab-meta.xml(例:Space_Station__c.tab-meta.xml) - 必須要素:
<customObject>true</customObject>と<motif> - 正しい例(Space_Station__c.tab-meta.xml の場合):
<?xml version="1.0" encoding="UTF-8"?>
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<customObject>true</customObject>
<motif>Custom39: Telescope</motif>
</CustomTab>
- 正しい例(Supply__c.tab-meta.xml の場合 — モチーフが異なる点に注意):
<?xml version="1.0" encoding="UTF-8"?>
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<customObject>true</customObject>
<motif>Custom98: Truck</motif>
</CustomTab>
- 誤り —
<sobjectName>、<name>、<fullName>、または<label>を追加しないでください:
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<sobjectName>Space_Station__c</sobjectName>
<label>Space Station</label>
<customObject>true</customObject>
<motif>Custom57: Desert</motif>
</CustomTab>
Web タブ
- 目的: 外部 Web サイトまたは Web アプリケーションにリンクする
- ファイル名: 内容が分かる名前を使用します:
{TabName}.tab-meta.xml(例:Knowledge_Base.tab-meta.xml) - このテンプレートをそのままコピーしてください — プレースホルダーの値のみを置き換えます。XML 要素の追加、削除、名前変更はしないでください:
<?xml version="1.0" encoding="UTF-8"?>
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<customObject>false</customObject>
<description>REPLACE_WITH_DESCRIPTION</description>
<frameHeight>600</frameHeight>
<label>REPLACE_WITH_LABEL</label>
<motif>REPLACE_WITH_MOTIF</motif>
<url>REPLACE_WITH_URL</url>
<urlEncodingKey>UTF-8</urlEncodingKey>
</CustomTab>
- 上記の7つの要素が、Web タブファイルで許可される唯一の要素です。ほかの要素は一切追加しないでください。
<description>要素は任意です。不要であれば削除できますが、それ以外は何も追加しないでください。
Visualforce タブ
- 目的: カスタム Visualforce ページにアクセスする
- ファイル名:
{TabName}.tab-meta.xml(例:Custom_Page_Tab.tab-meta.xml) - 必須要素:
<customObject>false</customObject>、<label>、<motif>、<page> - 正しい例:
<?xml version="1.0" encoding="UTF-8"?>
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<customObject>false</customObject>
<label>Custom Page</label>
<motif>Custom46: Computer</motif>
<page>CustomPage</page>
</CustomTab>
タブの構成
タブのスタイル
- デフォルト: 標準のタブスタイルを使用します
- カスタム: 必要に応じてカスタムのタブスタイルを指定できます
タブの表示設定
- デフォルト:アクセス権を持つすべてのユーザーに表示されます
- カスタム:特定のユーザープロファイル向けに設定できます
対応アプリケーション
- 標準アプリケーション:標準の Salesforce アプリケーションで利用できます
- カスタムアプリケーション:カスタムアプリケーションに含めることができます
- コミュニティアプリケーション:コミュニティアプリケーションで利用できます
統合ポイント
- オブジェクトの関係:関連するオブジェクトレコードへのリンク
- Web コンテンツ:外部 Web サイトとの統合
- Visualforce ページ:カスタムページ機能
- Lightning コンポーネント:最新のコンポーネントとの統合
ベストプラクティス
- 明確で説明的なタブラベルを使用します
- 機能に適したタブの種類を選択します
- 各タブに固有で、コンテキストに適したモチーフを選択します — すべてのタブに同じアイコンを設定しないでください
- ユーザーエクスペリエンスとナビゲーションの流れを考慮します
- さまざまなアプリケーションでタブの機能をテストします
- 適切な権限と表示設定を確保します
- 一貫した命名規則に従います
- オブジェクトタブのファイルには、
<customObject>true</customObject>と<motif>のみを含める必要があります。それ以外は含めないでください - Web タブのファイルには、
<customObject>false</customObject>、<label>、<motif>、<url>、<urlEncodingKey>と、任意で<description>、<frameHeight>のみを含める必要があります。それ以外は含めないでください <isHidden>、<tabVisibility>、<type>、<mobileReady>、または空の要素は含めないでください
コメント
Markdown 対応