Qlik Senseアプリ内で画像を使っていることはありませんか?
なかでも、『URLで画像の設定』をアプリにしている方が、今回のターゲットです!
「URLによる画像の設定」について詳しくはこちら。
Qlikデータソンで作成したアプリには、画像URLを複数箇所に設定していました。
こんな感じ。ご覧の通り、画像URLを全てハードコーディングで入力しています。
そして、他ユーザーにもアプリを展開するために、
管理スペースに公開や複製してスペース移動をすると事件は起きました...。
なんと画像が表示されていない!と問い合わせが殺到したのです。
本来であれば背景画像が表示されるべき部分に、何も表示されていません。
●画像が表示されていないver.
●画像が正しく表示されているver.
(余談ですが、このシルエットはポリゴンマップで描いています)
な、なぜだ。。。。と焦り散らかしたことを思い出します。
今回のケースは背景画像としての利用でしたが、アラートなどのアイコンやその他のケースでは、正しく表示されていないとユーザーに多大な影響を与えてしまう可能性があります。
この課題の要因は、下記のような実装になっていたためです。
・画像URLのハードコーディング
・新しいApp IDが付与されるアプリ公開・複製などの行為を想定していなかった
(スペース移動は影響ありません)
より中身を詳しく説明すると以下のようになります。
※画像が表示されるユーザーも存在するかもしれません
その理由は、そのユーザーにアプリAへのアクセス権が付与されているためです
ちなみに以下によって新しいApp IDが付与されるそうです。
お待たせしました。ではどうすれば解決できるのか。
ずばり、App IDを動的に取得できるURLを設定すればよいのです。
そのためにDocumentName()という関数を利用します。
変更後のURLはこのようになります。
これで常にアプリ自身のApp IDを動的に取得できるため、アクセス権を意識せずにアプリを他ユーザーに展開することができます!
いかがでしたか。
非常に便利な画像URLですが、表示されないと逆効果になってしまう場合もあります。
実装に使用する場合は、必ず他ユーザーによる表示確認を忘れずに!
P.S.
解決にご尽力いただいたQlik社の皆様、ありがとうございました!