DWA と UTF-8

2009年01月30日 01:44

 DWAはUTF-8で使うほうが相性がいい、と言うのは Lotus Domino 7.x くらいからサポート内でも言われるようになってきたのですが、この度開発などからも多言語の利用を前提に考えた際にUTF-8 でないとブラウザなどのバグなどもあるために正しく動かない可能性がある、と言う主旨の言質も得られたため、以下のような文書を発行することになりました。

Lotus Domino Web Access における Web サーバーの文字セットの指定について (文書番号 #732292)

日本のお客様はやはりWeb サーバーの文字セットはShift-JISまたは EUCであるべきだ、と言う方も多く、デフォルトではUTF-8が無効になることもあってこの内容には抵抗があるのではないか、と言う事もあり、わざわざ言う必要は無いのでは?と言う意見もあったのですが、やはり以下の点を考慮してはっきりお伝えしておく必要があるだろう、という結論になりました。

・ UTF-8 を有効にしていればヒットしないダブルバイト関連の問題の増加
・ UTF-8 を有効にしないとブラウザのバグなどにもヒットしてしまうため修正出来ない問題の発生
・ コンテンツを発行する側になる通常のWebサーバーと違い、他のシステムからデータを受け取ることが前提のメールシステムで「日本語文字しか絶対に扱わない」とすることの難しさ


特にこれからDWAを利用する予定がある、と言う方は可能な限り計画の段階でUTF-8の設定で利用することを考慮したほうがよいのではないかと思います。

リレーホストをご利用の方へ・・・

2009年01月29日 00:58

今日、Router のBCCの扱いの話をしていたらこんな話を教えてもらいました。

複数の宛先が [bcc:] に含まれている場合、同一 MTA に対する SMTP 配信でもそれぞれの宛先に対してメッセージが作成される (文書番号 727125)


リレーホストでBCCに大量の宛先があると、エンベロープを分けるために同じメールを宛先の分だけ作るのでトラフィックが多くなってしまうのですが、以下の設定をNotes.ini に追加するとSMTP の Dataコマンドが一回で済むのでトラフィックがメール1通分で済む、と言うお話です。

 RouterKeepRelayedBCCsIntact=1

Technoteでも書かれていますが、1MBの添付ファイルを100人のBCCユーザーに送るとすれば、100MB近いトラフィックが1MBで済むことになるので効果は絶大なのではないかと思います。
もちろん実環境で効果があるか無いかは、BCCでサイズの大きなメールを大量配信する事がどれだけあるかにもよると思うのですが・・・

この設定は、6.5.6/7.0 以降で使用可能ですが、インターネットメールを送るのにリレーホストを設定している方は一度検討してみるといいのではないかと思います。詳細なログなどもTechnoteには記載されているので一度読んでみて下さい。

ルーラーを使ったタブ整形

2009年01月28日 01:24

テキスト整形にタブを使う人はどのくらいいるでしょうか?
メールなどでは思ったような間隔にならなかったり、フォントやアプリにも依存してしまうので、本格的なテキスト整形には向かないところも多いのですがやはり簡易なテキスト整形では依然として強力なツールなのではないかと思います。

このタブ整形ですが、Notesのルーラーを使って多彩なタブストップの設定が出来るのをご存知でしょうか?
今日は、Alan Lepofsky氏のブログにあった以下の記事が元ネタになっていますが、非常に面白かったのでみなさんにも紹介してみたいと思います。

Notes Rules!

リッチテキストを使用しているときに、Ctrl-R (またはメニューから[表示]-[ルーラー])を使用するとルーラーが表示されるのをご存知の方は多いと思います。
ぶら下げインデントなどを多用するときには便利ですよね。このルーラーを使うととても強力なタブの整形が出来るようになります。

1. タブストップを設定する
どのように使うかを見る前に簡単にルーラーでどのようなタブ操作が可能なのかを確認しておきましょう。
始めにルーラーの空白部分を適当にクリックしていくと、以下のようなマークが現れます。

ruler1.jpg

この状態で文字のプロパティの「段落余白」タブを見てみると以下のようにタブの設定がされていることが分かると思います。(画像をクリックすると拡大します。)

段落余白タブ

ルーラーに表示されたタブストップのマークを右クリックしてみると以下のようにタブの種類が変更できることが分かります。

tabproperty.jpg


右クリックでタブの種類を変えてみると以下のように変わります。
左から順に、左寄せタブ(赤枠)、右寄せタブ(青枠)、小数点タブ(緑枠)、中央揃えタブ(茶枠)のマークになります。

タブの種類

2. 整形の結果
これらのタブを使って実際にテキストを整形してみましょう。

タブ整形の結果

テキストを選択し、範囲選択をしたあとおもむろにルーラーをクリックしてタブを作成し、右クリックで右寄せタブに変更します。(赤枠)
 数字などを表示するのに右寄せがいいので右寄せに整形します。

青枠は小数点タブを使用して、小数点の桁数で揃えた例です。
いつも左寄せのタブしか使っていないと新鮮に見えないでしょうか?


是非機会があったら使ってみてください。


Domino Configuration Tuner / DAOS Estimator がダウンロードできます

2009年01月27日 02:15

USのサポートブログで、DCTとDAOS Estimatorのダウンロード配布がアナウンスされていますね。

Two new Domino tools now available for download

Domino Configuration Tunerは8.5からは付属テンプレートとして付いていますが、7.0以上でも動くので8.5以前の方でもご利用することが出来ます。サーバーの設定を確認して推奨の設定などを案内するものです。製品に付属しているものも英語版ですので、8.0以前をご利用の方はここから直接入手してください。

Domino Configuration Tuner (DCT) provides easy-to-use self-service configuration

DAOS Estimatorは、8.5の新機能である Domino Attachment Object Service の機能メリットがどの程度得られるかを見積もるために指定したサーバー上にあるデータベースをスキャンして添付ファイルをリストするようなものです。 これは8.5を利用される予定がない方にはあまり必要ないツールかもしれませんが、添付ファイルの利用状況などを調べたい事があるのであれば別の用途で利用することも出来るかもしれません。これはNSFじゃなくて実行ファイルみたいですね。各プラットフォーム用のものが提供されているみたいでした。

Download the Domino Attachment and Object Service Estimator tool

こんなアウトプットが出るそうです。



Example Output:

IBM DAOS Savings Estimator tool, Version 1.0
Copyright (c) IBM 2008. All rights reserved.

Database Name Orig NSF New NSF Num DAOS Dup Compr Space DAOS Ob
Size Size Files Files Files Size Savings Size
============= ======== ======== ====== ====== ====== ======== ======== ========
l\k######.nsf 3.1 GB 989.8 MB 6473 6473 2203 2.2 GB 424.7 MB 1.7 GB
\k#######.nsf 4.4 GB 1.0 GB 5083 5083 1492 3.4 GB 879.6 MB 2.5 GB


尚、AIXのサーバーに対して実行する際には以下の問題が発生するので注意してください。

DAOS estimator (daosest) does not work on AIX versions lower than AIX 5.3 TL7

スマートアップグレードの帯域分散機能

2009年01月25日 00:20

 サーバーとクライアントのアップグレードでどちらが大変かと問われれば、クライアントのほうが大変だ、と思われる方は多いのではないでしょうか。

 アプリケーション互換性テスト、費用や工数の問題、様々な点を検討すると思いますが、お客様と話していると帯域が障害になってネットワーク経由のアップグレードが行えず、CD-ROMベースになるため簡単には行えない、と言う声も聞きます。 特に7.0.2 → 7.0.3 くらいのMRレベルでの更新ならそれほどアプリケーション互換も問題にならないので、こっちのほうが問題になるのかもしれません。

 さて、優秀なソフトウェア管理ツールなら常識かもしれないのですが、ノーツのスマートアップグレードが簡易な帯域分散機能は持っていることはご存知でしょうか。あまりこういう切り口で紹介されたものがなかったので、参考にしていただけたらいいな、と思います。

スマートアップグレードで帯域分散を考えるときには以下のようなアプローチがあります。
どれもよく考えてみたら当たり前かも・・・?と思得るようなものなのですが、バージョンアップ検討時などには意外とこういう機能があることを見落としてしまう方も多いのではないかと思うのでここで紹介させて頂きます。
(UI やフィールド名などはバージョン間で結構変わっているのでその点はご容赦ください)

1. 複数のスマートアップグレードデータベースによるホームサーバー毎の振り分け
 スマートアップグレードデータベースの指定はサーバー設定文書の「クライアントのアップグレード」タブにある「Smart Upgrade データベースリンク」フィールド(これはバージョン7以前では基本タブに「Smart Upgrade データベースリンク」フィールドがあります)で行います。
 これは何を意味するのか?と言うとスマートアップグレードデータベースはサーバー毎に異なるものを指定することが出来ます。
 つまり、添付ファイルからダウンロードするのであればサーバー毎に異なるものを用意することにすれば、添付ファイルのダウンロードは各ホームサーバー毎に異なるものを指定することが出来ます。
 ファイルサーバーを指定しているのであればホームサーバー毎に異なるファイルサーバーを指定することも出来るのです。
 よくよく考えてみると当たり前なのですが、サーバー毎の簡易な帯域分散機能と言ってよいのではないかと思います。

2. Smart Upgrade の同時ダウンロード数の制限
(この機能を使用するには、サーバー・クライアント共に6.0.5/6.5.4以上である必要があります)
これはSmartupgrade Governor 等と呼ばれることもありますが、サーバー設定文書で「Smart Upgrade の同時ダウンロード数の制限」を有効にしていれば使用可能です。
 一度にアップグレードされると帯域が占拠されて業務に支障が出ることが懸念される場合、ここで同時ダウンロード数を制御することによって帯域を一定量に押さえることが出来ます。
 帯域分散機能とは少し違うかも知れないですが。。。

3. 複数のスマートアップグレードキット文書
特定のグループのユーザーに対して異なるファイルサーバーを指定する場合、Smart Upgrade キット文書の「使用可能なユーザーとサーバー」フィールドを指定して、そのユーザー用のSmart Upgrade キット文書を作成するのが便利です。
 このフィールドはちょうど読者フィールドのように機能するので、使用可能なユーザーに対して冗長なキット文書が表示されることが無いように注意してください。


スマートアップグレード機能では、それでも時間帯を指定して強制的に行う、と言う類のアップグレードは出来ないのですが、工夫して設定することでそれほど奇怪なトリックを使わなくても帯域の利用率を分散したり、複数のファイルサーバーからバージョンアップを行うことが出来るのは分かっていただけたのではないでしょうか。
 分散させるために大量のデータベースや文書を作るのは管理上大変になってしまうこともあるので、お客様環境の帯域やユーザー数などに合わせてご検討ください。


実は以下の文書に添付されているPDFファイルの8ページくらいで取り上げられている「Distributed Deployment」と言うのがこの記事で取り上げているスマートアップグレードの帯域分散機能についてです。
Lotus Education On Demand: Lotus Domino/Notes 6 SmartUpgrade Tutorial

スマートアップグレードについての詳細は以下の文書も参考にしてみてください。
トラブルシューティングガイド:スマートアップグレードの問題 (文書番号 730994)

8.5 用のJar ファイルを作りました(未既読の色変更)

2009年01月22日 23:54

 先週末に8.5J が出ていますが、Standardクライアントを使っている方はさっそく未既読の色を変えたい、と思った方もいるかもしれません。

8.5 でもやり方自体は同じなのでこの文書を参考にしてみてください。
ファイル名は以下のようになります。
<プログラムディレクトリ>\framework\shared\eclipse\plugins\com.ibm.notes.branding_8.5.0.20081211-1925.jar

8.0.2 Standardクライアントでの未既読の色を変更する

手っ取り早く変えたい方のためにJarファイルをSky Drive上に公開しておくのでダウンロードして御利用下さい。
 あくまで私の検証用のサンプルと言う事で提供しているものですので、その点については御理解下さい。ただし、変更したJarファイルを利用した環境、というのはサポートされる環境ですのでサポートには影響ありません。


8.5 J 用のJar ファイルへのリンク (SkyDrive)

インターネットメールを判別する

2009年01月21日 23:29

 たいしたネタ思いつかなかったのと、元々書こうと思っていた話は案外壮大な話だったので今日はもうちょっと何気ないお話で・・・


 昔インターネットメールを判別するいい方法ないかなあ・・・て思い悩んでいたのですが、不在通知エージェントってインターネットメールで処理を変えたりする設定があるから判別できているはずだよな・・・・て言う事に気がついて調べてみた事があります。


8.x からは不在通知処理をRouterがやるようになったので、この辺の処理は消えているみたいですが、LotusScriptエージェントで書かれていた頃は、SMTPOriginator フィールドがあるかないかでインターネットメールかどうかを判別しています。

これは他のエージェントを書く場面でも使えるかもしれないですね。
たまにテンプレートのアイディアも役に立ったりするので一度じっくり見てみると意外と色々な発見があるのではないかと思います。

NotesPeek: 文書クラスを知る

2009年01月21日 00:10

バックナンバー
1. Notes Peek - 日本語用の設定にしましょう
2. NotesPeek: 削除スタブを理解する
3. NotesPeek: プロフィール文書を見てみる
4. NotesPeek: UNK Table を見る
5. NotesPeek: 文書クラスを知る

昨日のエントリでは、Notesの文書は全部で12種類しかないことを話しました。
ところが実際は設計要素などを見てももっとたくさんの種類があります。

たとえば、「フレームセットって文書クラスは何になるんだろう?」と言うようなことを疑問に思った人もいるかもしれません。このような調査が必要になることは稀だとは思うのですが、これもNotesPeekから知ることが出来ます。

NotesPeekで試しにメールテンプレートのMailFSと言うフレームセットを開いて見ましょう。
左側のペインから「Design Elements」を展開し、該当する設計要素を選択します。
(クリックすると画像は拡大します)

NotesPeekからMailFSを選択

ここで右側のペインに表示されるこの部分の情報に着目してください。
(クリックすると画像は拡大します)

文書クラスの表示

ここを見るとフレームセットの文書クラスが「Form」であることが分かるのではないかと思います。
このようにして特定の設計要素の属する文書クラスを知る必要が出た場合には確認することが出来ます。
この調査が必要になる人は稀だと思いますが・・・

Notes 文書の種類って何種類あると思いますか?

2009年01月20日 00:46

Notes データベースで、設計要素なども文書の一種だ、と言うのを聞いたことがある人は多いのではないかと思います。ACLや複製の設定なども文書です。 でもこれってきっと通常のメールのような文書とはきっと違うものだ、て事は何となく分かります。 だとするとNotesの文書って全部で何種類あるのでしょうか?

1. 設計要素の種類 + 通常の文書
2. 設計要素と通常の文書の2種類だけ!
3. 設計要素とACLも何か違う気がするから3種類!
4. その他


答えは 4. です。文書の種類は全部で12種類です。
Notesの文書は色々な設計要素とかありますが、すべてこの12個の文書クラスのいずれかに属しています。

1. 文書 (document note)
2. このデータベースについて文書のようなもの (notefile info)
3. フォーム文書 (form note)
4. ビュー文書 (view note)
5. アイコン文書 (icon note)
6. design note collection
7. ACL文書 (acl note)
8. ヘルプインデックス文書(Notes product help index note)
9.. ヘルプ文書 (designer's help note)
10. フィルター文書 (filter note エージェントなど。)
11. フィールド文書 (field note)
12. 複製式 (replication formula)

C API Toolkit などを使用している人なら、nsfnotes.h を見るとこの一覧を知ることが出来ます。
このように文書を12種類に分けたのは、この文書クラスと言うのが12種類あることに基づいています。
サポートではNSDなどを見るときにこの文書クラスなどを少し意識したりします。
これも機会があれば紹介できるといいな、と思います。

大きなデータベースはどのくらいのパフォーマンスに影響を与えるか?

2009年01月19日 00:50

 普段業務で使用しているノーツデータベースで、サイズの大きなものはどのくらいのサイズになっているでしょうか?

 よくお問い合わせでも何MB(GB)まで大丈夫なのか、と言うようなご質問も受けるのですが、こればっかりは何とも言えません。非常にハードウェア環境がよいお客様ではデータベースの最大サイズ(64GB)に近いサイズのデータベースを運用されているお客様もおられますし、数百MBのデータベースでも設計やエージェントが複雑だったりするために応答が遅くなってしまうようなものもあります。
 これは複数処理の自動化やリアルタイム性などデータベースの要件や重視するものによってはこのようになってしまうこともあるでしょう。

メールデータベースでもユーザー数を絞ればある程度大きなデータベースを運用する事も出来ますが、1つの問題点としては大きなメールサイズを抱えるメールサーバーはサイジングが難しくなる、と言う事だけは言えると思います。

今日はこのようなデータベースサイズについて可能な限り定量的な見解を出そうとした以下の文書を紹介します。経験のあるノーツ技術者の方は経験的にアドバイスできる事も多いと思いますが、そのような方でも参考になる分析がなされています。

How large databases uniquely affect IBM Lotus Domino server performance

バッファプールなどの増加がそれほど効果が無い事は昨今よく言われるようになっていたのですが、個人的に興味深かったのはトランザクションログに関する考察ですね。

- 通常サイズのデータベースではトランザクションログの効果は小さい
  (これは異なるトランザクションが同時に実行されるような負荷でないとトランザクションログの効果が出ないため、Server.Loadのような負荷テストでは効果が測定しづらかったようです)
- 大きなデータベースやビューを持つ環境では、トランザクションログを持つ方がパフォーマンスが落ちる場合があったが、トランザクションログをRAMDISKなど早いディスクに置くと劇的にパフォーマンスが向上した。(Fig. 5 では一番よいスコアを出しています。)

以下のようにまとめられています。

- 大きなビューの利用はトランザクションログに使用しているデバイスやビューの再構築用のディレクトリ等に関連したリソースを多く必要とするようになる。
- トランザクションログに使用するディスクのスピードは、重いビューやフォルダオペレーションが行われる環境ではより重要になる。
- 重いビューを持つデータベースは、View_Rebuild_dirなどで早いディスクを使用したディレクトリを指定することによってパフォーマンスを向上させることが出来る。

急いで訳したような文章なので、是非原文をじっくり読んで見る事をお勧めします。


8.0.2 CCH3が出ました

2009年01月16日 01:18

 この間隔で出ると思っていなかったのですが、8.0.2 CCH3が出ています。

Lotus Notes Standard Client Cumulative Client Hotfix 3 (CCH3) for 8.0.2

Fix Central へのリンク
(IBM ID が必要です。)

Coreの障害では以下の問題の修正などが含まれました。他にもEmbedded Browser関連の修正が今回は多く入ったように思えます。
Lotus Domino R5.x と Lotus Domino 8.0.2 間の複製処理でエラーが発生しレプリカできない

8.0.2クライアントでR5サーバーと複製していないとヒットしない問題なのでどの程度の需要があるかは分からないのですが。。。


日本語の文書も出たのでお知らせしておきます。 (2009/01/22 Update)
Lotus Notes 8.0.2 クライアントの Cumulative Client Hotfix 3 (CCH3) について

2009年1月の注目サポート技術情報が発行されました

2009年01月14日 23:09

サポート系のアナウンスが続いていますが本日以下のように注目技術情報が発行されました。

Lotus Notes/Domino 注目サポート技術情報 (2009年1月)

今月のハイライトは、8.x で起こる以下の問題かな、と思います。

Lotus Domino サーバーでプログラム文書が即座に反映されない

プログラム文書の変更などを頻繁に行う場合にはただちに反映されなくなるため再起動を行うことを避ける必要がある場合には、Notes.iniの設定を行ってください。

DWA から Lotus iNotes に・・・

2009年01月13日 23:16

 すでに聞いている方も多いと思いますが、8.5 から DWAから Lotus iNotesにまた戻るので以下のような文書が作成されました。

Lotus Domino Web Access is now known as Lotus iNotes

 日本ではDWAという呼称も十分浸透していたところもあるので、あまり意味を感じないのですが、サポートの観点ではキーワードが変わってしまうのが厄介なのですが 8.5 以降は Lotus iNotes と言う製品名になりますのでよろしくお願いいたします。。

IBM Lotus Notes and Domino 8.5 Reviewer’s Guide

2009年01月12日 23:19

知っている人もいると思いますが、8.5 のReviewer's Guideが出ていますね。

Notes from Lotus Support ブログより
JUST PUBLISHED: "IBM Lotus Notes and Domino 8.5 Reviewer’s Guide"

Reviewer's Guide
IBM Lotus Notes and Domino 8.5 Reviewer's Guide


8.5 の新機能などについてはわざわざ英語のこんな資料を見なくてももっと色々なところで紹介していると思うのですが、英語が苦手な方は、ダウンロードして目次だけ見て、大雑把にどんな新機能があるんだろう?と見渡すだけでもいいと思います。
 

私はどうしてもクライアントよりの機能拡張に目が言ってしまうのですが、個人的にガイドを見て興味を持ったのは色々なところでドラッグ & ドロップが拡張した事ではないかと思います。
テキストフィールドとか外部アプリケーションに選択テキストをコピーするのに使えたり、名前フィールドでも使えたり・・・と色々面白そうです。

8.5 で賛否両論分かれそうなのは、DDE (Domino Designer On Eclipse)ではないかと思います。 DesignerがEclipseベースになるため、BasicクライアントだとDesignerが起動できなくなったりするので不満に思われる方も多いと思うのですが、その反面EclipseからIDEとしての機能を多くDomino Designerに持ち込む事が出来ました。
個人的には軽快なBasicも好きなので、Standardがこれからの主流です!となるよりはどちらも使える今の状態がもう少し続いて欲しいとは思うのですが。。

レプリカIDは変更できるか?

2009年01月09日 20:18

 昔、データベースの作成権限が無いサーバーにローカルのDBをコピーして置くときに、文書のコピーにレプリカを使いたいな、て思いました。スクリプトで全文書コピーしてもいいし、こういうのはいいアイディアある人はたくさんいると思うのですが、そのときはとにかくさっさとデータベースにある文書をコピーしたかったので。

 そうなると、サーバーに新規に作ったデータベースと、今手元にあるローカルのデータベースのレプリカIDを一致させられたら楽なんだけどなあ・・・て思っていました。

 まず、サポート的な回答から先にしておくと、Notesクライアントではデータベースのコピー以外でレプリカIDを変更することは出来ません。
これは以下のTechnoteでも書いてある通りです。

Can the replica ID of an existing database be changed

でも、ANTRIDと言うツールを使うと変更することが出来ます。最終的にこのツールを使ってレプリカIDを変更しました。
あくまで、サードパーティのツールなので裏技の域を出ないのですが、それでも十分便利です。

How to change the replica ID of a database (文書番号 1094568)

ANTRIDはこのページからダウンロードできます。 R5ユーザーはこちらからダウンロードしてください。
インストーラー付きなので比較的簡単に導入は行えると思います。

ANTRID Download (RPR Systems Pty Ltd)

あまり日本語サポートのことは考えられていないので、以下のような点は気になりましたが、機能上は特に問題ないのではないかと思います。

・ 日本語のデータベース名は正しく表示できない
・ サーバーからデータベースを開く際のパフォーマンスが悪い

ANTRIDは以下のようなことが出来ます。

・ Destination Database に新規にレプリカIDを発行して変更
・ 特定のデータベースのレプリカIDをコピーして、Destination Database に反映
・ Destination Database に手でレプリカIDを入力して設定

この手のツールは製品の機能として提供していないものを補完するものですので、このツールで出来る!と期待して本格的に使うと思わぬ問題に遭遇するかもしれないのですが、ちょっとした必要に答えるにはとても有用なのではないかと思います。


何かの時のために頭の片隅にでもこんなツールがあったことを思い出してもらえると、うれしいです。



8.5 IF1 がリリースされています

2009年01月08日 23:20

 8.5 IF1 がリリースされました。
修正が確認出来た時期などの関係でこのような提供形態になったようです。

ユーザー名の変更やユーザーの削除に関わる問題ですので、8.5のシステム管理サーバーには当該Fix を適用して頂けますようお願いいたします。

尚、IF1 は Fix Central から入手できますので下記のリンクも御参照下さい。

User rename and user delete fail to update group membership in Domino 8.5 (文書番号 1351645)
Links To Fix Central (8.5 IF1 for all platform)

Lotus Notes/Domino 8.5 リリースのお知らせ

2009年01月07日 23:09

本日、Lotus Domino8.5のリリースが発表されました。
(もう日付変わってしまいそうな時間ですが・・・)

PA Online などから英語版の Lotus Notes/Domino 8.5 がダウンロード可能になります。

日本語版のリリースは以下の発表レターにもある通り、1月16日から入手可能になります。
通常は一ヶ月程度遅れてからリリースされるのですが、今回はかなり早い段階での日本語版提供になりました。

発表レター
IBM Lotus Notes/Domino 8.5 および IBM Lotus Enterprise Integrator 8.5 の発表

ちなみにダウンロードをするときにはパーツ番号での検索が便利です。
パーツ番号についての詳細は発表レターも御参照下さい。
IBM Lotus Notes/Domino V8.5 Media Pack English: AH0ZDEN

NotesPeek: UNK Table を見る

2009年01月07日 00:24

バックナンバー
1. Notes Peek - 日本語用の設定にしましょう
2. NotesPeek: 削除スタブを理解する
3. NotesPeek: プロフィール文書を見てみる
4. NotesPeek: UNK Table を見る
5. NotesPeek: 文書クラスを知る

http://hnagasim.blog8.fc2.com/blog-entry-59.html

UNK Table って言われてピンと来る方はどのくらいおられるでしょうか?
すぐに説明できる方は相当Notes 技術者としてもベテランの方なのではないかと思います。
サポートでも何か資料を見ながら話さないと心配になるくらいのものです。

UNK Table はUnique Key Table の事で一言で言うとデータベースで使用されているアイテム名とアイテムの型の情報が格納されているものです。
サポートシーンやユーザー視点では「database has too many unique field names.」と言うエラーメッセージが出てきた場合以外にはほぼ意識する必要が無いものではないかと思います。あとは始めにテキストフィールドで定義していたフィールドを日付型に変更し、全文索引などで日付条件を使用した検索などを行う場合などもUNK Tableの状態によって検索が失敗した経験があるかたもいるのではないかと思います。

英文になってしまうのですが、この文書の説明などが詳しいのではないかと思います。
Definition of UNK and 'Database has too many unique field names' message

アイテムのデータ型の変更にまつわる問題はこのTNなどで記載されています。
Full Text Indexer Does Not Recognize Field Data Type Change


で、このエラーが出た場合にはUNK Table を小さくする必要があるのですがたとえば全文索引を削除してからコピー圧縮を行う必要があったりなかなか何が起こっているか見えにくいものです。
こうなると中身が確認したくなってきます。

以下のようなTechnoteを見ると、Itemdef.exe と言うのも紹介されていますね。

Tools to show the UNK table size for a Notes database

でも、私はUNK Table の情報はNotesPeek で確認することをお勧めしています。
それしか出来ない単機能のCUI ツールをUNK Table なんて言うニッチなテーブルのためにダウンロードしておくことはないのではないかと思うので。これはあまり紹介されているページも無かったのでこのブログで紹介するのにちょうどいいかな、て思います。

NotesPeek でUNK Table を確認するには、以下のように[Database Information]-[Item Def Table] に進みます。(クリックすると拡大します。)

Item Def Table の選択

右側のペインに以下のような情報が表示されます。。(クリックすると拡大します。)


NotesPeek で表示される UNK Table の情報

登録されているItem 名の数・アイテム名・アイテムの番号・アイテムの型等が表示されるため、問題判別には十分な情報が確認できます。

ぜひ活用してみてください。

NotesPeek: プロフィール文書を見てみる

2009年01月06日 00:51

バックナンバー
1. Notes Peek - 日本語用の設定にしましょう
2. NotesPeek: 削除スタブを理解する
3. NotesPeek: プロフィール文書を見てみる
4. NotesPeek: UNK Table を見る
5. NotesPeek: 文書クラスを知る


さて、NotesPeekのもうひとつの特徴と言えば、プロフィール文書の値が見えること、だと思います。
プロフィール文書はメールデータベースなどで使われているCalendarProfile を始め、様々なデータベースで使用されているのではないかと思います。

NotesPeek で見るときは、データベースを展開して、「Profiles」 と言うセクションを展開してみてください。ここからプロフィール文書を確認する事が出来ます。

ほとんどの場合、プロフィール文書にどのようなものがあるかはアプリケーション開発者であれば分かっているのが前提なので、ここから該当のプロフィール文書のフィールド値などを確認してもらえれば調査する事が出来ます。

トップには以下のように表示されます。

profile-name "$policyprofile"
user-name "cn=taro yamada/ou=xxxx/o=xxx"
note-id 0x9d2


ここで、Profile文書は「名前」と「ユーザー名」を持つ文書だ、と言うことが分かるのではないでしょうか?実際に呼び出すときもユーザー名を指定することも出来ますよね。
ユーザー名は省略可能なのですが、プロフィール文書を一意に決めるのに役に立っています。

ちなみにこれらは$NAME フィールドで以下のようなアンダースコア区切りの値として格納されます。

$profile_014$policyprofile_cn=taro yamada/ou=xxxx/o=xxx"

このようなフォーマットになっていることが分かるはずです。
$profile_<数字><プロフィール文書名>_<プロフィール文書の所有者名>

ユーザー名を指定しないタイプのプロフィール文書は以下のような形式になります。

"$profile_016directoryprofile_"


一般的にはプロフィール文書関連のトラブルシューティングで重要な点は以下の点です。

1. 期待した通りの文書が取得できているか
2. プロフィール文書には適切な値を格納されているか

ここでユーザー名依存のプロフィール文書を使用している場合に、1.が疑われると、NotesPeek で上記のようなユーザー名の確認などを行うことが必要になります。
もちろん単純にフィールド名などの確認を行うのにも重宝します。

サポートではプロフィールの文書は基本的にはアプリケーション開発者が問題切り分けを行うことをお願いしているのですが、様々な状況によってこのような調査が発生することがあります。
典型的な例を挙げればメールルールの問題などは正にプロフィール文書(CalendarProfile)のフィールド値がキーになるので。このような場合には、NotesPeekを案内することもありますが、値を確認するボタンスクリプトを使って、それだけで簡易な問題切り分けとすることもあります。
これはNotesPeekの使い方を詳細に案内したり、新たにツールを導入したりすることに対する負担が大きいと感じるお客様もいるためなのですが、プロフィール文書の可視性はもう少し高くなってもいいのかな、て思います。
 NotesPeekのように設計要素の1つとして扱うことによって、デザイナーで編集・確認できてもいい気がするので・・・

この辺は難しいところですね・・・・









索引と一口に言っても・・・

2009年01月05日 00:27

 全文索引の問題などのお問い合わせでお客様と話していると、「全文索引」と「ビュー索引」がごちゃごちゃになって話しているのかな?て思うことがあります。両者は無関係じゃないので中々判断が難しいのですが・・・

「全文検索の結果がおかしいので、Updall -rを実行してみました」と言われても何も間違いはありません。と言うかサポートからもよくこの手のお願いをしているのではないかと思います。

・ Updall は全文索引も更新します。
・ ビューの状態がおかしいとビュー検索からの全文検索は影響を受けてしまいます
etc・・・

ただ、よくよく話しているとこの後Ctrl+Shift+F9を実行してみてもまだ・・・となるといよいよビュー索引と全文索引と混同しているのではないかな・・・?と言う気がしてくるので、少し確認をしてみたりします。

これは自分自身サポートを始めた当初、違いが分かっていなくてヘルプなどを読み進めていくうちに訳が分からなくなってしまったこともありました。

このようなことが起こる原因は、全文索引が*.ft と言うフォルダが形成されて比較的可視性が高いのに対し、ノーツのビュー索引と言うのが非常に見えにくいものである事がひとつの要因なのではないかと思います。

全文索引は*.ftがなければ何となく全文索引が出来ていないことはわかるし、ファイルサイズが増えていなければ索引が全く変化が無いことも予想が付くのですが、ビュー索引はNotesPeekなどを使っても見えないし、なかなか厄介です。

あえて言うならビューの索引サイズだけが、Show Database xxx.nsf コマンドや、log.nsfから確認できるデータベース情報が分かるくらいです。索引なのでNSFをバイナリエディタで直接見ても文書へのリンク状況が分かったりすることはありません。
 この点がビュー索引の非常に厄介なところなのではないかと思います。 UI上正しく表示されていれば、問題ない、と考えるしかないのではないかと思います。

ただ、ビュー索引も階層構造とかカレンダービュー、ソートなど複雑な要素は多くあるのでもう少しこの辺の可視性が高まっていくと、トラブルシューティングももう少しやりやすくなるのではないかな、と思っています。なかなか難しいとは思うのですが・・・・



年末・年始は更新をお休みします

2009年01月01日 02:56

あけましておめでとうございます。

 今年の年初の話題と言うと、Lotus Notes/Domino では8.5のリリースが1月6日に控えていますね。サポートとしてもどんな問い合わせが入ってくるのか今から心配していますが、今年もどうぞよろしくお願いいたします。

 まだブログの方は初めて一ヶ月ちょっとなので、更新間隔が空いてしまうと読者が離れてしまわないか心配なのですが、年末年始はお休みします。

次回更新日は1月5日になると思いますので、そのときにまたよろしくお願いいたします。


最新記事