見出し画像

[基礎]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を起動し、適当なアプリ内の適当なビューを選びます。

画像2

画面右側のアクションペインで、右クリック-[アクションの作成]でアクションボタンを作り、名前を付けます。ここでは「NoteID」としました。

画像3

画面下のスクリプトエリアで、式言語で次のプログラムを書きます。

画像4
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のアイコンを右クリックし、[複製]-[レプリカの作成]を選びます。

画像1

するとアイコンの右上に、小さな灰色の点のようなものが出現します。ここをクリックして、

画像5

新しく作成したレプリカのDB(上から二番目)を選択(レ点を入れる)します。

画像6

この状態で、DBをダブルクリックして開きます。すると当然、DBが一つ開きます。

画像7

先ほどの右上の灰色の点をクリックし、今度は一番目のDB(オリジナルのDB)を選択し、またアイコンをクリックしてDBを開きます。

画像8

すると次のように、タブが2つできます。2つのタブで同じDBを開いているように見えますが、正確にはオリジナルのDBと、それを複製したレプリカDBをそれぞれ開いています。

画像9

NoteIDとUNIDを確認してみましょう。まずオリジナルのDB。

ここから先は

64字 / 4画像

¥ 110

サポートいただければ、記事をもっと充実することができます