2022年8月23日火曜日

アプリケーションのインストール時にパラメータを設定する

 前回の記事でStripeで支払いを行うアプリケーションを作成しました。その際、公開可能キーやAPEXが稼働しているホスト名、メール・アドレスを直接記述しています。

var stripe = Stripe('pk_公開可能キーの貼り付け');
var apex_path = 'https://ホスト名/ords/r/ワークスペース名/';
var successUrl = apex_path + '/stripe-payment/success?session=' + apex.env.APP_SESSION;
var cancelUrl =  apex_path + '/stripe-payment/error?session=' + apex.env.APP_SESSION;
var customerEmail = '電子メール・アドレス';

これらの値はAPEXアプリケーションのインストール先で変更する必要があります。

アプリケーション置換文字列サポートするオブジェクトの設定を行なった上でアプリケーションをエクスポートすると、そのアプリケーションをインポートする際に置換文字列に値を設定できます。

以下より、設定の手順を紹介します。

アプリケーション置換文字列を設定すると、前出のJavaScriptのコードは以下のように書き換えることができます。

var stripe = Stripe('&G_STRIPE_KEY.');
var apex_path = '&G_APEX_PATH.';
var successUrl = apex_path + '/stripe-payment/success?session=' + apex.env.APP_SESSION;
var cancelUrl =  apex_path + '/stripe-payment/error?session=' + apex.env.APP_SESSION;
var customerEmail = '&G_CUSTOMER_EMAIL.';

置換文字列として、G_STRIPE_KEYG_APEX_PATHG_CUSTOMER_EMAILを設定しています。

アプリケーション定義置換を開いて、置換文字列置換値を設定します。


JavaScriptでは置換文字列、例えば&G_STRIPE_KEY.、PL/SQLやSQLではバインド変数 :G_STRIPE_KEYといった形式で参照することができます。

置換文字列を設定した後にサポートするオブジェクトアプリケーション置換文字列の設定を行います。

サポートするオブジェクトを開きます。


インストールアプリケーション置換文字列を開きます。


アプリケーションのインポート時に、値の入力を要求する置換文字列プロンプトチェックを入れます。また、プロンプト・テキストを設定します。


現在の値は、インストール時に元の値として表示されます。センシティブな値の場合、エクスポートする前に変更しておくか、エクスポート・ファイルを直接編集して、元の値を変更しておく必要があります。

あとは通常のエクスポートを行い、アプリケーションをファイルに出力します。

そのファイルをインポートすると、インストールの手順の中で以下の画面が表示され、置換文字列の値の入力を求められます。


このような設定を行うことで、アプリケーションのインポート時に置換文字列の値を設定することができます。