読者です 読者をやめる 読者になる 読者になる

tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:LightningMessageのインストールを試してみました - Part 1

salesforce.com Lightning

Lightning Experienceへの移行をする際にChatterメッセージが使えなくなるのが地味に障壁となっていました。Lightning ComponentでつくってあるChatterメッセージアプリがあれば解決するんだけどなと考えていたらそういうアプリを作ってくれている人が居たのを思い出しました。


README.mdにインストール方法も記載されています。
f:id:tyoshikawa1106:20170305184423p:plain

インストール手順

まずはgit cloneコマンドでソースコード一式をダウンロードします。
f:id:tyoshikawa1106:20170305184701p:plain


build-sample.propertiesをコピーしてbuild.propertiesを作成します。
f:id:tyoshikawa1106:20170305185135p:plain


DE組織あたりでパッケージを作成します。(たぶん。。)
f:id:tyoshikawa1106:20170305185206p:plain


lm.namespaceに作成したパッケージ名を入力。ユーザ名とパスワードにDE組織のログイン情報を入力します。
f:id:tyoshikawa1106:20170305185329p:plain


デプロイはantを利用します。Force.com移行ツールの出番です。


build.xmlは用意されています。後はコマンドを実行するだけです。
f:id:tyoshikawa1106:20170305185616p:plain

ant -Dpackage.xml=package.xml -f build.xml deploy


こんな感じ。
f:id:tyoshikawa1106:20170305185820p:plain


よくみるとエラーとなっていました。

Error: No COMPONENT named markup://LightningMessage:LightningMessageCmp found : [markup://c:LightningMessage]


やり方がよくなかったみたいです。ソースコードは取得できているので今回はgulp-jsforce-deployを使う方法で対応します。


git cloneしてソースコード一式取得した後にpkgフォルダにLightning Messageアプリのコードを格納します。
f:id:tyoshikawa1106:20170305191901p:plain


Set upに記載されているコマンドを実行して準備します。


デプロイコマンドはこんな感じ。

$ SF_USERNAME=username@example.com SF_PASSWORD=yourpassword gulp deploy


次のようなエラーがでたらnpm installでインストールすれば解決します。

Error: Cannot find module 'through2'


あとは次のエラーがでるかもしれません。

メインマークアップは空にできません。Lightning 定義バンドルを削除する場合は、代わりにバンドルを直接削除してください。


ソースコードで __namespace__と記述されている箇所があるのでc:とか除外とかすれば解決します。(antのときのエラーはこれが原因かな)
f:id:tyoshikawa1106:20170305192739p:plain



これでデプロイを実施できました。
f:id:tyoshikawa1106:20170305192847p:plain


試しにアプリケーションを開いてみると
f:id:tyoshikawa1106:20170305193721p:plain


どこか設定不足かもしれませんがエラーが。Lightning Componentの仕様は頻繁に変更されているのでそれが原因かもしれません。


antとかよくわからないまま試してみたのでどこか手順ミスがあったかもしれません。またエラーメッセージもちゃんと調べれば解決するかもしれないです。今回はそこまでやる予定はないのでここまで。Force.com移行ツールやgulp-jsforce-deployの使い方を久しぶりに思い出せて良かったです。

追記

antをつかったインストールの正しい手順を確認できたので追記しました。