nkjmkzk.net

powered by Kazuki Nakajima

Lightningアプリケーションをアプリケーションプルダウンメニューに表示する方法

Lightningコンポーネントフレームワークでスタンドアローンアプリを作成したい場合、つまり、パーツではなく単体でアプリとして機能するものを作りたい場合、Lightningアプリケーションバンドルを作成することになります。

ただし2015年4月現在、LightningアプリケーションバンドルはSalesforce標準画面の右上にあるアプリケーションプルダウンメニューに通常の手段では表示することができません。

今回は、よく考えれば誰でもできるハックですが、このLightningアプリケーションバンドルを下図のようにアプリケーションプルダウンメニューに表示させる方法をご紹介します。

スクリーンショット_0027-04-16_12_39_52

スクリーンショット_0027-04-16_12_40_00

LightningアプリケーションバンドルはLightningコンポーネントバンドルとほぼ同じものですが、一意のURLが割り当てられる点が異なります。この特性を利用します。

Lightningアプリケーションバンドルを作成する

まず開発者コンソールを開いてFile > New > Lightning ApplicationをクリックしてLightningアプリケーションバンドルを作成します。このLightningアプリケーションバンドルには下記のURLフォーマットでアクセスできます。

https://インスタンス名.salesforce.com/名前空間/バンドル名.app

リダイレクトを担当するVisualforceページを作成する

次にそのまま開発者コンソールからFile > New > Visualforce PageをクリックしてVisualforceページを作成します。ページの名前はなんでも構いません。Visualforceページの中身は下記のように記述します。

<apex:page showHeader="false" sidebar="false" standardStylesheets="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0">
<html>
<head>
    <meta http-equiv="refresh" content="0; url=/名前空間/バンドル名.app" />
</head>
</html>
</apex:page>

あぁ、なるほど、と。このVisualforceページにアクセスしたらLightningアプリケーションのURLにリダイレクトするのね、ということがわかります。

タブを作成する

そしてビルド > 作成 > タブでVisualforceタブを作成し、先ほど作成したVisualforceページに紐付けます。

アプリケーションを作成する

最後に、ビルド > 作成 > アプリケーションで新規アプリケーションを作成し、選択されたタブに先ほど作成したVisualforceタブを追加、そしてデフォルトの表示タブをそのVisuaforceタブにセットして保存します。

これで完成です。
アプリケーションプルダウンメニューからアプリを選択すると、下記の流れでLightningアプリケーションが表示されます。

  • デフォルトタブにセットされたVisualforceページがまずロードされる。
  • VisualforceページはすぐにLightningアプリケーションへリダイレクトする。
  • Lightningアプリケーションが表示される。

まどろっこしい仕組みですが、アクセスしてみると意外に遅延もなくスムースにLightningアプリケーションが表示されます。

現時点でLightningコンポーネントフレームワークでアプリを作ってしまいたい場合はこんな形で既存の環境でも違和感なく利用することができます。

Enjoy :)

without comments

Written by 中嶋 一樹

4月 16th, 2015 at 12:51 pm

Posted in Uncategorized

Tagged with ,

Leave a Reply