[基礎]UNIDとNoteIDの違いは?
はじめに
個々の文書に割り当てられたIDの代表的なものに、UNIDとNoteIDがあります。UNIDとNoteIDの違いは何でしょう?
一言で表すと、レプリカを作成し、参照したときの挙動が異なります。
UNID:レプリカ元のDBと、レプリカ先DBで、文書のIDは同じ。レプリカ元とレプリカ先のDB間で複製中にIDの重複が判明したときは変更されることがある。
NoteID:レプリカ元のDBと、レプリカ先DBで、文書のIDは異なる。個々のDB内で固有のID。IDは途中で変わらない。
UNIDの取得方法の記事はこちらになります。
実際に試してみます。
UNIDとNoteIDを比較するアクションを作る
簡単なプログラムを作って確認します。
前提として、何らかのアプリの原型を作成済であるとします。
Domino Designerを起動し、適当なアプリ内の適当なビューを選びます。
画面右側のアクションペインで、右クリック-[アクションの作成]でアクションボタンを作り、名前を付けます。ここでは「NoteID」としました。
画面下のスクリプトエリアで、式言語で次のプログラムを書きます。
id := @NoteID;
@Prompt([Ok];"idは?"; id);
id := @Text(@DocumentUniqueID);
@Prompt([Ok];"idは?"; id)
コードを解説します。1行目で変数idに、@NoteIDで取得したNoteIDを代入しています。ビュー画面で選択中の文書のNoteIDを取得します。
2行目@Promptでは、左から3番目の引数である「id」を、ポップアップして表示します。
3行目は文書のユニバーサルIDを取得する式言語です。なお@Textを省くと表示されません。
4行目は左から3番目の引数である「id」を、ポップアップして表示します。ただし、idの中身は2行目とは異なり、選択中の文書のユニバーサルIDとなっています。
これまでの変更を保存して閉じます。
レプリカを作る
次は、先ほどのプログラムを保存したDBの、レプリカを作ります。まず[ワークスペース]画面で、DBのアイコンを右クリックし、[複製]-[レプリカの作成]を選びます。
するとアイコンの右上に、小さな灰色の点のようなものが出現します。ここをクリックして、
新しく作成したレプリカのDB(上から二番目)を選択(レ点を入れる)します。
この状態で、DBをダブルクリックして開きます。すると当然、DBが一つ開きます。
先ほどの右上の灰色の点をクリックし、今度は一番目のDB(オリジナルのDB)を選択し、またアイコンをクリックしてDBを開きます。
すると次のように、タブが2つできます。2つのタブで同じDBを開いているように見えますが、正確にはオリジナルのDBと、それを複製したレプリカDBをそれぞれ開いています。
NoteIDとUNIDを確認してみましょう。まずオリジナルのDB。
ここから先は
¥ 110
サポートいただければ、記事をもっと充実することができます