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
590
プロフィール文書って何?
プロフィール文書は、HCL Notes/Domino のアプリケーション内に作成可能な文書です。
この資料では、その特徴などをまとめています。
第35回「のの会」で使用しました。
Haruyuki Nakano
May 13, 2022
Tweet
Share
More Decks by Haruyuki Nakano
See All by Haruyuki Nakano
LotusScript でビューへアクセスする方法 #2
harunakano
0
20
LotusScript でビューへアクセスする方法 #1
harunakano
0
31
LotusScript で文書へアクセスする方法
harunakano
0
71
DAOSのおさらいと進化について
harunakano
0
87
HCL Domino 14.5 EAP2 Domino IQ について
harunakano
0
480
HCL Notes/Domino 14.5 EAP Drop1
harunakano
1
360
ブラウザでNotesアプリ開発!?HCL Nomad Designer で始めよう!
harunakano
0
270
HCL Domino 14.0 AutoUpdate を試してみた
harunakano
0
6.9k
HCL Nomad Designer 1.0.11
harunakano
0
380
Other Decks in Programming
See All in Programming
CSC305 Lecture 06
javiergs
PRO
0
250
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
440
All About Angular's New Signal Forms
manfredsteyer
PRO
0
180
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
530
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
3
610
Swift Concurrency - 状態監視の罠
objectiveaudio
2
540
私はどうやって技術力を上げたのか
yusukebe
44
19k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
670
CSC305 Lecture 08
javiergs
PRO
0
220
Software Architecture
hschwentner
6
2.3k
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
340
CSC305 Lecture 04
javiergs
PRO
0
270
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Fireside Chat
paigeccino
40
3.7k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Producing Creativity
orderedlist
PRO
347
40k
For a Future-Friendly Web
brad_frost
180
10k
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クライアントやどのビューにも表示されない • プログラムによるアクセスを想定して設計されている • これまでのプロフィール文書を機能的に置き換えるもの