Migaro. 技術Tips

                       

ミガロ. 製品の技術情報
IBMiの活用に役立つ情報を掲載!


Valence URLパラメータを使用して直接アプリを起動する方法

ValenceはURLパラメータを指定することで、ログイン画面をスキップして直接アプリケーションを起動することができます。
直接アプリケーションを起動する際に、任意のパラメータを渡したい場合には、URL引数 appParams を使用して、エンコードしたJSONを渡します。TipsではURLパラメータを使用して任意のパラメータを渡す手順についてご紹介します。

ValenceでのURLパラメータ

ログインのスキップ

ValenceではURL引数にパラメータを設定することで、ログイン認証をスキップして特定のアプリを起動することができます。
例えば、IBMiのIPアドレスが「192.168.1.2」でポート番号が7060の場合、URLパラメータにuserとpasswordを指定することでログインをスキップすることができます。

例) ユーザー:smpuser , パスワード smppw の場合

 http://192.168.1.2:7060?user=smpuser&password=smppw

ログインの環境、アプリの指定

ログイン時に「環境」を指定したり、起動する「アプリケーション」を指定することも可能です。
環境はenvironment , アプリケーションはappのURLパラメータで指定ができます。
指定する値は、環境、アプリのID番号を指定して実行します。

例) 環境(Valence デモ環境 ID:1001) 、アプリ(Nitro iAdmin ID:114) を起動する場合

 http://192.168.1.2:7060?user=smpuser&password=smppw&environment=1001&app=114

URLパラメータ一覧

URLパラメータ説明
userValenceにログインする際のログインユーザー名
password&userで設定したログインユーザー名のパスワード
environmentセッションの環境を指定 環境ID(数値)を指定
customSid事前に生成されたSIDを設定
appValenceのアプリID(数値)を指定
portaltrue / falseを指定 ポータル機能にアクセスする場合はtrue
autoStarttrue / falseを指定 自動起動アプリを起動する場合はtrue
autoLogouttrue / falseを指定 ポータル管理 > 設定 の「アンロード後にログアウト」の設定を上書きします。
falseを設定すると、アプリ終了後にログアウトが実行されずセッションが残ります。
forcePrompttrue / falseを指定 ログインセッションが存在する場合でも、ログイン画面での入力を必須にする場合はtrue
lockTimeoutセッションタイムアウトになるまでの待機時間(分)を指定
appParamsアプリケーションに任意のパラメータを渡したい場合に指定

customSidの生成方法

ログイン時にURLパラメータへユーザー、パスワードを渡す代わりにValenceのIBMiプログラムVVLOGINを使用してValenceのSID(セッションID 64桁)を事前に生成して、URLパラメータに指定することでValenceにログインすることができます。
VVLOGINプログラムのパラメータは以下を設定します。

パラメータ説明
Session ID (64A) *CUSTOMを引数に設定
User ID (15p5)Valenceの数値ユーザーID (VVUSERSファイルのVVUSRID)を設定
Environment ID (15p5)セッションを作成する Valence環境ID (VVENVSファイルのVVENVID)を設定
Language ID (10A)セッションに関連づける言語 JA を設定

appParamsを使用して任意のパラメータを渡す方法

URLパラメータのappParamsを使用することで、任意のパラメータをアプリケーションに直接渡すことも可能です。

例えば、ログインをスキップして起動するアプリケーションにURLPARM01=ILを渡したい場合、以下コードの実行結果をappParamsのパラメータとして設定することで、アプリケーションにURL引数を渡して起動することが可能です。

var appParams = {
        URLPARM01 : 'IL'
    },
    paramsEncoded = encodeURI(JSON.stringify(appParams));

console.log('appParams value: ', paramsEncoded);

実行結果は、%7B%22URLPARM01%22:%22IL%22%7D になります。
URL引数には、以下例のように設定します。

http://192.168.1.2:7060?user=smpuser&password=smppw&app=114&appParams=%7B%22URLPARM01%22:%22IL%22%7D

アプリケーションのアプリ変数では、Pull from URL Parameterに「URLPARM01」を設定することで値 IL をアプリ変数PARM01に設定することが可能です。