abOut.nsf

新旧かまわず、またお役立ち度にあまりこだわらずに、 拡張子がnsfであるNoSQLなデータベースファイルと、それを扱うコラボレーション製品に絡んでのあれこれを。

2015/06

続きは、Domino Designerでフィールドを作成する際のお話から。

テキストフィールドのスタイルには、「Notesスタイル」(かぎ括弧)と「ネイティブOSスタイル」(四角い枠)の2種類があります。

 ネイティブOSスタイルの方が、やや新し目のインタフェースですが、固定幅を指定しないとしても、最大3行ぐらいで、それ以上は縦幅が広がってくれずに、スクロールバーが出てしまいます。

見た目は四角の枠がいい。でも、いくら改行しても制限なく枠が広がって欲しい、という場合の工夫として、表の利用があります。
フィールドを「単一セルの表を作ってその中に配置する」という方法です。
フィールドのスタイルはNotesスタイル(つまりかぎ括弧形)のままにしておくけど、「フィールドの境界を表示」のチェックを解除するわけです。


    「これ、表の代わりに段落境界を使うと設定が楽じゃないの?」

前の作文で触れたように、テキストフィールドを置いたら、段落境界で囲むわけです。

開発する側にとっては表より手軽です。
  • 表だと、必ず前後に1行必要だけど、段落境界なら不要です。
  • 表だと、メニューで作成しなきゃならないけど、段落境界はプロパティを変えるだけ。
  • 表だと、作る際に種類やセル数を気にしなきゃならないけど、段落境界だと選択が無い分、気にしなくて良い。

表には、「セルの境界線」(罫線)と「表の境界線」の2種類の線がありますが、「段落境界」は、表でいえば「表の境界線」と
線の種類や指定方法が共通です。
目立たないので存在すら知らない人もいるだろうけど、「表の境界線」同様に、外側の余白/内側の余白も指定できます。
イメージ 1

 そう思って実際に段落境界つきのフィールドを作ってから試用してみたところ。。
    段落境界で囲ったテキストフィールド内の文字をコピーし、
    イメージ 2
    カーソルを単なるリッチテキストフィールドの中に移動してからペーストすると、
    イメージ 3
    なんと段落境界ごと貼り付いてしまい、そこだけ四角い枠が。
    (そりゃそうか。太字のテキストフィールドからリッチテキストに貼り付けたら太字になりますから。)

    そのまま貼りついた枠内で改行をすると、リッチテキストでは別の段落になるから、枠の数も増殖します。
    イメージ 4

段落境界の事を知らないユーザーであれば、解除方法が分からず一苦労しそうです。


仕組みを知ってるとしても、
    「ありゃ…まあいいや。入力を優先して、直すのはあとにしよう。」
と、ウッカリ打ち込みと改行を繰り返した、後で、いざ直すとなるとちょっと面倒。

前の作文で述べたとおり、段落境界は複数段落選択した状態では文字プロパティ上に出てこないので、一つ一つの段落を、いちいち選択して、解除する必要があります。
もし、線だけでなく、内側外側の余白や影も設定されていた場合は、それらも一つ一つの段落でいちいち直さねばなりません。

もちろん、フィールド内全体を切り取ってから段落境界を解除し、テキスト形式を選択して貼り付ける手もありますが、リッチテキスト特有の、文字飾りや文書リンクや添付などが混じっていたら、そうはいかない。


さらに…。逆に、リッチテキストから文字をコピーし、段落境界つきのテキストフィールドに貼り付けた場合。

    イメージ 5
    テキストフィールド内では、貼り付けられた行部分のみ、段落境界の線が消え、テキストフィールドらしからぬ、こんな表示に。
    イメージ 6
    実はこちらに関しては、保存して開き直せば表示が直るので、ある種のどっきりと思えば良いかも知れませんが。。
    イメージ 7


以上の経験から、段落境界は、設定し易いけども、フィールドを囲むのに使うことはおすすめできないと考えています。

文字プロパティの「段落境界」ってご存知でしょうか。
イメージ 1

けっこう以前のバージョンから実装されているはずですが、目立たない機能で、これについて触れられた書き物を見た記憶がありません。
それに、なぜなのか分りませんが、複数の段落を選択した状態だと、文字プロパティにこのタブが出てこないです。

このタブで境界線を設定すると、文字数には関係なく、段落の横幅いっぱいに枠ができます。

さて、ドミノデザイナー上である実験をします。

    フォーム内にテキストフィールドとリッチテキストフィールドを作り、それぞれの段落に、段落境界の境界線を設定します。
    イメージ 2

    で、このフォームを保存後、新規文書を作成し、それぞれに文字を入力し改行すると、、
    テキストとリッチテキストでは、枠の出かたが違います。
    テキストでは、改行すると一つの枠を下に広げるのに対し、
    リッチテキストでは1回改行するごとに枠が増殖します。
    イメージ 3
ただ、リッチテキストの方も半改行(Shift+Enter)すれば、ひとつの枠を維持します。

このことから見ると、テキストフィールド内の改行は、リッチテキストフィールドの半改行にあたると思えます。
その点は、まだキッチリ検証をしたわけではありません。例えばLotusScriptのエージェントからChar関数を組み合わせて改行を加えた場合もそうなのかな?

リッチテキストフィールドでは、上手く設定すれば罫線つきのレポート用紙のように見せることができます。

とはいえ、いくつかの理由から、自分は段落境界を使ったでフィールドでの境界線を設定はおすすめできないなと考えています。

それについては次の作文で。


10日ぐらい前からIBM Verse のスポット広告が展開されています。
イメージ 1 イメージ 3 イメージ 2
こちらは電車内で見かけたもの。

私は目にしてませんが、TVでのオンエアも多少行われるとか。



さて。。。。。

IBMさんがNotes/Dominoをいつまでやってくれるかどうか心配、
IBM自身、もうNotesを余り売る気がないのかも。
こんな声が最近何年か聞こえています。

また、一見、競合さんからの粘り強い逆風に対して、IBMさんが反論してないように見える状況だったと思います。

IBMさんのセミナーに出ると、Notes/Dominoの開発体制は、いまなお世界中で800人従事してる、と云ったお話が出たり、
海外のサイトに、2つ先のバージョンまで開発計画があるらしいことが載っていたり。

つまり、IBMさんは、競合が期待するような Notes/Domino の塩漬けをするつもりはないことを云ってるのですが、そのことが、しかるべき世間には十分伝わってないように思えました。



で、話をVerseに戻し。

IBMさんがそこまで意図しているかどうか分りませんが、
スポット広告の展開で、払拭された(かも知れない)ことがひとつ。

さしあたって、Verse が Notes/Domino の技術をバックに持ち、その延長線上にあることをご存知であれば、Notesのサポート継続を不安視する方には次のように。
「IBMさん、Notes? 続きますよ。Verse の CMやってますよね?」

↑このページのトップヘ