プロフィールフォーム

プロフィールフォームは、システムごとに 1 つ、またはキーごとに 1 つの特別な文書 (設定情報などの保存に使用) を作成する際に使用します。プロフィール文書は、@Command([EditProfileDocument])@GetProfileField@SetProfileField、LotusScript® メソッド NotesDatabase GetProfileDocument、または NotesUIWorkspace EditProfile を使用して作成およびアクセスできます。プロフィール文書は、最初にアクセスしたときに作成されます。

プロフィール文書は、いくつかの点で他の文書とは異なっています。

  • プロフィール文書はビューには表示されず、前述のように式やスクリプトを通じてのみアクセスできます。
  • プロフィール文書は、複製選択式によって選択されていない場合でも複製されます。
  • プロフィール文書は、パフォーマンスの最適化のためにクライアントのメモリにキャッシュされます。クライアントを終了して再起動するまで、ユーザーには変更内容が表示されません。
  • Web サーバーにもプロフィール文書がキャッシュされます。複数のサーバースレッド用に複数のコピーがキャッシュされる場合もあります。Web アプリケーションがプロフィール文書への変更を反映するまで、少し時間がかかることがあります。

このようにキャッシュ処理によって変更の反映に時間がかかるため、内容が頻繁に変更される場合はプロフィール文書を使用しないでください。特に、連番処理の場合には使用しないでください。

プロフィール文書を指定する場合は、名前と任意のキーのいずれかまたは両方を指定します。キーを指定しない場合、プロフィールはシステム単位に割り当てられることになり、すべてのユーザーによって共有されます。プロフィール文書は、次のような情報を保存する場合によく使用されます。

  • キーワード値の一覧。データベースの設計を変更することなく、キーワード値を更新することができます。
  • 検索する必要がある他のデータベースのレプリカ ID またはファイルパス。これは、相互に参照するデータベースグループを設計する際に便利ですが、このグループの設計は一連のテンプレートによって管理されます (そのため、他の部門や顧客向けに同様のデータベースグループを簡単に作成することができます)。
  • 問題発生時に通知する電子メールアドレス。
  • リッチテキストフィールドなど、特定のフィールドのデフォルト値 (ユーザー入力用にリッチテキストフィールドにコピーされる空白の表など)。

キーを指定する場合、通常は @UserName の値になります。こうした文書は、個人プロフィール文書と呼ばれます。次のような情報を保存する場合に便利です。

  • チーム一覧など、ユーザーエクスペリエンスをカスタマイズする個人設定。
  • 特定のフィールドに最近入力された値の一覧。ユーザーによるフォーム入力の際に、入力補完機能によって使用されます。
  • 特定のメッセージに対して [今後このメッセージを表示しない] チェックボックスをオンにしたかどうかなど、ユーザーごとの個人設定。

クライアントアプリケーションにおける個人プロフィールの場合、キャッシュが問題になることは基本的にありません。通常の場合、プロフィールを読み込んでいるユーザーはプロフィールを更新したユーザーと同じであるため、キャッシュは最新の状態になっているからです。

プロフィールフォームは通常のフォームと同じです。フォームの用途 (プロフィール文書の表示と編集) を明確にするため、プロフィールフォームという用語を使用しています。