スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

1月4日までお休みさせて頂きます

2009年12月29日 00:25

 わざわざ記事にするほどのことじゃないよなー、とは思うのですが毎日書いているとどうしてもこう言う事を書かないと落ち着いて休めないので・・・

読者の皆様には今年も多くの方がこのブログにご訪問いただき本当にありがとうございました。
もうちょっと多くの人に読んでもらえるにはどうしたらいいのか来年はもう少し考えてみようと思っています。

次回は1月4日に記事を公開させて頂きたいと思っておりますが、本当に1年間お世話になりました。
来年も引き続きよろしくお願い致します。
スポンサーサイト

日本語版 Fix List のサイトが更新されました。

2009年12月28日 00:21

日本語版 Fix List のサイトが更新されています。
今まで公開されていなかった 8.5.1 / 8.5 FP1 / 8.0.2 FP3 などの情報も掲載されておりますのでご確認下さい

日本語版のFix Listの情報は加工などが容易に行えるようにCSV形式で提供させて頂いています。
Notesからのアクセスは英語のFix List DBを使うと出来ます。

是非活用してください。

障害情報

2009年12月25日 02:41

最近IBM My Notification で届くメールを見ているとAPARに関連した文書がずいぶん増えてきました。

こんな感じです。
LO45924: AFTER UPGRADE TO 8.5.1 ON WINDOWS 2008, DOCUMENTS RESIDING IN TRASH OR OTHER FOLDERS RETURN TO INBOX

普通のIBM IDじゃ入れなくてPAのIDなどが必要なようです。(IBM社員はイントラのIDで入れるようになっているみたいです)

まだ修正状況などはこれだけではまだ分かりづらいのですが、APAR情報が今までFix Listに掲載されているものだけだったと思うのですがそれ以外のものも出始めてきたのはいいニュースなのではないかと思います。

もっと有益な情報を提供できるように頑張りますのでもう少し長い目で見守っていただければと思います。

新規メール通知

2009年12月24日 00:47

今日は新規メール通知の話をしてみようかな、と思います。

Notesクライアントではプリファレンスで新規メール通知を確認する頻度を設定する事が出来るような仕組みがあります。
実はこれとは別でサーバー側からクライアントに通知する仕組みもあります。この通知によって場合によっては新規メール通知より短い間隔で新規メールが確認できたりします。

この動作を無効にするパラメータがあるのですが、そこでの説明が一番分かりやすいと思うので引用しておきます。

IOCP_Disable_Async_Notification
Lotus Domino メールサーバーは、デフォルトで接続ユーザーごとに新規メールを 1 分に 1 回チェックし、新規メールがあるユーザーに通知します。ビューの更新などのその他のステータスの通知にも、同じ方式を使用しています。


ネットワーク上気をつけないといけないのはこのときにパケットの方向がサーバー → クライアント になることです。ネットワーク的にサーバーからクライアントに通知する事を想定していない場合にこの通知が意図せずブロックされてしまう事があったり、このようなパケットがハンドル出来ない事もあるので、何かドミノ→ノーツクライアントと言う方向のパケットで問題があるときにはこのような動作も頭に入れておくといいのかもしれません。

何だかあんまり役に立たない記事かもしれませんが、読者の皆様も新規メールにあまり追われずに済むよいクリスマスをお祈りしております。。。

Notes Client Java UI API

2009年12月22日 00:10

今日はこの記事から。

Notes Client Java UI API 概要


本当はもうちょっと手を動かしてから記事にしたかったのですが、dWにてNotesのJava UI APIの解説記事が発行されています。8.5.1の新機能ですね。

Eclipseに統合したメリットと言うのは、色々な機能が増えると言うよりは、オープンなアクセスが出来るようになってくることにあるのではないかと思います。今までのクライアントでカスタマイズ不能だったNotesのフロントエンドまでアクセスできるようなアプリケーション統合を行えるようになってきたらもっと色々な可能性が出てくるのではないかと思います。 OpenNTFでもどんどんサンプルが出てくるんじゃないかと思うのですが、乗り遅れないように自分ももう少し勉強してみます



Notes.ini 設定

2009年12月21日 00:01

 最近サポート技術情報のページにNotes.ini の情報が入ってきているのに気が付いているでしょうか。

こんな感じです。

IM_No_Setup
DIIOPLogLevel
IDVault_Max_Auth_Failures


ND Wikiなどで公開されているNotes.ini の情報をサポート技術情報にも取り入れて、今まで日本語のまとまった情報がなかったnotes.iniについてまとまった情報を公開していきたいと考えています。
少し楽観的な予測かもしれませんが、来年のGWくらいには100個くらい公開されていないかな、と思っています。

サポート技術情報もまだまだ情報を増やして利用価値を高めて行きたいと思っていますので今後ともよろしくお願いします!

Open As Workspace

2009年12月18日 02:00

今日のブログのネタはこのブログの記事からです。

Our decision regarding "Open as Workspace" (Notes Design Blog)

bookmark バーの「Open As Workspace」を8.5.2で復活させるか議論があったようですが、見送りになってしまったようです。ここでFeedbackを募っていた話です。

私はブックマークユーザーですが、ブックマークになれるとこのようなアクセス方法はわざわざ使わないし、ワークスペースユーザーはむしろワークスペースを使うので、中間のような機能はあまり利用されていなかったのかもしれません。そう考えると、このように「似て非なるもの」がUIに存在しているのはよくない、と言う判断がされたのではないかと思います。

これについては賛否両論あると思うのですが、個人的には最後のコメント「And I still hope that we can deliver to you a really well-designed "smarter" Workspace some time in the future. 」と言う部分に期待を寄せたいな、と思っています。planではなく、hopeと言う単語を使っている以上今の時点では予定が無い、とも読めるのですが、ブックマークの機能が勝っている点が多くあっても未だに支持されているワークスペースUI の機能向上がなされてもいいのではないかと思うので。。。

ブックマークバーではStandard版以降かなりスムーズになったCtrl+F とかでDBを探したりする方法や複数の端末でワークスペースが同期できるようにせめて、インポート/エクスポートをサポートしたり、タブを多段構造にしたり、階層構造をサポートしたり、ブックマークのようにメールビューとカレンダービューを分けて登録できたらいいな、と思ったり、ワークスペースにはまだExcitingな機能拡張が出来る余地がたくさん残っている気がします。
 
楽しみにしています。

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

2009年12月17日 03:22

12月分の注目サポート技術情報が公開されました。
FAQメールも発信されているのではないかと思うので一度ごらんになってみてください。

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


気になる記事はまずはWindows 2008関連では以下の問題です。
どちらかと言うと、Windows 2008側の制限事項になるのですが、サービスで起動しようと思っている方は注意してください
Windows Server 2008 プラットフォームで Lotus Domino サーバーをサービス起動すると Lotus Domino コンソールが表示されない

もう一つ8.5.1ではXPagesになるのですが、以下の問題についての情報も公開されました。

XPages: ディスカッションデータベースのビューをナビゲートすると「予期しない実行時エラーが発生しました」が表示される

問題そのものよりも背景にある仕様変更や回避策などについてよく読んでおいたほうがよいのではないかと思います。


他にも色々と興味深い記事が公開されていますのでじっくり読んでみてください



LS2CAPI: 構造体を定義する

2009年12月16日 00:04

- バックナンバー -
1. OSLoadProgramを呼んでみるサンプル
2. OSLoadProgramのサンプルを理解する
3. C API はnnotes.dllから呼ばれている
4. 参照渡しか値渡しか
5. 型を変換する
6. 構造体を定義する
7. OSLoadString を使ってみよう


C APIやC言語の関数をLotusScriptで扱うに当たって、構造体をどのように扱うのか不思議に思う方は多いのではないでしょうか。今日はその点について取り上げてみようと思います。

例として、NotesのTIMEDATE型を例にとって見ましょう。
NotesのTIMEDATE型はDBIDやOIDの一部になっていたり、Notesの時間の扱いを理解する上でも非常に重要な型の一つですが、LotusScriptNotesTIMEDATEクラスでもIDのまま見ることはできないのでなかなか分かりにくい事が多いのですが、APIで時間を扱うときはほとんどこの型で処理されます。このIDについてしゃべると長いので別の機会にするとして、どのようなデータ型なのでしょうか?始めに、C API リファレンスで定義を見てみましょう。
TIMEDATEという項目を見ると以下のように定義されているのが分かります。

Definition :
typedef struct tagTIMEDATE {
DWORD Innards[2];
} TIMEDATE;


つまり、TIMEDATE型は、DWORD型の配列である事が分かります。DWORD 型は前回の記事を見るとLong型であることが分かるので、LotusScriptではLong型の配列とすればよさそうです。

LotusScriptでは構造体はユーザー定義型としてマッピングするのですが、ユーザー定義型を宣言するときには、TYPEステートメントを使用します。この辺はVBなどを知っている方の方が聞きなれているかもしれません。

つまり、TIMEDATE型はLotusScript以下のように定義できる事が分かります。
TIMEDATE
Innards(0 To 1) As Long
End Type



ただ、実際は構造体の変換は構造体の中に構造体があったり、関数ポインターを扱っていたりもっともっと複雑なので、何でもLotusScriptに変換できるわけではないので、変換できないこともあると思いますし、機械的に出来るわけではないと思います。

せっかくなので、今日の例を生かして、NotesのC APIで現在の時間を返すOSCurrentTIMEDATEを呼び出してみましょう。時刻はNotesのTIMEDATE型で帰ってくるので見た目は時間である事が分からないので実用性はあまりないと思いますが、どんなAPIなのかは概要がつかめるのではないかと思います。出てくる数字もよくDBIDやUNIDで見かけるような数字の並びになっていることに気が付くのではないかと思います。
サンプルで気をつけて欲しいのは、UIで表示されている順番と、配列の順番が逆になっている事です。

サンプルコード(ボタンスクリプト)
Type TIMEDATE
Innards(0 To 1) As Long
End Type

Declare Sub OSCurrentTIMEDATE Lib "nnotes.dll" (retTime As TIMEDATE)

Sub Click(Source As Button)
Dim curTime As TIMEDATE
Call OSCurrentTIMEDATE(curTime)

' 時刻IDの表示
Msgbox Hex(curTime.Innards(1)) & ":" & Hex(curTime.Innards(0))
End Sub

Lotus Notes/Domino Strategy Update

2009年12月15日 00:05

Ed Brill が Lotus Notes/Domino のStrategy についてのプレゼンテーションを公開していますね。
 埋め込みで紹介できるみたいなのでこのブログにも付けておきます。

僕は、製品の今後とかStrategyなどまで見据えて、製品の事を話すのはあまり得意ではないので無闇に付け足したり補足したりすることはしないようにしますが、最近の製品のStrategyの話を聞くと以下のようなキーワードをよく聞きます。

・ Colaboration Console
 メールやワークフローだけでなく、ワークステーションで行われる業務をNotesがコンソールとして統合する。
これはコンポジットアプリケーションなどで他のアプリケーションと連携したり今まで難しいと言われたNotesのUIに関するAPIを公開したりして、Eclipse ベースにしたメリットを最大化する、と言う事が行われているようです。


・ Developer Community
Open NTFへの投資、デザイナーの無料化、ライセンス体系の変更など多くの取り組みが行われていますが、Notesを生かすのは製品の機能でなく、その上で動くアプリケーションである、と言う理解の下で更に開発者が積極的に新しい技術を試すことができるようにインフラを整えていく、と言う話ではないかと思います。
 これは私自身非常に興味があるので、色々立ち上がってきたらブログのネタにでも出来たらいいな、と思います。

是非興味がある方はスライドの中身も見てみてください。

developerWorks: Lotus Domino サーバーの動作ログについて

2009年12月14日 00:09

developerWorksにこんな記事が公開されていました。

「Lotus Domino サーバーの動作ログについて」

一言で言うと、Domino でどんなログが取れるか?と言う話のようですが、一読すると、WebサーバーログとDDMと通常のログとかまったく違うログが並列に並べられていて、色々なログを見る立場の人間としては、とても違和感を感じたのですが、最後のページまで見て何となく納得できました。


• Domino には様々なログを取得する機能があります。
• すべてのログを取得する必要はありません。必要に応じて必要なログを取得して下さい。
• 文書単位/ユーザー単位のアクセスログ取得には、パートナー様のソリューションをお勧めしています。


このような話は生粋のNotes/Domino 技術者の方が勉強のために見る、と言うよりは、現在使用している色々な製品をシステム全体からレビューするときなどに「Dominoではどのようなものがトラックできるのか」と言う概要説明が出来て有用なのかもしれません。

フォームのヘッダー

2009年12月11日 00:05

 昔メールのフォームで上のほうがスクロール固定したまま本文だけスクロールするのはどうしてだろう?と思って設計要素を見ていたことがあったのですが、なかなか理由が分かりませんでした。

メールフォームだと、以下の赤枠の部分を境にスクロールされますよね。

 フォームのヘッダー部分のスクロール固定

フォームを設計で見ると改ページのような線が見えるだけでイマイチ消し方も入れ方も分かりませんでした。
皆さんは御存知ですか?

正解はフォームのプロパティで設定します。ブランクフォームで試してみてください。
フォームのプロパティ


なので、何箇所も入れることは出来ませんが、いざ使いたいと思って探すと結構はまってしまうので、何となく知っておく方が便利だと思います。



はい。今日忘れていてはまってしまいましたので自戒を込めて。。。

Lotus iNotes のInternet Explorer 8対応について

2009年12月10日 00:23

IE8 等も出てから時間が経ちましたが、現在の普及状況はどうなのでしょうか。
IE7 で導入されたタブインターフェースの強化だけでなく、JS Engineの高速化など、最近のリッチなWebアプリケーションを使用する上では重要な機能強化が行われていると思うのですが、実際の評価はどうなのでしょうか。

今日は、Lotus iNotes/DWAの IE8 対応についてです。
Lotus iNotes 8.5.1では System Requirement に IE8 対応が追加されているのですが下位のバージョンについても記載されていますが、その他のバージョンについても以下のように対応が表明されている事を御存知でしょうか。

Internet Explorer 8 supportability for Domino Web Access and iNotes


8.0.2, 7.0.4, 8.5 での対応が行われておりますので、是非該当バージョンの iNotes/DWAをご利用のお客様でIE8 を検討されている方は検討して下さい。

LS2CAPI: 型を変換する

2009年12月09日 00:04

- バックナンバー -
1. OSLoadProgramを呼んでみるサンプル
2. OSLoadProgramのサンプルを理解する
3. C API はnnotes.dllから呼ばれている
4. 参照渡しか値渡しか
5. 型を変換する
6. 構造体を定義する
7. OSLoadString を使ってみよう

 C API 関数を呼び出す上で次に必要になるのはC言語での型からLotusScriptの型に変換する方法です。
先に結論から言ってしまうと、実際的には以下のようなサイトから変換表を借りるのが一番省エネな方法なのではないかと思います。

Translating API Data Types to LotusScript (nsftools)

ただ、一度どのようにこれらの変換を考えるかはゆっくり精査してみるといいと思います。
たとえば、ここの表を見ると、Windows などでよく使われるDWORD型はLotusScriptではLong型に対応付けられています。

DWORD というのは一般的には unsigned long なので、 0 ? 4294967295 までの数を表します。
LotusScriptでのLongデータ型は、 -2,147,483,648 以上 2,147,483,647 以下の整数なので厳密にはマッチしません。
ただ、デザイナーヘルプをよく見てみると、「引数を C 関数へ引き渡す」と言う項にLongデータ型はC関数に渡すときに「4 バイトの Long 型の値が呼び出しスタックに push されます」とあるので、LotusScriptのLong型はマイナス値を渡したときの振る舞いはよく分からないですが、正の値を渡している場合には4バイトの数として扱ってくれるようです。一般的にはNotesに限らずAPI呼び出しなどを行う場合にこのようなことをするとクラッシュしてしまいます。
 この辺については色々理屈にこだわるより慣習に従った方がいいのではないかと思います。。

あとはたとえばC APIでは「STATUS型」などを関数の戻り値にしているのをよく見かけます。
こういうのを見かけたら、API リファレンスを探してみましょう。ちゃんと「STATUS」と言う項目に以下のような説明があるのが分かります。

Definition :
typedef WORD STATUS;

つまり、これは WORD型 = unsigned short と同じ、Integer型になっているのが分かると思います。
と言うわけで型変換は毎回一からやっているととても大変なのでこのようなものは書き溜めておくと便利なのではないかと思います。

また、LotusScriptの型はC 言語ほど豊富ではないのでLotusScriptからC API関数を呼び出すことはある程度技術的にも限界があることなんだ、と言う事は念頭に入れた上で挑戦してみたほうがよいと思います。
ブロガーの方が試行錯誤した上で色々な型変換の表を色々なところで公開してもらえると楽しそうですよね。

DJX ではどのようなアイテムが使用されているか

2009年12月08日 00:04

今日はDJXに関するお話です。
先週にはこんな文書が公開されています。

DJX 関連フィールドの詳細な動作について (#733640)

ディレクトリ管理などを他のディレクトリと連携などを行う際にDJXなどがあると技術的に難しくなることが多かったのですが、どのようなフィールドを使い、どのような値を保持しておくべきなのかよく分からない、と言う事が大きな阻害要因として昔からありました。

元々はDJXでは別名サポートと部署別宛先の機能を提供する目的で作られましたが、コアの別名対応なども進み、事実上現在では、DJXは部署別宛先の機能とそれに関連した管理機能に絞られてきています。

今回このようなDJXでのフィールドの使用方法を公開したのは、Notesのユーザー登録をサポートする別のディレクトリ統合ツールがDJXをサポートすることを技術的に可能にするために行いました。これによって直ちに対応が行われるわけではありませんが、DJX管理ツールや管理データベースを使用しなくても別のレポジトリでで部署情報などを管理するようにしたとしても、ドミノディレクトリ上のフィールドが正しく使われていれば部署別宛先の機能は使用することが出来ます。


なので、この情報については少し長い目で見て頂けたら、と思うのですがDJXなども含めたディレクトリ連携について何か新しい動きが起きたらいいな、と思います。

NSD : 開いている文書

2009年12月07日 01:52

 今日は実際にNSDを実行して結果が自明なケースを確認してみて理解を深めてみようと思います。

NSDで表示される「開いている文書」についてもう少しゆっくり考えて見ましょう。


始めにLotus Notesクライアントを開き、個人アドレス帳を開き、任意の文書をクライアント上で開いてみてください。
私のテスト環境では、NoteIDが0xF9A(=3994)の文書を探してみましょう。

VThreadを見てみます。NoteIDが0xF9Aの文書探すには、「NoteID=3394」と言うキーワードで探してみます。
多くの場合このキーワードではヒットしない事に気が付くと思います。
 確かにこの文書は開いていたはずなのに、なぜ見つからないのでしょうか。

NOTEID 3394の文書はOpen Documents のセクションで確認する事が出来ます。


<@@ ------ Notes Data -> NSF Data -> Open Documents (BLK_OPENED_NOTE) (numDocs=7, numPools=8) :: (Shared) (Time 01:59:41) ------ @@>

DBH NOTEID HANDLE CLASS FLAGS IsProf IsAgent #Pools #Items Size Database
19 3994 0x29c8 0x0001 0x0100 No No 2 185 81960 C:\Lotus\Notes\Data\names.nsf

Open By: CN=Hirotaka Nagashima/OU=Japan/O=IBM
Flags2 = 0x0400
Flags3 = 0x0000
OrigHDB = 19
First Item = [ 10696: 884]
Last Item = [ 10707: 5588]
Non-pool size : 2176
Member Pool handle=0x29c8, size=16556 (BLK_OPENED_NOTE)
Member Pool handle=0x29d3, size=65404 (BLK_OPENED_NOTE)



つまり、VThread セクションで表示されるのは正に今処理中の文書なので、UIで表示されているだけでは処理中の文書とは言えないからです。
このような文書はOpen Documents のセクションで確認する事が出来ます。逆にここでは使用されたフォームなども表示されていて、文書の表示にフォームが開かれている事が出来ます。
開いている文書、と一言で言ってしまうと誤解を読んでしまう事もあるのでこの点については手元で動きをよく見ておくと解析にも役に立つのではないかと思います




最新記事


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。