今週、Spring'17のリリースノート(英語版)が公開されました。Salesforceの進化は本当に速いですよね。
バージョンアップをする度に機能がどんどん追加され、Lightningで何が出来るのかを追いきれていないこともあります。
そこで、Winter'17リリース時点での開発したLightningコンポーネントの使える箇所をまとめてみます。
Lightningコンポーネントが使用可能な箇所
1. Lightningページとして利用
標準コンポーネントやAppExchangeサイト、開発をしたカスタムコンポーネントをLightningアプリケーションビルダーにて配置、設定をしてLightningページを作成します。Lightningページには以下の3種類があります。
1-1. アプリケーションページ
Lightning Experience(以下LEX)とSalesforce1で使用可能な1ページのアプリケーションです。
下記例) 開発した「検索コンポーネント」と「リスト表示コンポーネント」の2つをLightningアプリケーションビルダーで配置したページ
1-2. ホームページ
LEX ホームページ。アプリケーションページと同様に、Lightningアプリケーションビルダーで変更できます。
下記例) 開発した「カレンダーコンポーネント」をホームページのトップに表示
1-3. レコードページ
オブジェクトのレコードページ。上記と同様に、Lightningアプリケーションビルダーで変更できます。
下記例) 取引先オブジェクトのレコードページに、標準詳細コンポーネントの代わりに開発した「入力項目を複数列で配置したコンポーネント」を配置
2. Lightningコンポーネントタブとして利用
Lightningページの一部ではなく、1つのLightningコンポーネントをそのままページのようにタブに表示して利用します。
下記例) 開発した「アンケートコンポーネント」を"アンケートタブ"として表示 (タブ色が反転して文字が見えないですが・・・)
3. Lightningアクションとして利用
Lightningコンポーネントをアクションとして実行します。尚、アクションには2種類あります。
下記例) 開発した「商談登録コンポーネント」をアクション実行時に呼び出し
3-1. グローバルアクション
Salesforce1アプリケーションにおいて、詳細ページ、ホームページ、およびChatterタブで使用できるアクションです。LEXでは使用できない(表示されない)のでご注意ください。
3-2. レコードページのアクション
各オブジェクトレコードに表示されるアクションです。レコードとの自動的な関連付けを行うことができ、レコードの作成または更新、活動の記録、メールの送信などの操作を特定のオブジェクトのコンテキストですばやく行うことができます。
4. Lightningアプリケーション
Salesforce Classicの時と同様にカスタムアプリケーションをLightningでも作成できます。そのカスタムアプリケーションを一から全て開発を行うことで、LEXとは異なる動作やUIを構築することも可能です。
参考:Salesforceドキュメント
https://help.salesforce.com/articleView?id=dev_apps_lightning.htm&type=0&language=ja&release=204.17
5. Visualforceページに埋め込み
VisualforceページにLightningコンポーネントを埋め込むことが可能です。これは、Lightning Outと言われている方法です。
参考:Lightningコンポーネント開発者ガイド
https://developer.salesforce.com/docs/atlas.ja-jp.204.0.lightning.meta/lightning/components_visualforce.htm
使用用途別
上記ではどこから設定できるかを書きましたが、具体的にこういう箇所に使えるの?と思うかもしれません。
そこで、使用用途別に置き換えてみます。
Lightningコンポーネントの場合 | Visualforceページの場合 | |||
利用環境 | 利用用途 | 設定箇所・方法 | 設定箇所・方法 | |
LEX環境 | 共通 | どんなページからでもアクションを実行したい | Lightningアクション(グローバルアクション)に設定。 その後、パブリッシャーレイアウトに設定。 |
Lightningと同様。 |
ホームページを変更したい | Lightningアプリケーションビルダーで「ホームページ」を作成。 その後、「ホーム」にてページの設定。 |
ホームページのカスタムコンポーネント、及びホームページのレイアウト設定。 | ||
オブジェクト | オブジェクトのレコードページを変更したい | Lightningアプリケーションビルダーで「レコードページ」を作成。 その後、各オブジェクトの「Lightning レコードページ」に設定。 |
ページレイアウト、または標準ボタンを上書き。 | |
オブジェクトのレコードページでアクションを実行したい | Lightningアクション(レコードページのアクション)に設定。 その後、ページレイアウトの「Salesforce1 および Lightning Experience アクション」に設定。 |
オブジェクトのアクションに設定。 その後、ページレイアウトの「クイックアクション」に設定。 |
||
特定のオブジェクト以外 | 複数Lightningコンポーネントを組み合わせて、オブジェクトに依存しないタブ表示 | Lightningアプリケーションビルダーで「アプリケーションページ」を作成。 その後、Lightningページタブを作成。 |
Visualforce タブを作成。 (Visualfoceページ内にVisualforceコンポーネントを含めることが可能) |
|
1つのLightningコンポーネントのみでタブ表示したい | Lightning コンポーネントタブを作成。 | |||
LEX/Classicどちらでも | 標準LEXではなく、カスタマイズしたUI・操作を行えるアプリケーションを使用したい | Lightningアプリケーション | カスタムアプリケーション | |
Classic環境 | 一部環境のみLEX、または今後LEXに移行する計画があるので、開発はLightningコンポーネントにしたい | Visualforceページに埋め込み | コンポーネントの汎用化という意味だけでは、Visualforceコンポーネント。 |
まとめ
Lightningコンポーネントがどこで使えるのかをまとめてみました。
今後の開発、業務利用の参考になると嬉しいです。
尚、本記事はSalesforce App Cloud Advent Calendar 2016の22日目の記事となっています。