mcpField
P
platform-custom-application-generate

platform-custom-application-generate

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

platform-custom-application-generate について

ナビゲーションタブ、機能、ブランド設定を整理する Salesforce 開発者向けの Lightning アプリメタデータ仕様スキルです。ナビゲーション種別の選択とページのアクション上書き設定も案内します。

主な機能

  1. 01アプリのタブと機能の整理
  2. 02Standard と Console の選択ガイド
  3. 03フォームファクターとナビゲーション設定
  4. 04ブランドとユーティリティバーの設定
  5. 05ページとプロファイルのアクション上書き設定

活用シーン

  1. 01業務プロセス向け Lightning アプリの作成
  2. 02サポート用ワークスペースでの Console 選択
  3. 03デスクトップとモバイル向けアプリの設定
  4. 04レコード操作のカスタムページへの割り当て

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/forcedotcom/sf-skills --skill platform-custom-application-generate

インストール後、Claude Code で/platform-custom-application-generateを入力して読み込まれたか確認します。

詳細

このスキルを使用するタイミング

次のような場合にこのスキルを使用します。

  • Lightning アプリケーションを作成する
  • タブや機能を目的別のアプリに整理する
  • アプリケーションのナビゲーションとブランディングを設定する
  • オブジェクトのカスタムページレイアウトを設定する
  • カスタムアプリケーションに関連するデプロイエラーをトラブルシューティングする

CustomApplication(Lightning App)メタデータ仕様

概要

カスタムアプリケーション(Lightning Apps)は、タブや機能をまとめ、特定のビジネスプロセスに特化したユーザーエクスペリエンスを提供します。常に Lightning Experience 用に設定されます。

目的

  • 関連する機能を目的別のアプリケーションに整理する
  • 特定のユーザーロール向けにタブやコンポーネントをまとめる
  • ユーザーに合わせたエクスペリエンスを提供する
  • 特定の機能やデータへのアクセスを制御する
  • 一般的なビジネスアプリケーションには Standard ナビゲーションを使用し、複数タブのワークスペースを必要とする専門的なサービス/サポートのワークフローには Console ナビゲーションを使用する
  • カスタムカラーとブランディングで、プロフェッショナルなアプリケーションのブランドイメージを作成する
  • 標準アクションをカスタム Lightning ページでオーバーライドし、ユーザーエクスペリエンスを向上させる
  • プロファイルごとのアクションオーバーライドにより、プロファイル固有のエクスペリエンスを実現する

必須プロパティ

アプリケーションの基本プロパティ
  • fullName:アプリケーションの API 名
  • label:アプリケーションの表示名
  • uiType:最新のアプリでは常に「Lightning」
  • navType:重要 — ユーザー要件とワークフローのパターンに基づいて選択します
    • 「Standard」:一般的なビジネスアプリケーション(営業、マーケティング、運用など)でのデフォルト
    • 「Console」:分割ビューや複数タブのワークスペースを使って複数のレコードを同時に管理する必要があるワークフローでのみ使用します(カスタマーサービス、コールセンター、サポート業務など)
  • formFactors:フォームファクターの配列(デスクトップの場合は["LARGE"]、モバイルの場合は["SMALL"]、またはその両方)
任意のプロパティ
  • description:アプリケーションの目的についての簡単な説明
  • tabs:含めるタブ名の配列
  • utilityBar:Utility Bar 設定の API 名
  • brand:強く推奨 — ブランディング設定オブジェクト(headerColor、shouldOverrideOrgTheme、footerColor)
  • actionOverrides:カスタムレコードページがある場合に必須 — アクションオーバーライド設定(actionName、content、formFactor、type、pageOrSobjectType)
  • profileActionOverrides:プロファイル固有のアクションオーバーライド(actionName、content、formFactor、pageOrSobjectType、type、profile)
  • isNavAutoTempTabsDisabled:ナビゲーションの動作設定(デフォルト:false)
  • isNavPersonalizationDisabled:パーソナライズ設定(デフォルト:false)
  • isNavTabPersistenceDisabled:タブの永続化設定(デフォルト:false)

アプリケーションの設定

ナビゲーションタイプの選択(重要)

navType の選択基準:

次の場合は「Standard」(デフォルト)を選択します。

  • 一般的なビジネスアプリケーションやほとんどのワークフロー
  • 単一レコードに焦点を当てる場合、または直線的なナビゲーションパターンの場合
  • 標準的なタブベースのナビゲーションで十分な場合

次の要件があるワークフローでのみ「Console」を選択します。

  • 分割ビューで複数の関連レコードを同時に管理する
  • 複雑に関連するデータを扱うための複数タブのワークスペース
  • 複数のソースからのコンテキスト情報を一度に表示する
  • 例:カスタマーサービス業務、サポートデスク、コールセンター

判断に迷う場合: 一般的なビジネス用途のほとんどでは、デフォルトの「Standard」を選択します。

ナビゲーション設定
  • isNavAutoTempTabsDisabled:一時タブの自動作成を制御します
  • isNavPersonalizationDisabled:ユーザーによるパーソナライズ機能を制御します
  • isNavTabPersistenceDisabled:セッション間でのタブの保持を制御します
タブの管理
  • tabs:アプリケーションに含めるタブ名の配列
  • formFactors:デバイス固有の設定(デスクトップは Large、モバイルは Small)
Utility Bar
  • utilityBar:Lightning Experience の下部に表示される Lightning Utility Bar への参照
ブランディング(強く推奨 - 省略しないでください)

重要:プロフェッショナルで視覚的にも独自性のあるアプリケーションのアイデンティティを作成するため、ブランディング設定を指定してください。

  • brand.headerColor:ヘッダーバーの色(16 進数形式。例:「#0070D2」)- 推奨
  • brand.shouldOverrideOrgTheme:組織のテーマを上書きするかどうか(true/false)- デフォルト:false
  • brand.footerColor:フッターの色(16 進数形式)
アクションのオーバーライド(必須 - 省略しないでください)

重要:flexipage エキスパートによってレコードページが生成されたカスタムオブジェクトタブごとに、アクションのオーバーライドを作成する必要があります。

  • actionOverrides.actionName:オーバーライドするアクション(「View」または「Tab」)
  • actionOverrides.content:ページ/コンポーネント名(FlexiPage、Visualforce、Lightning コンポーネント)
    • 「View」アクションの場合:flexipage エキスパートが生成したレコードページを指定します
    • 「Tab」アクションの場合:flexipage エキスパートが生成したホームページ/アプリページを指定します
  • actionOverrides.formFactor:デバイスの種類(「Large」または「Small」)
  • actionOverrides.type:オーバーライドの種類(「Default」、「Visualforce」、「Flexipage」、「LightningComponent」、「Scontrol」)
    • 推奨:flexipage エキスパートが生成した Lightning レコードページ/ホームページには「Flexipage」を使用します
  • actionOverrides.pageOrSobjectType:オーバーライドを適用するオブジェクトの API 名
  • actionOverrides.comment:任意の説明(最大 1000 文字)
    • 自動生成されるコメント:「Lightning App Builder による有効化中に作成されたアクションのオーバーライドです。」
  • actionOverrides.skipRecordTypeSelect:レコードタイプの選択をスキップするかどうか(デフォルト:false)
プロファイルのアクションのオーバーライド
  • profileActionOverrides.actionName:オーバーライドするアクション(「View」または「Tab」)
  • profileActionOverrides.content:ページ/コンポーネント名
    • 「View」アクションの場合:flexipage エキスパートが生成したプロファイル固有のレコードページを指定します
    • 「Tab」アクションの場合:flexipage エキスパートが生成したプロファイル固有のホームページを指定します
    • プロファイル固有のエクスペリエンスには、actionOverrides と同じ FlexiPage または異なる FlexiPage を指定できます
  • profileActionOverrides.formFactor:デバイスの種類(「Large」または「Small」)
  • profileActionOverrides.pageOrSobjectType:オブジェクトの API 名
  • profileActionOverrides.type:オーバーライドの種類
    • 推奨:flexipage エキスパートが生成した Lightning ページには「Flexipage」を使用します
  • profileActionOverrides.profile:プロファイルの API 名(例:「Admin」、「Standard User」)
    • ユーザープロファイルごとに異なるページレイアウトを設定できます

デバイスのサポート

デスクトップの設定
  • formFactor:「Large」
  • tabs:アプリケーションタブの一覧
電話の設定
  • formFactor:「Small」
  • tabs:モバイルに最適化されたタブの選択
タブレットの設定
  • formFactor:「Medium」
  • tabs:タブレットに適したタブの選択

ユーザーエクスペリエンスの機能

ナビゲーションの動作
  • 自動一時タブ:有効/無効を切り替えられます
  • パーソナライズ:ユーザーによるカスタマイズオプション
  • タブの保持:ユーザーが選択したタブを記憶します
アクセシビリティ
  • キーボード操作:キーボードによる完全な操作をサポートします
  • スクリーンリーダー:支援技術に対応しています
  • ハイコントラスト:ハイコントラストモードをサポートします

統合ポイント

  • カスタムタブ:カスタムオブジェクトタブと Web タブを含めます
  • 標準タブ:標準の Salesforce タブを含めます
  • Lightning ページ:Lightning ページレイアウトと統合します
  • コンポーネント:カスタム Lightning コンポーネントを含めます

ベストプラクティス

  • 常に Lightning UI を使用:最新のアプリでは、uiType を "Lightning" に設定します
  • 適切なナビゲーションを選択:重要 — 要件を慎重に分析し、navType を選択します
    • 一般的な業務アプリケーションには "Standard"(デフォルト)を使用します
    • ワークフローで複数タブのワークスペース、分割ビュー、または複数の関連レコードの同時管理が必要な場合に限り、"Console" を使用します
    • Console の例:カスタマーサービス、コールセンター、サポート業務
    • ほとんどの一般的な業務用途では、デフォルトで "Standard" を使用します
  • 標準タブを含める:一般的な Salesforce タブ(Home、Accounts、Contacts など)を追加します
  • 明確で説明的なアプリケーション名を使用します
  • 関連する機能を論理的にグループ化します
  • さまざまなユーザーロールとニーズを考慮します
  • さまざまなデバイスタイプでテストします
  • 適切な権限とアクセス制御を確保します
  • ユーザーにとって有意義な説明を記載します
  • 一貫した命名規則に従います
  • 常にブランディングを設定:headerColor を設定し、プロフェッショナルなアプリケーションのアイデンティティを確立します
  • アクセシブルなブランドカラーを使用:16 進カラーコードに十分なコントラストがあることを確認します(WCAG AA 準拠)
  • ユーティリティバーを設定:ユーザーがすばやくアクセスできる便利なツールを追加します
  • アクションのオーバーライドを活用:flexipage expert の FlexiPage を使用して、特定のオブジェクトのページレイアウトをカスタマイズします
  • プロファイルのオーバーライドを使用:プロファイルごとに異なる flexipage expert 生成ページを参照し、ロールに応じたエクスペリエンスを提供します

拡張ルール

  • uiType:最新のアプリエクスペリエンスを実現するため、常に "Lightning" に設定します
  • navType:重要な判断 — ユーザー要件を慎重に分析します
    • 一般的な業務アプリケーションには "Standard"(デフォルト)を設定します
    • 次の場合に限り、"Console" を設定します:
      • 分割ビュー機能を使って、複数の関連レコードを同時に管理する
      • 複雑に関連し合うデータを扱うための、複数タブのワークスペースが必要
      • 複数の情報源からのコンテキスト情報を一度に表示する
    • Console の例:カスタマーサービス業務、コールセンター、サポートデスク
    • Standard と Console のどちらにするか迷った場合、ほとんどの業務用途では "Standard" を選択します
  • formFactors:デスクトップ版 Lightning Experience では、常に ["LARGE"] に設定します
  • 標準タブ:Home、Accounts、Contacts、Opportunities、Leads、Cases を自動的に追加します
  • ナビゲーション設定:最適なユーザーエクスペリエンスのため、すべてのナビゲーションフラグを false に設定します
  • ブランディング:プロフェッショナルなアプリケーションのアイデンティティを確立するため、必ずブランド設定を含めます
    • 必須:brand.headerColor を適切なカラーに設定します(例:Salesforce Blue の "#0070D2")
    • 要件に応じて brand.shouldOverrideOrgTheme を設定します
  • アクションのオーバーライド:カスタムレコードページが存在する場合は、必ずアクションのオーバーライドを作成します
    • 必須:"View" アクションを flexipage expert 生成のレコードページに指定する actionOverrides を追加します
    • "Flexipage" タイプを使用し、正確な FlexiPage 名を指定します
    • デスクトップ用に formFactor を "Large" に設定します
    • オブジェクトの API 名を指定した pageOrSobjectType を含めます
  • プロファイルアクションのオーバーライド:ロールベースのカスタマイズには、flexipage expert 生成ページを参照します
  • フォームファクター:オーバーライドでは、デスクトップには "Large"、モバイルには "Small" を使用します

重要な検証チェックリスト(必ず確認してください)

  • すべてのタブがアプリケーションに含まれている
  • navType が正しく設定されている — コンソールと標準の選択を確認してください
  • ほとんどの一般的なビジネスアプリケーションでは「Standard」をデフォルトにしてください
  • ワークフローで複数のレコードの同時管理、分割ビュー、または複数タブのワークスペースが必要な場合にのみ「Console」を設定してください
  • 要件が一般的または曖昧な場合 → navType は「Standard」にしてください
  • ブランディングが設定されている — プロフェッショナルなアプリケーションでは強く推奨されます
  • brand.headerColor に有効な16進数カラーコードが設定されている(例:「#0070D2」)
  • brand.shouldOverrideOrgTheme が設定されている(デフォルト:false)
  • アクションのオーバーライドが作成されている — レコードページを持つすべてのカスタムオブジェクトで必須です
  • 各カスタムオブジェクトのタブに、正しいレコードページを指定するアクションのオーバーライドが定義されている
  • actionOverrides.content が、flexipage expert によって生成された FlexiPage 名と完全に一致している
  • actionOverrides.pageOrSobjectType に正しいオブジェクトの API 名が設定されている
  • actionOverrides.type に「Flexipage」が設定されている
  • actionOverrides.actionName に「View」が設定されている
  • actionOverrides.formFactor に「Large」が設定されている
  • 必須フィールド(fullName、label、uiType、navType、formFactors)がすべて入力されている

コメント