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
500
プロフィール文書って何?
プロフィール文書は、HCL Notes/Domino のアプリケーション内に作成可能な文書です。
この資料では、その特徴などをまとめています。
第35回「のの会」で使用しました。
Haruyuki Nakano
May 13, 2022
Tweet
Share
More Decks by Haruyuki Nakano
See All by Haruyuki Nakano
HCL Domino 14.5 EAP2 Domino IQ について
harunakano
0
26
HCL Notes/Domino 14.5 EAP Drop1
harunakano
1
170
ブラウザでNotesアプリ開発!?HCL Nomad Designer で始めよう!
harunakano
0
89
HCL Domino 14.0 AutoUpdate を試してみた
harunakano
0
3.5k
HCL Nomad Designer 1.0.11
harunakano
0
290
HCL Notes 14.0 「スタイルの変更」で「3 設定の確認」を深掘り
harunakano
0
8.2k
HCL Notes 14.0 EA2 Domino Restyle を試してみた
harunakano
0
490
HCL Nomad 1.0.7 Restyle
harunakano
0
240
添付された日本語テキストファイルを全文検索でヒットさせる方法
harunakano
0
16k
Other Decks in Programming
See All in Programming
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
Datadog Workflow Automation で圧倒的価値提供
showwin
1
140
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
150
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
240
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
150
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.6k
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
16k
Jakarta EE meets AI
ivargrimstad
0
310
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
Ruby on cygwin 2025-02
fd0
0
180
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
850
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
220
Featured
See All Featured
Bash Introduction
62gerente
611
210k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Building Your Own Lightsaber
phodgson
104
6.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
640
Docker and Python
trallard
44
3.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
GraphQLとの向き合い方2022年版
quramy
44
14k
The Invisible Side of Design
smashingmag
299
50k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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クライアントやどのビューにも表示されない • プログラムによるアクセスを想定して設計されている • これまでのプロフィール文書を機能的に置き換えるもの