今日は久々にtrailheadを消化し、バッジを6つゲットした。
Lightning Experienceの単元もやってみたが、カスタムボタンのJavaScriptがサポートされてないんだとな。
これは痛い。
まず、バッジをゲットをしたのでバッジ置き場を更新。
で、以下の単元でこういう記述があった。
Lightning Experience が会社に適しているかどうかの判断 単元 | Salesforce Trailhead
カスタム JavaScript ボタン
JavaScript コンテンツソースを使用するカスタムボタンは、Lightning Experience ではサポートされていません。これらのボタンの一部の機能は、Lightning コンポーネントアクション、プロセスビルダーや Visual Workflow などのポイント & クリックツール、コード駆動型アプローチなどを使用して置き換えることができます。
Lightning Experienceでは、これまでカスタムボタンで行っていた処理をプロセスビルダーとかで置き換えろとな。
めんどくせー。
カスタム JavaScript ボタンは、独自の処理を実装するのにとても便利なのでよく利用している。
すべての処理をJavaScriptに書かなくても、apexを呼んで結果を戻すこともできるし。
これがサポートされないとなると、かなりきつい。
プロセスビルダーはコーディングがいらないので、ちょっとした処理をするときにさくっと設定でき、デプロイもいらないというメリットがある。
ただ設定するのにちょっと癖があり、設定内容が確認しにくかったりするので、正直あっしは使いづらい。
コードの方が安心するのは、あっしがエンジニアだからか。
あっしのようにカスタムボタンからapexを呼んでいる場合は、プロセスビルダーより複雑な処理をしているので、そもそも置き換えることは無理。
基本的にはapexをそのまま流用することを考えるので、呼び出す側を変えることをまず検討することになる。
そうなると、呼び出し元をvisualforceに変えてしまうか。
いずれにせよ、インパクトは大きい。
これが原因でLightning Experienceへの切り替えに踏み切れてないユーザは多いんじゃなかろうか。
Classicで利用できていたものが、Lightning Experienceでは【まだ】対応できてない部分がある、という言い方をsalesforceがしているところもある。
後から対応するかもしれない、という可能性は0ではないが、それがいつになるのか。
ひとまず開発に携わるものとしては、普段使っている本番組織がLightning Experienceになっていないからといって何も勉強しないわけにはいかない。
最近、新規で導入したユーザ企業はLightning Experienceから入ってるところもあるだろうし。
引き続きtrailheadで知識を蓄えていかねば。