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
25
HCL Notes/Domino 14.5 EAP Drop1
harunakano
1
170
ブラウザでNotesアプリ開発!?HCL Nomad Designer で始めよう!
harunakano
0
88
HCL Domino 14.0 AutoUpdate を試してみた
harunakano
0
3.4k
HCL Nomad Designer 1.0.11
harunakano
0
290
HCL Notes 14.0 「スタイルの変更」で「3 設定の確認」を深掘り
harunakano
0
8.1k
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
Ruby on cygwin 2025-02
fd0
0
150
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
760
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
940
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
130
昭和の職場からアジャイルの世界へ
kumagoro95
1
400
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
140
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.4k
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
160
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
150
AIプログラミング雑キャッチアップ
yuheinakasaka
1
140
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.5k
Spring gRPC について / About Spring gRPC
mackey0225
0
230
Featured
See All Featured
Building Applications with DynamoDB
mza
93
6.2k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
The Invisible Side of Design
smashingmag
299
50k
A Modern Web Designer's Workflow
chriscoyier
693
190k
4 Signs Your Business is Dying
shpigford
182
22k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Code Reviewing Like a Champion
maltzj
521
39k
Six Lessons from altMBA
skipperchong
27
3.6k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Thoughts on Productivity
jonyablonski
69
4.5k
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クライアントやどのビューにも表示されない • プログラムによるアクセスを想定して設計されている • これまでのプロフィール文書を機能的に置き換えるもの