当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2009年3月31日火曜日

グループカレンダーって変わったのかな?

近しい人から、『8.5でグループカレンダーってどう変わったんでしょうか?』という事を聞かれました。
そこで、あまり正しく使っている人はいないのではないか?という事もあると思うので、設定方法から検証してみよう。

ただし、筆者も実はよく分かっていないので、無駄な作業をしているかもしれないのでそこは許して欲しい。

1.Lotus Dominoの設定を変更する
 サーバ設定文書を作成(すでに存在している場合は修正)する
「抽出するカレンダーの詳細」という所にチェックをつけるのが目的。これをしないと、グループカレンダーの機能が一部利用できなくなる。





















2.各個人のメールプリファレンスを修正する
 カレンダーエントリの詳細を見せたいユーザがそれぞれメールプリファレンスを修正する
 面倒だと言う場合には、管理者がサーバのポリシー文書を利用して設定することも出来る。
 その場合は、「メール設定」のポリシー文書を作成すればよい。



















3.busytime.nsfを更新する
 上記の2つの設定をしても、グループカレンダーは思ったように動いてくれない。どうも、空き時間情報DB(busytime.nsf)の中身が更新されないようなのだ。
 過去のバージョン(R5以前かな?)では、サーバコンソールからtell sched validateと発行すれば良かったのだが、7.x以降はどうもこれでは更新されないらしい。
http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/731350を参考にしてほしい。


4.グループカレンダーを作成する
 さて、いよいよグループカレンダーを作成する。
 自分のカレンダーを開いたら、左下の「グループカレンダー」をクリックする。そうすると、「グループカレンダーの作成...」というリンクが表示されるので、クリックする。
 すると、グループカレンダーのビューになるので、新規にグループカレンダー文書を作成する
 
これで、グループカレンダーが表示される。

4.カレンダーエントリの詳細を見てみる
エントリの詳細を見たい場合は、「予約済み」と表示されている箇所をマウスで右クリックする。すると、左図のようなポップアップメニューが表示されるので、「エントリの詳細」をクリックする。




















これが、選択したエントリの詳細である。




・・・ということで、8.5でもグループカレンダーは何も変わっていなかった。
ただし、8.5ではご存じのように自分のカレンダーの中に他人のカレンダーを表示するという事が出来るようになっている。
こちらの方を使ってくださいという事なのであろう。


なぁんか、しっくりこない検証であったが、分かってもらえただろうか?

2009年3月30日月曜日

ASCIIコード一覧の表示

しばらく書けていなかったのだが、まだまだ忙しいので、古いネタを掲載します。

アスキーコードの一覧を表示するサンプルです。
単純にChr$(1)~Chr$(255)を表示しているだけのものです。

下図はサンプルを実行した結果です。



Windows環境で実行しているので、サポートされていない文字などは表示されていません。
また、Chr$(9)、Chr$(10)、Chr$(13)は制御文字と言われるもので、ちょっと変わった風に表示されています。
ご存じかと思いますが念のため・・・
Chr$(9)はタブを表す文字
Chr$(10)は改行を表す文字
Chr$(13)は復帰(行の先頭に戻る)を表す文字
ですね。

この3つは、文字列の表示の整形によく使うのではないでしょうか?
知らない人は覚えておくと良いですね(と言いつつ、筆者も詳しくは分かってないかも)。

Sub Click(Source As Button)
    Dim i As Integer
    Dim retData As String 'Chr$(i)の結果
    
    retData = ""
    For i = 1 To 255
        retData = retData & Cstr(i) & ": " & Chr$(i) & Chr$(9)
    Next
    Msgbox retData, 0, "ASCIIコード一覧表"
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2009年3月24日火曜日

ついに一周年!

このブログを始めたのが、2008年3月25日。今日で丸1年です。
ここ最近は忙しくて、記事が書けていませんが、飽きやすい性格の私がここまで続いたのはすごいことです(いや、ホントですよ)。

これは、Notes/Dominoという製品がそれだけ魅力的であるという事だと思います。
もちろん、このブログを読んでいただいている方がいるという事実もあります。

本当にNotes/Dominoに携われて良かったです。


今後も続けて書き続けていきますので、ご愛顧のほどよろしくお願いします。

2009年3月13日金曜日

日付の調整を行う

以前に、日付の乱数を発生させるというプログラムを作ったことがあった。

すごく簡単なものだったので、載せておく。
乱数を発生させて、その数字の日数分、日付を前後させるというもの。


REM {4から13の間で乱数を発生させる};
RANSUU := (13 - 4) * @Random + 4;

REM {基準の日付を決める};
TMPSTARTDATE := @Prompt([OkCancelEdit];"基準となる日付";"基準となる日付を入力してください。";@Text(@Today));

REM {2000/11/30から日付を乱数の分進める};
NEWDAY := @Adjust(@TextToTime(TMPSTARTDATE);0;0;RANSUU;0;0;0);


REM {結果を表示};
@Prompt([Ok];"日付調整結果";@Text(NEWDAY))


Notes/Dominoに関するお問い合わせはこちらまで!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

Lotus Domino 8.5の新しいODSを利用するには・・・

さて、そろそろ皆さんも8.5をさわり始めているのではないでしょうか?
筆者もちょこちょこと触っているのですが、なかなか・・・

今回は、8.5のODSバージョンについて書きます。
ノーツDBにはODSバージョンというものがあるのはご存じのとおり。

6.5/7.0では43だったのが、8.0では48になりました。
では8.5ではどうなったのでしょうか?
Lotus Notes/Domino 8.5ではODSバージョンは51になりました。

しかし!
このODSバージョンでノーツDBを作るにはちょっとした設定が必要になります。
notes.iniに次の1行を追加するのです。
CREATE_R85_DATABASES=1

これは8.0の時にも同じようなものがありました。
Create_R8_Databases=1
ですね。この行を追加すると、ODSが48のノーツDBを作れるのです。
※2009/08/03修正 notes.iniのパラメータに誤りがありました。お詫びして訂正します。
上記の赤文字(s)を追加してください。


・・・では、この2つの行が同時に存在している場合、どうなるのでしょう?
CREATE_R85_DATABASES=1が有効になり、ODSバージョンは51になります。













この設定はサーバ、クライアントともにnotes.iniに記述することで有効になります。
ちなみに、この設定を施した環境で下位のODSバージョンのDBを作成するには、
新規のDB作成時に、以下の様にします。
ODS48:ファイル名の拡張子をns8にする
ODS43:ファイル名の拡張子をns7もしくはns6にする
ODS41:ファイル名の拡張子をns5にする
ODS20:ファイル名の拡張子をns4にする
ODS17:ファイル名の拡張子をns3にする

※ODS17は、ローカルに作成する場合、暗号化は出来ません。

2009年3月10日火曜日

今更ですが・・・

今更ですが、Lotus Spring Forum 2009に行ってきたという事をちょこっと書きます。

Lotus Notes/Dominoは全世界で1.4億シートだそうで。そんなに使ってるのかぁ?という疑問が沸きますね。

ちなみに、筆者が聞いてきたセッションは
・基調講演
・Lotus Notes/Domino 8.5最新情報
・Lotus Notesアプリの最大活用
・ノーツコンソーシアム研究会発表会
・なぜLotus Notes/Dominoを選ぶのか
です。
筆者としては「Lotus Notes/Domino 8.5最新情報」に期待をしていましたが、
その割には浅い話ばっかりで、ちょっと残念。細かい話は個別に相談してね。という事なんだろうけど、みんなはそういうところが聞きたいんじゃないかなぁって。

評価ガイドもアップされたので、それを見ながら、実験して記事に出来れば良いと思っています。
ToDoばかり増えてますが、気長にお待ちください。
評価ガイドはこちらからダウンロードできるそうです↓
http://ibm.com/jp/bk/nd85guide


そうそう。そういえば、今回はセッションの資料が事前に冊子となって配られていました。
全部のセッションでなかったのが残念ですが、これって何気にすごいことですよね。


下の写真は、お土産の世界時計付き電卓です。
電池のシールを剥がしたらけたたましい音が鳴って吃驚しました。
しかも、時刻セットしたのに、翌日にはリセットされるという不運に見舞われました。
その後、再度セットしたら正常に動作する様になりました。何だったんだろう・・・
ちょっと小さいんだよね。筆者は手が大きいので、使いづらいな。

2009年3月9日月曜日

ブラウザで現在の文書を取得する

気がついたら1週間も記事を書いていなかった。とはいえ、新しいことを書く余裕がないので、古いネタを探してきた。
筆者はあまり使わない、Webでの利用時のサンプルです。


ブラウザから文書を開いた場合は、NotesUIDocumentクラスが使えない。
その代わり、NotesSessionクラスのDocumentContextプロパティを利用する(サンプルの太文字部分)。
取得してしまえば、NotesDocumentと同じ扱いでよい。

下記のプログラムはブラウザでデータベースの文書を開いたら、
それに対する返答文書を自動で作成する。
返答文書には、「アクセス日時」「アクセスユーザー」「アクセスした文書のSubject」をセットする。
というものである。

---------------------------------------------------------------------
Sub Initialize
'DB環境の定義
'sessionはセッション、dbは現在のデータベース、condocはWeb上での現在の文書、docは返答文書(ログ)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim condoc As NotesDocument
Dim doc As NotesDocument

'現在の文書を取得
Set db = session.CurrentDatabase
Set condoc = session.DocumentContext

'新規文書かどうかのチェック
If condoc.IsNewNote Then
Exit Sub
End If

'返答文書を作成(MakeResponseが返答文書を作成するメソッド)
Set doc = db.CreateDocument
Call doc.MakeResponse( condoc )

'返答文書に値をセット(現在の文書の内容はDocumentContextから取得)
doc.Form = "Log"
doc.Date = Now
doc.Who = condoc.From
doc.Subject = condoc.Subject

'返答文書を保存
Call doc.Save(True, False)
End Sub

Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2009年3月3日火曜日

リッチテキストが破壊される・・・その後

このブログを開始して間もない頃に書いた不具合ですが、やっとこさ解決しました!!!

リッチテキストが壊れる
リッチテキストが壊れる・・・その後
リッチテキストが壊れる・・・途中経過

障害が発生するバージョンは5.0.x以降だそうです(委細は不明)。
かなり根が深い問題のようでした。
結果として8.5で解決したという連絡をいただきました。しかし、それでは現行のサポートバージョンである6.5.x、7.0.x、8.0.xに対応していないということで各バージョンについてHotFixを提供してもらう運びになりました。
※HotFixはLotus Domino(サーバ)用です。

ですが・・・
8.5で修正したものを元に下位バージョンでの修正を行ったため、6.5.xでの修正は無理!と言われてしまいました。なお、HotFixは7.0.3及び8.0.2に対してのものです。
LotusScriptでリッチテキストを扱うプログラムを作成している人はDominoのバージョンに注意してください。
ちなみに、この障害は7.0.4及び8.0.3で修正される予定とのことです。

発行されたSPRは2つで、TSOE7DA7ANとHNAA7G58U3です。
TSOE7DA7ANは英語のドキュメントとして公開されています。
http://www-01.ibm.com/support/docview.wss?rs=475&context=SSKTWP&dc=DA400&uid=sim40973485e548e5a668525754b0036596c&loc=en_US&cs=UTF-8&lang=en&rss=ct475lotus
また、HNAA7G58U3については、
http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/732659
に掲載されました。


ともかく、約1年にわたるトラブルはこれを持って解決となります。
IBM様ありがとうございました。