Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プロフィール文書って何?
Search
Haruyuki Nakano
May 13, 2022
Programming
0
560
プロフィール文書って何?
プロフィール文書は、HCL Notes/Domino のアプリケーション内に作成可能な文書です。
この資料では、その特徴などをまとめています。
第35回「のの会」で使用しました。
Haruyuki Nakano
May 13, 2022
Tweet
Share
More Decks by Haruyuki Nakano
See All by Haruyuki Nakano
DAOSのおさらいと進化について
harunakano
0
47
HCL Domino 14.5 EAP2 Domino IQ について
harunakano
0
370
HCL Notes/Domino 14.5 EAP Drop1
harunakano
1
310
ブラウザでNotesアプリ開発!?HCL Nomad Designer で始めよう!
harunakano
0
200
HCL Domino 14.0 AutoUpdate を試してみた
harunakano
0
5.7k
HCL Nomad Designer 1.0.11
harunakano
0
360
HCL Notes 14.0 「スタイルの変更」で「3 設定の確認」を深掘り
harunakano
0
10k
HCL Notes 14.0 EA2 Domino Restyle を試してみた
harunakano
0
590
HCL Nomad 1.0.7 Restyle
harunakano
0
260
Other Decks in Programming
See All in Programming
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
400
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
2.2k
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
290
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
180
PipeCDのプラグイン化で目指すところ
warashi
1
280
Hack Claude Code with Claude Code
choplin
4
2.2k
生成AI時代のコンポーネントライブラリの作り方
touyou
1
230
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
170
効率的な開発手段として VRTを活用する
ishkawa
0
140
AIともっと楽するE2Eテスト
myohei
7
2.7k
GPUを計算資源として使おう!
primenumber
1
120
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Adopting Sorbet at Scale
ufuk
77
9.5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Faster Mobile Websites
deanohume
307
31k
Designing Experiences People Love
moore
142
24k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Speed Design
sergeychernyshev
32
1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
GraphQLとの向き合い方2022年版
quramy
49
14k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Transcript
プロフィール文書って何? 12.0.1 で登場予定の新機能を理解するために復習しましょう 中野 晴幸 Haruyuki Nakano harunakano.blogspot.com (blog) @harunakano
(twitter)
プロフィール文書の 特徴 通常の「文書」との違いとは
特徴 • ビューに表示できない/フォルダへ追加できない • 通常の文書検索では探せない • 文書数にカウントされない • プログラムによるアクセス •
高速アクセス • 競合文書が発生しない 隠し文書 と表現されることも!?
ビューに表示できない/フォルダへ追加できない SELECT文にプロフィール文 書用のフォームを指定しても @All でも、プロフィール文書 は表示されない ※プロフィール文書上のアイテムの サマリーフラグがFalseという訳ではない
通常の文書検索では探せない • フォルダ/ビューに表示できない • 全文索引に含まれない ビュー検索、全文検索では文書が探せない
文書数にカウントされない 全文書の数より プロフィール文書の数が多い
プログラムによるアクセス • フォーム名とユニークキーを指定して文書にアクセス • 値の取得が容易 • 文書が存在しなければ自動作成される いかにも作成しそうな名称の(”CreateProfileDocument” のような)コマンド/メソッドは存在しない
高速アクセス • アクセスした文書をクライアントのキャッシュに保持する • データベースを開いている間はキャッシュを参照 一方の更新内容が他方へ反映されにくいため、更新が頻繁に発生する情報の共有に向か ない
競合文書が発生しない • フォームのプロパティで「競合の作成」を選択している場合 であっても、競合文書は作成されない仕様です 競合の扱いは文書の $ConflictAction アイテムの値によって管理 されますが、プロフィール文書では通常の文書と異なる値が設定さ れます。 「競合の作成」を選択していた場合でも強制的に内部で「競合を作
成しない」を選択した状態となり、「競合のマージ」を選択してい た場合も強制的に内部で「マージ/競合なし」を選択した状態とな ります。 競合が発生する状況になった場合は、更新日時が新しい方の文書が 保存されます。
使用例 データベースの使用に必要な各種設定値を保存する
使用例 • メールDB カレンダープロフィール カラープロフィール iNotesプロフィール アーカイブデータベースプロフィール • ディスカッションDB アーカイブデータベースプロフィール
• スクリプトデバッガのブレイクポイント 「各種設定の保存」といえば notes.ini もこのような使い方ができます。 どんな違いがあるのでしょうか?
notes.ini との比較 notes.ini • データベース間で設定情報の共有が可能 • ユーザー自身による設定の閲覧・修正・ 削除が可能 • 端末ごとの設定のため、複数のユーザー
アカウントを使い分ける場合に注意が必 要 • 自分が使用する複数の端末や他のユー ザーとの間で設定の共有が困難 • 端末の入れ替えや機種変更などで設定が 消える可能性あり プロフィール文書 • 端末間/ユーザー間で設定情報の共有が 可能 • 複製されるためレプリカ間の共有が可能 • 可視性に難あり。設定をユーザー自身で 自由に閲覧・修正させるにはフォーム等 のアクセス手段の構築が必要 • 削除に難あり。多少プログラミングが必 要
プログラミング プロフィール文書を使ってみよう
プロフィール文書(NotesDocument)の プロパティ IsProfile True NameOfProfile プロフィール名 Key ユニークキー NotesPeek では
ユニークキーを user-name と表示します
プロフィール文書の 作成・既存文書の編集 LotusScript set notesDocument = notesDatabase.GetProfileDocument( profilename$ [, uniqueKey$]
) set NotesUIDocument = notesUIWorkspace.EditProfile( profilename$ [, uniqueKey$] ) @コマンド/@関数 @Command( [EditProfileDocument] ; profilename; uniqueKey ) ※すぐに実行される @Command( [EditProfile] ; profilename; uniqueKey ) ※すべての関数の実行された後に実行される • プロフィール名とユニークキーの組合せで1文書だけ作成可能(同じ組み合わせの文 書を複数作成できない) • CreateProfileDocument のような作成に特化したメソッドが無い • Compose @コマンドではプロフィール文書を作成できない • GetProfileDocument で取得する文書の IsNewNote プロパティは、プロフィール文 書が存在しなかった場合は True を返す
プロフィール文書コレクションの取得 LotusScript set notesDocumentCollection = notesDatabase.GetProfileDocCollection( profilename$ ) • プロフィール名が同じプロフィール文書のコレクションを取得する
値の取得・更新 LotusScript ※通常の NotesDocument クラスと同様の操作のため割愛 @コマンド/@関数 @GetProfileField( profilename; fieldname; uniqueKey
) @SetProfileField( profilename; fieldname; value; uniqueKey )
次回予告 冒頭で「今回は 12.0.1 の新機能 を知るための復習」と言いました が…
Named Document (名前付き文書)とは • 12.0.1 では Named Document(名前付き文書)と 呼ばれる新しいタイプの文書を作成および管理するため の新しいメソッドが用意されている
• NoteID ではなく名前を持つ • Notesクライアントやどのビューにも表示されない • プログラムによるアクセスを想定して設計されている • これまでのプロフィール文書を機能的に置き換えるもの