platform-custom-application-generate について
ナビゲーションタブ、機能、ブランド設定を整理する Salesforce 開発者向けの Lightning アプリメタデータ仕様スキルです。ナビゲーション種別の選択とページのアクション上書き設定も案内します。
主な機能
- 01アプリのタブと機能の整理
- 02Standard と Console の選択ガイド
- 03フォームファクターとナビゲーション設定
- 04ブランドとユーティリティバーの設定
- 05ページとプロファイルのアクション上書き設定
活用シーン
- 01業務プロセス向け Lightning アプリの作成
- 02サポート用ワークスペースでの Console 選択
- 03デスクトップとモバイル向けアプリの設定
- 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)がすべて入力されている
コメント
Markdown 対応