Domino Volt 1.0.1で追加された関数

皆さん、こんにちは。

なぜか今回もDomino Volt 1.0.1の話です。
書くのはやめようかと思っていたのですが、某氏が「ブログにして!」と懇願するので?書きます。

今回はDomino Volt 1.0.1で追加された関数についてです。
といってもどんな関数が追加されたのかがわかっていません。
HCL Domino Volt の新リリースのご紹介
によると、
form.getStageAction()
app.getProductBaseURL()
app.getFormLaunchURL()
app.getRecordURL()
の4つが判明しています。

そこでこれらの関数について見ていくことにします。

1.form.getStageAction()
form.getStageAction( actionID )関数は指定したステージアクションを取得できます。
ステージアクションはObjectとして取得され、activate関数を使うことでにプログラム内で実行することができます。
これにより、事前に関数を呼び出したりすることができます。
※ステージアクションはサービスの呼び出しおよびメールの送信しかできないのでそういったことに利用できます

動作を確認するために以下のようなアプリケーションを作成してみました。
サンプルアプリケーション

ステージアクションは[送信]と[キャンセル]がありますが、[送信]はわざと非表示にしてあります。
[送信]のIDは"S_Submit"で、[キャンセル]のIDは"S_Cancel"としてあります(デフォルト値です)。
※アクションIDはアクションのプロパティの「拡張」タブに書いてあります。
アクションIDの確認

[送信アクションを代わりに実行します]のボタンのonClickイベントには以下のようなJavaScriptが書いてあります。
onClickイベント

これで文書を新規作成してボタンをクリックすると、「保存時の日付」フィールドに今日の日付がセットされた状態で文書が保存されます。
ワークフローで承認アクションを実行したときに今日の日付をセットするような形で使えるでしょう。


2.app.getProductBaseURL()
この関数が返す値はDomino VoltのベースとなるURLです。
この関数は引数はありません。
戻り値はURL文字列で通常、
http(s)://DominoVoltサーバー名/volt-apps
が返ってきます。
今のところ、どのような場面で使うのかが分かってません・・・
分かる方、教えてください(^^;


3.app.getFormLaunchURL()
関数名をよく見ると想像できますが、
フォームを起動するためのURLを返してくれる関数です。
構文はapp.getFormLaunchURL(formId, appId)
でとなっています。
formId(フォームID)はフォームのプロパティの「拡張」タブで確認できます。
フォームIDの確認

また、
form.getId()
という関数で取得することも可能です。ただし、現在のフォームのIDしか取得できないので注意が必要です(別のフォームを取得するためにはフォームIDが分からないと行けないという・・・)。

appId(アプリケーションID)は画面上では確認出来ません。
といいたいところですが確認する方法があります。
アプリケーションを起動するのです。
そのURLの一部にアプリケーションIDが使われています。
アプリケーションIDの確認

JavaScriptの
app.getUID()
関数でも取得することが出来ます。

これらの引数をセットすると、指定したアプリケーションのフォームを起動するためのURLが取得できます。

ちなみに、引数を設定しない場合は、現在のアプリケーションの現在のフォームを起動するためのURLが戻り値となります。



4.app.getRecordURL()
こちらもURLを返す関数です。
これは特定の文書を開くためのURLが戻り値になります。
構文は
app.getRecordURL(recordId, formId, appId)
です。
formIdとappIdは前述した方法で取得できます。
recordIdは文書を開いたときのURLで確認できます。
レコードIDの確認

JavaScriptで確認する場合は、
BO.getDataId()
という関数で確認できます。


ちなみに、引数を何も設定しないと現在の文書を開くためのURLが返されます。
この場合は、メールの送信サービスで設定できる「このフォームへのリンク」というものがこの関数に相当すると思います。
※文書が保存されていなくても値が返ってきますが、当然そのURLは文書が保存されるまでは無効となります。


いかがでしょうか?
これらの関数は単体で紹介しても使い方が分からなかったりするかもしれません。
それでも1.0.1の新機能であることには違いないので紹介しました。
ただし、私自身はこれらの関数は使いこなせなくても良いと思っています。

というのも、
Domino Voltはノーコード/ローコードでプログラム開発ができますよ。
とうたっているからです。
個人的な見解ではありますが、JavaScriptは必要最小限の利用にとどめるべきだと思っていますので、当ブログでは紹介は避けています。
ここまでするのであれば、XPagesを使ってアプリケーションを開発した方が色々と融通が利くと思います。

どうしてもJavaScriptを使ってDomino Voltアプリケーションを作成したい。
でも、どう使って良いのか分からない
という方は弊社までお問い合わせください。






それでは今日はこの辺で・・・


Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
HCL Ambassadorの私が承ります!
お問い合わせはこちらから→ Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

コメント