2006年08月15日

プロフィール文書に関する愛憎劇 (2)

プロフィール文書に関する愛憎劇 (1) のようにプロフィール文書の扱いに悩んでいたのは、実は過去のこと。 最近の僕は 「通常の文書とプロフィール文書のハイブリッド」 な設計にしています。

仕組みは簡単で、管理ビューを1つ作成し、設定情報を通常の文書として管理するようにします。 で、その文書の更新の際に、Postsave で変更をプロフィール文書に反映させます。 例えば以下のような感じで。
Sub Postsave(Source As Notesuidocument)
Dim session As New NotesSession
Dim cDB As NotesDatabase
Dim cDoc As NotesDocument
Dim pDoc As NotesDocument

Set cDB = session.CurrentDatabase
Set cDoc = Source.Document

Set pDoc = cDB.GetProfileDocument("fProfile", cDoc.ID(0))
If Not(pDoc Is Nothing) Then
Call cDoc.CopyAllItems(pDoc, True)
Call pDoc.RemoveItem("History")
Call pDoc.Save(False, False)
End If
End Sub
何か問題が発生したとしても、通常の文書がマスターとして残っています。 問題発生時は、それをもとにプロフィール文書を更新/再作成できるというわけです。

通常の文書なので文書コピーができるのもポイントです。 テスト環境から本番環境に設定を反映させるのも、非常に楽になりました。 お勧めです。
posted by yamachan at 00:17| Comment(0) | TrackBack(0) | my設計パターン
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/1120873

この記事へのトラックバック