mcpField
P
platform-custom-tab-generate

platform-custom-tab-generate

github.com/forcedotcom開発1.1k5.9k 回インストール1 日前に更新
リポジトリ

platform-custom-tab-generate について

Salesforce のオブジェクト、Web ページ、Visualforce ページ用タブを作成・調査する開発者向けの CustomTab 仕様スキルです。タブ種別ごとの必須メタデータと XML 要素の許可リストを示します。

主な機能

  1. 01オブジェクト、Web、Visualforce タブの定義
  2. 02種別ごとの XML 許可要素の一覧
  3. 03アイコンと表示設定の説明
  4. 04デプロイエラーの調査ガイド

活用シーン

  1. 01オブジェクトのナビゲーションタブ作成
  2. 02外部サイトのアプリナビゲーションへの追加
  3. 03Visualforce ページタブの設定
  4. 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>、または空の要素は含めないでください

コメント