前回までで Nomad 用の部品が完成したので、これらを組み合わせてアプリとして仕上げます。
メインフレームセットの作成
まず、Nomad 用アプリのメイン画面となるフレームセットを作成します。上下 2 分割とし、上にヘッダーとしてタイトルを表示します。
◇ フレームセットの設定
名前 | mfsMain |
タイトル | @DbTitle |
◇ フレームの設定
フレーム | 名前 | 内容 | 補足 |
上 | mfrmTitle | pTitle ページ | |
下 | mfrmForm | m02.会社名別 フォーム |
作成した各フレームのスクロールは ”オフ” にしておきます。
フォーム用のフレームセット作成
Nomad でフォームを開くと上下だけでなく、左右にもスクロールすることがあります。少々使いづらいので、フレームセットを使ってスクロールを止める設定を行います。
1 フレームだけのフレームセットを新規で作成します。
◇ フレームセットの設定
名前 | mfsNameCard |
タイトル | @DbTitle |
◇ フレームの設定
フレーム | 名前 | 内容 | 補足 |
mfrmForm | (設定不要) | スクロールは ”オフ” |
Nomad 用フォームの修正
フォームを開くと、先ほど作成したフレームセット内に表示されるように設定します。
m01.名刺管理 フォームのプロパティ、[起動]タブの自動フレームを以下のように設定して保存してください。
UI 切り替えフレームセットの作成
今回 Nomad 用のフレームセット mfsMain を追加しました。ノーツクライアント用のフレームセットも存在します。ということは、アプリを開いたクライアントに応じて、開くフレームセットを切り替える必要があります。
この連載で前回のアプリ「お小遣い帳」を作成したときには、初期表示するページが開くタイミングで LotusScript を使って切り替える方法を紹介しました(#11)お小遣い帳 - Nomad とノーツクライアントの併用)。この記事に対して Miyo HCL Ambassador から『フレームセットの計算式でもできる』とステキな助言をいただきました。そこで、今回はこの方法にチャレンジします(Miyo-san の意図通りの方法かは確認はできていませんが...)。
新規で 1 フレームだけのフレームセットを作成し、フレームの内容を式で指定します。
◇ フレームセットの設定
名前 | fsUISwitcher |
タイトル | @DbTitle |
◇ フレームの設定
名前 | frmSwitcher |
内容 - 種類 | 名前付き設計要素 フレームセット |
値(計算式) | @If(@Contains(@Platform([Specific]); "iOS":"Android"); "mfsMain"; "fsMain") |
起動画面の設定
最後にデータベースのプロパティを開き、起動画面を fsUISwitcher フレームセットに変更します。
これで、作業は完了です。
動作検証
Nomad から開いて、動作検証をします。以下の動画は、このシリーズの最初に添付したものですが、こんな感じで動作していたら成功です。
添付ファイルだけでなく、名刺の写真を撮影して画像で貼り付けたり、カメラロールから添付したり、さまざまな方法で試してみましょう。
トラブルの対処
最後に、今回のアプリの Nomad 実行時に起こりそうなトラブルについてまとめます。
◇ エージェントが実行されない
[名刺読込]ボタンを押してもエージェントが実行されないことがあります。これは、エージェントのプロパティのセキュリティレベルの設定で解決します。下図の通り 2 または 3 に設定しましょう。
◇ RunOnServer 実行時のエラー
[名刺読込]ボタンでは別のエラーが出ることがあります。
このエラーはエージェントの署名者(設計要素の最終更新者)がサーバでエージェントの実行権限がない場合に発生します。
対応には、サーバ文書のセキュリティ設定が必要です。サーバ管理者に連絡して権限を変更してもらうか、権限があるユーザ ID でエージェントを署名しましょう。
おわりに
『スマート名刺管理』いかがでしたか?
Nomad モバイルとノーツクライアントとのハイブリッドアプリを WebAPI 連係(GPT4o API)、DXL などノーツアプリ開発のさまざまな機能を組み合わせて実現しました。守備範囲が広く、自由度が高く、懐が深いところが Notes/Domino の魅力ですよね。
紹介したアプリは名刺管理としては基本機能しかありません。自社の要件に応じて、カスタマイズして、活用いただけたらと思います。
なお、今回の記事では、作成者フィールドを作成していません。よって、一般利用者の ACL は編集者以上となります。他のユーザの名刺情報の取り扱いについて制限したい場合には、作成者フィールドや読者フィールドを活用ください。
前回 | 作ってみよう |
0 件のコメント:
コメントを投稿