いいね!数

0

閲覧数
272

お世話になります。クラシックノーツで開発したDBをXPages化しようとしています。

A.既存NSFファイルに、XPagesの要素を追加していく方法と、

B.設計を別NSFファイルにする方法

があるという認識です。こんな場合はこちらがおすすめ 等、ありますか?

DMZやBluemix上に配置するのであれば、Bの方が良いと思うのですが、それ以外で、何かあれば教えていただけますか?

まだうまくイメージがつかめていないので、経験談等、なんでもかまいません。

サーバー情報: | クライアント情報: | 
カテゴリ:アプリ開発 - XPages | タグ:
  | 質問日時:2017/02/20 15:24:58

回答・コメント

いいね!数

1

こんにちは。

Notes、ブラウザの両方からアクセスしたい、と言うような地獄のような運用上の制約が特にないなら、B一択でいいですよ。

その方が設計がすっきりしますから。

例えば、フォームの場合、クラシカルNotesでは文書の見た目を規定してるし、保存時に動くいろんな処理が書かれてるけど、 XPagesにとってフォームは単なるフィールドのが並んでればそれでいい。正確にはフィールド定義もいらないけど、さすがに保守性が悪い。

ビューもXPagesでは見た目は関係ない。

そういう別物を一緒にすると設計が汚くなる。

汚い設計は保守性が悪い。

その一点で、もうAは考慮する必要はないと思います。

既存文書はもちろん継承しないといけないでしょうから、フィールド名だけは変えない方がいいです。リッチテキストフィールドの引き継ぎは、まぁ無理かな。

/Yac

回答日時:2017/02/20 20:42:04

いいね!数

0

質問しといて、一所懸命回答したのに、それを数日も放置するやつの神経がわからん。

回答が気に入らないなら、そう書けばいいのに。もっといいのを書く。

/Yac

回答日時:2017/02/23 14:58:55

いいね!数

0

不快な思いをさせてしまい申し訳ありません。

インフルエンザで寝込んでいます。

追加で教えていただきたいことがあるのですが、脳みそがまわっていないので、

元気になったらまた書き込みます。

回答日時:2017/02/23 15:16:33

いいね!数

0

yac4423さん回答ありがとうございます。

 

yac4423さんの方法は、データを保持するNSFは、もう、Javaシステム等のDBと同じような扱いにし、設計を別NSFに持つことで保守性がよくなるということだと理解しました。

新規作成の場合、その方法で作成できそうだと想像できます。

既存システムをXPages化する場合、以下が気になったのですが、許容範囲な気がしました。

1. 同一DBの場合は、サーバー名、ファイル名を指定せずブランクで済んだのが、Bでは、毎回指定するようにする必要あり。

2.既存システムは、すでに1DBにプログラムが入り混じっている状態ですので、設計解析して、分離して・・・といった作業に工数がかかりそうな印象を受けました。が、考えてみると、おそらく、Aでいっても発生する作業。

3.文書保存時にフォーム上で計算させる処理を使わないのはもったいない?

 

あと、Bの場合、以下の点で後ろ向きになっていたのですが、指定したXPageでリダイレクトさせれば何とかなりそうです。

・DominiURLコマンドでhttp://サーバー名/xxx.nsf/0/UIDで文書が開けていたのが使えない

・DBプロパティでブラウザで開いたときに、「指定されたXPageを開く」が使えていたのに使えない

 

1点気になったのが、「 リッチテキストフィールドの引き継ぎは、まぁ無理かな 」とあるのですが、単純にXPage化すれば引き継ぎできると思っていたのですが、無理というのはどういうことでしょう?考慮点があるのでしょうか?

回答日時:2017/03/02 9:40:53

いいね!数

1

質問の意図を取り違えてました。

最初に質問を読んだときに、既存のLotusScriptなどで作ってる既存の設計も残したまま、XPagesの設計要素を追加していくほうがいいか、と認識してしまいました。

今、読み直すとそうとは書いてないですね。

文書が格納されているnsfファイルと、 XPagesの設計を組み込む nsfは一緒の方が楽です。私もそうしてます。

言いたかったのは、LotusScriptなどで作り込んでる文書保存時などに実行される処理やデザインの凝ったフォームレイアウト、膨大なビューはXPages設計の保守性を下げるだけだから、全部捨てた方がいい、ということです。

そういう意味で、nsfは別のものを新規に作り、フォームやビューは1からつくりなおして、あとで元のデータベースから文書をコピペすればいい。フォーム名とフィールド名だけは引き継がないとうまく文書のコピペができませんね。

/Yac

回答日時:2017/03/02 12:49:11

いいね!数

1

リッチテキストの引き継ぎは、必ず引き継げない項目があるので、安易に出来ると言うと、後でひどい目にあいます。

すぐに思いつくのは、添付ファイル。表もちょっと怪しい。インデントはどうだったかな?

文書リンクもXPages形式じゃないからダメ。

などなど。

/Yac

回答日時:2017/03/02 12:55:29

いいね!数

0

yac4423さん

回答ありがとうございます。

質問の書き方が分かりにくかったですね。そして、Bの場合も、設計のNSFから、文書が格納されているNSFへのアクセス方法が、通常のXPagesの機能でいくか、RESTでいくか 等、色々条件が広がっていってしまうため、定義があやふやだったな と後から気が付きました。

 

> 言いたかったのは、LotusScriptなどで ・・・・

FormやViewは触らないでおくつもりでしたが 、確かに、Aの場合でも、いったん別のものを新規に作成すると、不要な部分がそぎ落とされて設計がすっきりしますね。

 

> リッチテキストの引き継ぎは、 ・・・

確かに、ユーザーさんに、Notesクライアントの時の使い勝手そのままを期待されると、問題になりますね。

既存文書のデータも表示が異なりますし。

私が今時点で把握しているリッチテキストの違いは以下です。

・添付ファイル:添付していた位置には文字が表示され、添付ファイルは添付ファイル用のコントロールの位置に移動する。直接編集不可

・通常の表:見た目が異なる。

・タブつきの表:見た目が大きく異なる。

・セクション:開かれた状態で表示される。セクションだったことも分かりにくい。

・水平線:色が無くなる。新規に挿入できない

・文書リンク:

 httpで開く。(フォームの設計でWebアクセス時に使用するXpageを指定しておけばなんとかなりそう)

 既存文書をXPagesで保存後、再度Notesクライアントで開いて編集 等すると、リンクが消える。

・行幅:Notesクライアント時と異なる

・ボタン:消える

・タブ寄せ:消える

・文字設定色々:ほぼなくなる

インデントは簡単にテストした限りは、大丈夫そうでした。

回答日時:2017/03/03 20:45:50

いいね!数

0

インデント、ここのフォームでは消えてしまうみたいですね。XPagesの機能を使って書いたのですが・・・。

 

この行は、インデントします。

この行は、インデントしていません。

回答日時:2017/03/03 20:47:45

いいね!数

0

他、追加のご意見がある方はいらっしゃらないようですので解決済みにします。ありがとうございました。

回答日時:2017/03/09 17:20:39