2023年12月7日に HCL Domino/Notes V14.0 がリリースされましたね!
私もさっそくダウンロードしてインストールしてセットアップして起動することを確認しました!
「ところで、V14.0 の新機能ってなんなの?」という方はこちらのリリース情報を確認していただきたいのですが、今回のテーマは V14.0 で改善(というかバグフィックス)された機能です。
バージョン 9.0.1 FP8 では文書内のサマリーフィールドの合計サイズが 64K から 16 M へ拡張され、バージョン 10.0 ではひとつのサマリーフィールドのサイズが 32K から 64K へ拡張されています。
拡張を有効にするには、ODSバージョンを 52 以降にすることと、compact コマンドを -LargeSummary on オプションを有効にして実行するといった作業が必要です。
この拡張機能は、Notes ユーザーがよく目にするエラーの一つに「フィールドが大きすぎる(32K)、または...」がありますが、これを発生しにくくするものです。
<ご参考>
大きすぎるフィールドに対応した件
実はこの機能改善については、過去のエントリで触れました。
<過去のエントリ>
サマリーフィールドの制限を緩和するには
しかしながら多少問題が残っていたのです。
<問題について触れている公式文書>
LargeSummary が有効化されたデータベースでも「フィールドが大きすぎる(32K)」エラーが発生する
V14.0 がリリースされた後、この問題に関連するアイデアポータルに投稿されていたアイデアで "Shipped" (= 出荷済み)のステータスに変わったものがありました。
<テキストフィールドの 32K 制限の削除についてのアイデア>
Remove 32k limit for text-fields
確かに Fix List では、上の問題は V14.0 で解決しているようでしたが、公式文書は今日(2023/12/17)時点でまだ更新されていません。
そこで今回は、Notes V14.0 日本語(製品版)で問題が解消していることを確認します。※V14.0 の Notes は 32 bit版が無く、64 bit版のみリリースされてます(2023/12/23現在)
確認するアプリケーションの ODS バージョンは 55、compact コマンドを -LargeSummary on オプションを有効にして実行済みです。
まずテキストフィールドへタイプ中、以前は 32762 文字目をタイプしたところで発生したエラー「フィールドが大きすぎる(32K)...」は、V14.0 では表示されません。
32K をこえる 32770 文字をタイプしてもエラーなく保存できましたし、この文書を開きなおしても、フォーム上で表示が崩れるといったことは発生しなくなりました。
新たに気付いたことですが、文書のプロパティでフィールドの値を見ると、文字列の最後にあるべきダブルコーテーションが表示されていません。ビューからこの文書のプロパティを表示して、プロパティ画面上に表示された 32770 バイトのテキストフィールドにあるすべての文字列をコピーしてテキストエディタへ貼り付けてみると、15806 バイトしかありませんでした。
けれど同じ文書を「拡張プロパティ」で表示すると(サイズが 32772 と多く表示されるものの)最後のダブルコーテーションもありますし、テキストエディタへペーストした文字数は 32770 で問題ありません。
次に、フォームを開いてテキストフィールド上に入力できる文字数を確認します。
まず限界値を超えた場合のメッセージですが「フィールドが大きすぎる(64K)か、またはビューの列と選択式が大きすぎます」でした。
Dim ss As New NotesSession Dim doc As NotesDocument Dim str32k$ Dim i% Const str100$ = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" Set doc = New NotesDocument(ss.Currentdatabase) doc.Form = "topic" For i = 1 To 654 str32k = str32k & str100 Next doc.subject = str32k Call doc.save(True, False)
0 件のコメント:
コメントを投稿